Compare commits
7 commits
feat/admin
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| a64386db45 | |||
| 3397a00d42 | |||
| 8f36fa8fd3 | |||
| 69af91ad84 | |||
| fcfe53e3cf | |||
| f23e3cc1b7 | |||
| 9a505106f6 |
39 changed files with 7978 additions and 377 deletions
|
|
@ -1,2 +1,2 @@
|
||||||
[icinga]
|
[icinga]
|
||||||
c7-life-noc-01 ansible_host=192.168.12.40 ansible_user=ansible
|
c7-life-noc-01 ansible_host=Life-NOC.chezlepro.ca ansible_user=ansible
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,8 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: preserve
|
mode: preserve
|
||||||
|
notify:
|
||||||
|
- restart life-noc input api
|
||||||
|
|
||||||
- name: generate icinga services from domains
|
- name: generate icinga services from domains
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ INFRASTRUCTURE-CHEZLEPRO = life-noc;infrastructure-chezlepro-verification-proxmo
|
||||||
RESEAU-CHEZLEPRO = life-noc;reseau-chezlepro-verification-firewalls & life-noc;reseau-chezlepro-verification-vpn-openvpn & life-noc;reseau-chezlepro-verification-crl-certificats & life-noc;reseau-chezlepro-verification-switches & life-noc;reseau-chezlepro-verification-vlans-segmentation & life-noc;reseau-chezlepro-verification-dns & life-noc;reseau-chezlepro-verification-dynamic-dns & life-noc;reseau-chezlepro-audit-regles-firewall & life-noc;reseau-chezlepro-verification-geoblocking & life-noc;reseau-chezlepro-verification-certificats-publics
|
RESEAU-CHEZLEPRO = life-noc;reseau-chezlepro-verification-firewalls & life-noc;reseau-chezlepro-verification-vpn-openvpn & life-noc;reseau-chezlepro-verification-crl-certificats & life-noc;reseau-chezlepro-verification-switches & life-noc;reseau-chezlepro-verification-vlans-segmentation & life-noc;reseau-chezlepro-verification-dns & life-noc;reseau-chezlepro-verification-dynamic-dns & life-noc;reseau-chezlepro-audit-regles-firewall & life-noc;reseau-chezlepro-verification-geoblocking & life-noc;reseau-chezlepro-verification-certificats-publics
|
||||||
SECURITE-CHEZLEPRO = life-noc;securite-chezlepro-verification-mises-a-jour-securite & life-noc;securite-chezlepro-audit-comptes-acces & life-noc;securite-chezlepro-verification-ids-snort & life-noc;securite-chezlepro-revue-pki-privee & life-noc;securite-chezlepro-revue-politiques-securite & life-noc;securite-chezlepro-verification-sauvegardes-configuration
|
SECURITE-CHEZLEPRO = life-noc;securite-chezlepro-verification-mises-a-jour-securite & life-noc;securite-chezlepro-audit-comptes-acces & life-noc;securite-chezlepro-verification-ids-snort & life-noc;securite-chezlepro-revue-pki-privee & life-noc;securite-chezlepro-revue-politiques-securite & life-noc;securite-chezlepro-verification-sauvegardes-configuration
|
||||||
EXPLOITATION-CHEZLEPRO = life-noc;exploitation-chezlepro-revision-playbooks-ansible & life-noc;exploitation-chezlepro-verification-inventaires-ansible & life-noc;exploitation-chezlepro-revision-documentation-technique & life-noc;exploitation-chezlepro-verification-procedures-reprise & life-noc;exploitation-chezlepro-revue-capacite-ressources & life-noc;exploitation-chezlepro-verification-jobs-automatises
|
EXPLOITATION-CHEZLEPRO = life-noc;exploitation-chezlepro-revision-playbooks-ansible & life-noc;exploitation-chezlepro-verification-inventaires-ansible & life-noc;exploitation-chezlepro-revision-documentation-technique & life-noc;exploitation-chezlepro-verification-procedures-reprise & life-noc;exploitation-chezlepro-revue-capacite-ressources & life-noc;exploitation-chezlepro-verification-jobs-automatises
|
||||||
OBLIGATIONS-CHEZLEPRO = life-noc;obligations-chezlepro-verification-registraire-entreprise & life-noc;obligations-chezlepro-verification-declarations-taxes & life-noc;obligations-chezlepro-verification-dossier-comptable-entreprise & life-noc;obligations-chezlepro-verification-facturation-clients & life-noc;obligations-chezlepro-verification-paiements-fournisseurs & life-noc;obligations-chezlepro-verification-contrats-ententes & life-noc;obligations-chezlepro-verification-assurances-entreprise & life-noc;obligations-chezlepro-archivage-documents-entreprise
|
OBLIGATIONS-CHEZLEPRO = life-noc;obligations-chezlepro-verification-dossier-comptable-entreprise & life-noc;obligations-chezlepro-verification-facturation-clients & life-noc;obligations-chezlepro-verification-paiements-fournisseurs & life-noc;obligations-chezlepro-verification-contrats-ententes & life-noc;obligations-chezlepro-verification-registraire-entreprise & life-noc;obligations-chezlepro-verification-declarations-taxes & life-noc;obligations-chezlepro-verification-assurances-entreprise & life-noc;obligations-chezlepro-archivage-documents-entreprise
|
||||||
ACTIFS-CHEZLEPRO = life-noc;actifs-chezlepro-revision-inventaire-materiel & life-noc;actifs-chezlepro-verification-amortissables & life-noc;actifs-chezlepro-verification-serveurs-et-composants & life-noc;actifs-chezlepro-verification-reserve-pieces & life-noc;actifs-chezlepro-revision-actifs-transferts
|
ACTIFS-CHEZLEPRO = life-noc;actifs-chezlepro-revision-inventaire-materiel & life-noc;actifs-chezlepro-verification-amortissables & life-noc;actifs-chezlepro-verification-serveurs-et-composants & life-noc;actifs-chezlepro-verification-reserve-pieces & life-noc;actifs-chezlepro-revision-actifs-transferts
|
||||||
PROJETS = life-noc;projets-revision-life-noc & life-noc;projets-revision-alliance-boreale & life-noc;projets-revision-erplibre & life-noc;projets-revision-semence-numerique & life-noc;projets-revision-ortrux-1 & life-noc;projets-revision-district16
|
PROJETS = life-noc;projets-revision-life-noc & life-noc;projets-revision-alliance-boreale & life-noc;projets-revision-erplibre & life-noc;projets-revision-semence-numerique & life-noc;projets-revision-ortrux-1 & life-noc;projets-revision-district16
|
||||||
COMMUNAUTE = life-noc;communaute-verification-outils-aa & life-noc;communaute-verification-espace-87-16 & life-noc;communaute-verification-salles-visio-groupes & life-noc;communaute-verification-depots-rapports-rsg & life-noc;communaute-revision-outils-communication-communaute
|
COMMUNAUTE = life-noc;communaute-verification-outils-aa & life-noc;communaute-verification-espace-87-16 & life-noc;communaute-verification-salles-visio-groupes & life-noc;communaute-verification-depots-rapports-rsg & life-noc;communaute-revision-outils-communication-communaute
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ def parse_date(value: str) -> datetime:
|
||||||
return datetime.strptime(value, "%Y-%m-%d").replace(tzinfo=timezone.utc)
|
return datetime.strptime(value, "%Y-%m-%d").replace(tzinfo=timezone.utc)
|
||||||
|
|
||||||
|
|
||||||
def load_input_value(inputs_file: str, item_key: str) -> str:
|
def load_input_item(inputs_file: str, item_key: str) -> dict:
|
||||||
path = Path(inputs_file)
|
path = Path(inputs_file)
|
||||||
if not path.exists():
|
if not path.exists():
|
||||||
raise ValueError(f"inputs file introuvable: {inputs_file}")
|
raise ValueError(f"inputs file introuvable: {inputs_file}")
|
||||||
|
|
@ -30,10 +30,13 @@ def load_input_value(inputs_file: str, item_key: str) -> str:
|
||||||
item = data[item_key]
|
item = data[item_key]
|
||||||
if not isinstance(item, dict):
|
if not isinstance(item, dict):
|
||||||
raise ValueError(f"entrée invalide pour item_key: {item_key}")
|
raise ValueError(f"entrée invalide pour item_key: {item_key}")
|
||||||
|
return item
|
||||||
|
|
||||||
|
|
||||||
|
def load_input_value(inputs_file: str, item_key: str) -> str:
|
||||||
|
item = load_input_item(inputs_file, item_key)
|
||||||
if "value" not in item:
|
if "value" not in item:
|
||||||
raise ValueError(f"champ 'value' absent pour item_key: {item_key}")
|
raise ValueError(f"champ 'value' absent pour item_key: {item_key}")
|
||||||
|
|
||||||
return str(item["value"]).strip()
|
return str(item["value"]).strip()
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -63,21 +66,112 @@ def main() -> int:
|
||||||
args = ap.parse_args()
|
args = ap.parse_args()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if args.source_type != "manual_date":
|
if args.probe_type in {"elapsed_time", "days_until_due"}:
|
||||||
exit_with(2, f"CRITICAL - source_type non supporté: {args.source_type}")
|
if args.source_type != "manual_date":
|
||||||
|
exit_with(2, f"CRITICAL - source_type non supporté: {args.source_type}")
|
||||||
|
if args.unit != "days":
|
||||||
|
exit_with(2, f"CRITICAL - unité non supportée: {args.unit}")
|
||||||
|
|
||||||
if args.unit != "days":
|
if args.inputs_file and args.item_key:
|
||||||
exit_with(2, f"CRITICAL - unité non supportée: {args.unit}")
|
source_value = load_input_value(args.inputs_file, args.item_key)
|
||||||
|
elif args.source_value:
|
||||||
|
source_value = args.source_value
|
||||||
|
else:
|
||||||
|
raise ValueError("aucune source fournie: inputs-file/item-key ou source-value requis")
|
||||||
|
|
||||||
|
dt = parse_date(source_value)
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
|
||||||
|
elif args.probe_type == "elapsed_distance":
|
||||||
|
if args.source_type != "manual_counter":
|
||||||
|
exit_with(2, f"CRITICAL - source_type non supporté: {args.source_type}")
|
||||||
|
if args.unit != "km":
|
||||||
|
exit_with(2, f"CRITICAL - unité non supportée: {args.unit}")
|
||||||
|
|
||||||
|
if args.inputs_file and args.item_key:
|
||||||
|
item = load_input_item(args.inputs_file, args.item_key)
|
||||||
|
current_value = float(str(item.get("value", "")).strip())
|
||||||
|
reference_value = float(str(item.get("reference_value", "")).strip())
|
||||||
|
else:
|
||||||
|
raise ValueError("manual_counter exige inputs-file et item-key")
|
||||||
|
|
||||||
|
metric = current_value - reference_value
|
||||||
|
|
||||||
|
if args.unknown_lt is not None and metric < args.unknown_lt:
|
||||||
|
exit_with(3, f"UNKNOWN - {args.label}: écart compteur invalide ({metric:.0f} km)")
|
||||||
|
if args.critical_gte is not None and metric >= args.critical_gte:
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: {metric:.0f} km")
|
||||||
|
if args.warning_gte is not None and metric >= args.warning_gte:
|
||||||
|
exit_with(1, f"WARNING - {args.label}: {metric:.0f} km")
|
||||||
|
if args.ok_gte is not None and metric >= args.ok_gte:
|
||||||
|
exit_with(0, f"OK - {args.label}: {metric:.0f} km")
|
||||||
|
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: seuils incohérents")
|
||||||
|
|
||||||
|
elif args.probe_type == "remaining_quantity":
|
||||||
|
if args.source_type != "manual_value":
|
||||||
|
exit_with(2, f"CRITICAL - source_type non supporté: {args.source_type}")
|
||||||
|
if args.unit not in {"%", "units", "litres"}:
|
||||||
|
exit_with(2, f"CRITICAL - unité non supportée: {args.unit}")
|
||||||
|
|
||||||
|
if args.inputs_file and args.item_key:
|
||||||
|
item = load_input_item(args.inputs_file, args.item_key)
|
||||||
|
metric = float(str(item.get("value", "")).strip())
|
||||||
|
elif args.source_value:
|
||||||
|
metric = float(str(args.source_value).strip())
|
||||||
|
else:
|
||||||
|
raise ValueError("manual_value exige inputs-file/item-key ou source-value")
|
||||||
|
|
||||||
|
unit_suffix = args.unit
|
||||||
|
|
||||||
|
if args.critical_lt is not None and metric < args.critical_lt:
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: {metric:.1f} {unit_suffix} restants")
|
||||||
|
if args.warning_lt is not None and metric < args.warning_lt:
|
||||||
|
exit_with(1, f"WARNING - {args.label}: {metric:.1f} {unit_suffix} restants")
|
||||||
|
if args.ok_gte is not None and metric >= args.ok_gte:
|
||||||
|
exit_with(0, f"OK - {args.label}: {metric:.1f} {unit_suffix} restants")
|
||||||
|
if args.unknown_gte is not None and metric >= args.unknown_gte:
|
||||||
|
exit_with(3, f"UNKNOWN - {args.label}: {metric:.1f} {unit_suffix} restants")
|
||||||
|
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: seuils incohérents")
|
||||||
|
|
||||||
|
elif args.probe_type == "current_value":
|
||||||
|
if args.source_type != "manual_value":
|
||||||
|
exit_with(2, f"CRITICAL - source_type non supporté: {args.source_type}")
|
||||||
|
if args.unit not in {"%", "units", "litres", "volts", "watts"}:
|
||||||
|
exit_with(2, f"CRITICAL - unité non supportée: {args.unit}")
|
||||||
|
|
||||||
|
if args.inputs_file and args.item_key:
|
||||||
|
item = load_input_item(args.inputs_file, args.item_key)
|
||||||
|
metric = float(str(item.get("value", "")).strip())
|
||||||
|
elif args.source_value:
|
||||||
|
metric = float(str(args.source_value).strip())
|
||||||
|
else:
|
||||||
|
raise ValueError("manual_value exige inputs-file/item-key ou source-value")
|
||||||
|
|
||||||
|
unit_suffix = args.unit
|
||||||
|
|
||||||
|
if args.critical_lt is not None and metric < args.critical_lt:
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.critical_gte is not None and metric >= args.critical_gte:
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.warning_lt is not None and metric < args.warning_lt:
|
||||||
|
exit_with(1, f"WARNING - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.warning_gte is not None and metric >= args.warning_gte:
|
||||||
|
exit_with(1, f"WARNING - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.ok_gte is not None and metric >= args.ok_gte:
|
||||||
|
exit_with(0, f"OK - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.ok_lt is not None and metric < args.ok_lt:
|
||||||
|
exit_with(0, f"OK - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.unknown_gte is not None and metric >= args.unknown_gte:
|
||||||
|
exit_with(3, f"UNKNOWN - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
if args.unknown_lt is not None and metric < args.unknown_lt:
|
||||||
|
exit_with(3, f"UNKNOWN - {args.label}: {metric:.1f} {unit_suffix}")
|
||||||
|
|
||||||
|
exit_with(2, f"CRITICAL - {args.label}: seuils incohérents")
|
||||||
|
|
||||||
if args.inputs_file and args.item_key:
|
|
||||||
source_value = load_input_value(args.inputs_file, args.item_key)
|
|
||||||
elif args.source_value:
|
|
||||||
source_value = args.source_value
|
|
||||||
else:
|
else:
|
||||||
raise ValueError("aucune source fournie: inputs-file/item-key ou source-value requis")
|
exit_with(2, f"CRITICAL - probe_type non supporté: {args.probe_type}")
|
||||||
|
|
||||||
dt = parse_date(source_value)
|
|
||||||
now = datetime.now(timezone.utc)
|
|
||||||
|
|
||||||
if args.probe_type == "elapsed_time":
|
if args.probe_type == "elapsed_time":
|
||||||
metric = (now - dt).total_seconds() / 86400.0
|
metric = (now - dt).total_seconds() / 86400.0
|
||||||
|
|
@ -107,9 +201,6 @@ def main() -> int:
|
||||||
|
|
||||||
exit_with(2, f"CRITICAL - {args.label}: seuils incohérents")
|
exit_with(2, f"CRITICAL - {args.label}: seuils incohérents")
|
||||||
|
|
||||||
else:
|
|
||||||
exit_with(2, f"CRITICAL - probe_type non supporté: {args.probe_type}")
|
|
||||||
|
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
if args.on_error == "critical":
|
if args.on_error == "critical":
|
||||||
exit_with(2, f"CRITICAL - erreur sonde: {exc}")
|
exit_with(2, f"CRITICAL - erreur sonde: {exc}")
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,33 @@
|
||||||
|
verification-registraire-entreprise:
|
||||||
|
value: "2026-06-30"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
|
|
||||||
|
verification-declarations-taxes:
|
||||||
|
value: "2026-04-30"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
|
|
||||||
|
verification-assurances-entreprise:
|
||||||
|
value: "2026-10-01"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
|
|
||||||
verification-dossier-comptable-entreprise:
|
verification-dossier-comptable-entreprise:
|
||||||
value: '2026-03-15'
|
value: '2026-03-15'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
origin: seed_from_legacy_date
|
origin: seed_from_legacy_date
|
||||||
|
|
||||||
verification-facturation-clients:
|
verification-facturation-clients:
|
||||||
value: '2026-03-10'
|
value: '2026-03-10'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
origin: seed_from_legacy_date
|
origin: seed_from_legacy_date
|
||||||
|
|
||||||
verification-paiements-fournisseurs:
|
verification-paiements-fournisseurs:
|
||||||
value: '2026-03-10'
|
value: '2026-03-10'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
origin: seed_from_legacy_date
|
origin: seed_from_legacy_date
|
||||||
|
|
||||||
archivage-documents-entreprise:
|
archivage-documents-entreprise:
|
||||||
value: '2026-03-02'
|
value: '2026-03-02'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
verification-certificats-publics:
|
||||||
|
value: "2026-06-15"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
verification-firewalls:
|
verification-firewalls:
|
||||||
value: '2026-03-01'
|
value: '2026-03-01'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
||||||
|
verification-expiration-medicaments:
|
||||||
|
value: "2026-09-30"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
|
|
||||||
|
revision-rendez-vous-medicaux:
|
||||||
|
value: "2026-04-10"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
|
|
||||||
verification-dossier-sante:
|
verification-dossier-sante:
|
||||||
value: '2026-03-17'
|
value: '2026-03-17'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
verification-immatriculation-assurance:
|
||||||
|
value: "2026-11-30"
|
||||||
|
captured_at: "2026-03-16T18:00:00Z"
|
||||||
|
origin: manual
|
||||||
verification-balais-essuie-glace:
|
verification-balais-essuie-glace:
|
||||||
value: '2026-01-31'
|
value: '2026-01-31'
|
||||||
captured_at: '2026-03-16T00:00:00Z'
|
captured_at: '2026-03-16T00:00:00Z'
|
||||||
|
|
|
||||||
3207
domains (Copie).yaml
Normal file
3207
domains (Copie).yaml
Normal file
File diff suppressed because it is too large
Load diff
629
domains.yaml
629
domains.yaml
|
|
@ -533,6 +533,10 @@ domains:
|
||||||
unknown_gte: 90
|
unknown_gte: 90
|
||||||
policy:
|
policy:
|
||||||
on_error: critical
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-carte-assurance-maladie
|
- name: verification-carte-assurance-maladie
|
||||||
date: 2026-10-01
|
date: 2026-10-01
|
||||||
notes: Vérifier l'expiration de la carte d'assurance maladie
|
notes: Vérifier l'expiration de la carte d'assurance maladie
|
||||||
|
|
@ -1010,6 +1014,24 @@ domains:
|
||||||
- name: verification-tension-batteries
|
- name: verification-tension-batteries
|
||||||
date: 2026-03-15
|
date: 2026-03-15
|
||||||
notes: Vérification des tensions et cohérence des batteries
|
notes: Vérification des tensions et cohérence des batteries
|
||||||
|
probe:
|
||||||
|
type: current_value
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/energie.yaml
|
||||||
|
item_key: verification-tension-batteries
|
||||||
|
metric:
|
||||||
|
unit: volts
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 50.0
|
||||||
|
warning_lt: 51.2
|
||||||
|
ok_gte: 51.2
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: numeric_value
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-smartshunt
|
- name: verification-smartshunt
|
||||||
date: 2026-03-15
|
date: 2026-03-15
|
||||||
notes: Vérification SmartShunt et cohérence du monitoring
|
notes: Vérification SmartShunt et cohérence du monitoring
|
||||||
|
|
@ -1196,6 +1218,24 @@ domains:
|
||||||
- name: verification-carburant-generatrice
|
- name: verification-carburant-generatrice
|
||||||
date: 2026-04-01
|
date: 2026-04-01
|
||||||
notes: Vérification de l'approvisionnement propane lié à la génératrice
|
notes: Vérification de l'approvisionnement propane lié à la génératrice
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/resilience.yaml
|
||||||
|
item_key: verification-carburant-generatrice
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-procedure-bascule
|
- name: verification-procedure-bascule
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Réviser la procédure de bascule en mode secours
|
notes: Réviser la procédure de bascule en mode secours
|
||||||
|
|
@ -1221,6 +1261,24 @@ domains:
|
||||||
- name: verification-stock-lampes-piles
|
- name: verification-stock-lampes-piles
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérification des lampes, piles et éclairage d'urgence
|
notes: Vérification des lampes, piles et éclairage d'urgence
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/resilience.yaml
|
||||||
|
item_key: verification-stock-lampes-piles
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-trousses-urgence
|
- name: verification-trousses-urgence
|
||||||
date: 2026-05-15
|
date: 2026-05-15
|
||||||
notes: Vérification des trousses d'urgence
|
notes: Vérification des trousses d'urgence
|
||||||
|
|
@ -1297,31 +1355,199 @@ domains:
|
||||||
- name: verification-reserve-eau
|
- name: verification-reserve-eau
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérification de la réserve d'eau potable
|
notes: Vérification de la réserve d'eau potable
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/stock-alimentaire.yaml
|
||||||
|
item_key: verification-reserve-eau
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-mylar-absorbeurs
|
- name: verification-mylar-absorbeurs
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérifier l'intégrité des emballages Mylar et absorbeurs
|
notes: Vérifier l'intégrité des emballages Mylar et absorbeurs
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/stock-alimentaire.yaml
|
||||||
|
item_key: verification-mylar-absorbeurs
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: revue-inventaire-conserves
|
- name: revue-inventaire-conserves
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Revue des conserves et dates de rotation
|
notes: Revue des conserves et dates de rotation
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/stock-alimentaire.yaml
|
||||||
|
item_key: revue-inventaire-conserves
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: revue-inventaire-farine-riz-pates
|
- name: revue-inventaire-farine-riz-pates
|
||||||
date: 2026-04-01
|
date: 2026-04-01
|
||||||
notes: Vérification des gros stocks alimentaires de base
|
notes: Vérification des gros stocks alimentaires de base
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/stock-alimentaire.yaml
|
||||||
|
item_key: revue-inventaire-farine-riz-pates
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-bacs-legumes-racines
|
- name: verification-bacs-legumes-racines
|
||||||
date: 2026-10-01
|
date: 2026-10-01
|
||||||
notes: Vérification des bacs de stockage de légumes racines
|
notes: Vérification des bacs de stockage de légumes racines
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/stock-alimentaire.yaml
|
||||||
|
item_key: verification-bacs-legumes-racines
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: revue-supplements-vitamines
|
- name: revue-supplements-vitamines
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérification du stock de suppléments et dates utiles
|
notes: Vérification du stock de suppléments et dates utiles
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/stock-alimentaire.yaml
|
||||||
|
item_key: revue-supplements-vitamines
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
sante:
|
sante:
|
||||||
- name: verification-trousse-premiers-soins
|
- name: verification-trousse-premiers-soins
|
||||||
date: 2026-04-01
|
date: 2026-04-01
|
||||||
notes: Vérification de la trousse de premiers soins
|
notes: Vérification de la trousse de premiers soins
|
||||||
- name: verification-expiration-medicaments
|
- name: verification-expiration-medicaments
|
||||||
date: 2026-05-01
|
title: Vérification de l’expiration des médicaments
|
||||||
notes: Vérification des dates d'expiration des médicaments
|
summary: Suivre la prochaine échéance d’expiration des médicaments importants.
|
||||||
|
notes: Mettre la plus proche date d’expiration pertinente.
|
||||||
|
instructions: '1. Vérifier les dates d’expiration des médicaments importants.
|
||||||
|
|
||||||
|
2. Retenir la date la plus proche.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/sante.yaml
|
||||||
|
item_key: verification-expiration-medicaments
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 30
|
||||||
|
warning_lt: 90
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-09-30'
|
||||||
- name: revision-rendez-vous-medicaux
|
- name: revision-rendez-vous-medicaux
|
||||||
date: 2026-04-15
|
title: Révision des rendez-vous médicaux
|
||||||
notes: Revoir les rendez-vous médicaux requis
|
summary: Suivre la prochaine date de rendez-vous médical.
|
||||||
|
notes: Entrer la prochaine date significative déjà connue.
|
||||||
|
instructions: '1. Identifier le prochain rendez-vous médical pertinent.
|
||||||
|
|
||||||
|
2. Vérifier la date retenue.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/sante.yaml
|
||||||
|
item_key: revision-rendez-vous-medicaux
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 2
|
||||||
|
warning_lt: 14
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-04-10'
|
||||||
- name: verification-lunettes-prescriptions
|
- name: verification-lunettes-prescriptions
|
||||||
date: 2026-06-01
|
date: 2026-06-01
|
||||||
notes: Vérifier les prescriptions et besoins de renouvellement
|
notes: Vérifier les prescriptions et besoins de renouvellement
|
||||||
|
|
@ -1351,21 +1577,115 @@ domains:
|
||||||
- name: verification-huile-moteur
|
- name: verification-huile-moteur
|
||||||
date: 2026-04-01
|
date: 2026-04-01
|
||||||
notes: Vérification de l'huile moteur
|
notes: Vérification de l'huile moteur
|
||||||
|
probe:
|
||||||
|
type: elapsed_distance
|
||||||
|
source:
|
||||||
|
type: manual_counter
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/voiture.yaml
|
||||||
|
item_key: verification-huile-moteur
|
||||||
|
metric:
|
||||||
|
unit: km
|
||||||
|
thresholds:
|
||||||
|
unknown_lt: 0
|
||||||
|
ok_gte: 0
|
||||||
|
warning_gte: 8000
|
||||||
|
critical_gte: 10000
|
||||||
|
policy:
|
||||||
|
on_error: unknown
|
||||||
|
ui:
|
||||||
|
form_mode: counter_pair
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: inspection-freins
|
- name: inspection-freins
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Inspection des freins
|
notes: Inspection des freins
|
||||||
|
probe:
|
||||||
|
type: elapsed_distance
|
||||||
|
source:
|
||||||
|
type: manual_counter
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/voiture.yaml
|
||||||
|
item_key: inspection-freins
|
||||||
|
metric:
|
||||||
|
unit: km
|
||||||
|
thresholds:
|
||||||
|
unknown_lt: 0
|
||||||
|
ok_gte: 0
|
||||||
|
warning_gte: 15000
|
||||||
|
critical_gte: 20000
|
||||||
|
policy:
|
||||||
|
on_error: unknown
|
||||||
|
ui:
|
||||||
|
form_mode: counter_pair
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-pneus
|
- name: verification-pneus
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérification usure, pression et permutation des pneus
|
notes: Vérification usure, pression et permutation des pneus
|
||||||
|
probe:
|
||||||
|
type: elapsed_distance
|
||||||
|
source:
|
||||||
|
type: manual_counter
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/voiture.yaml
|
||||||
|
item_key: verification-pneus
|
||||||
|
metric:
|
||||||
|
unit: km
|
||||||
|
thresholds:
|
||||||
|
unknown_lt: 0
|
||||||
|
ok_gte: 0
|
||||||
|
warning_gte: 10000
|
||||||
|
critical_gte: 12000
|
||||||
|
policy:
|
||||||
|
on_error: unknown
|
||||||
|
ui:
|
||||||
|
form_mode: counter_pair
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: ajustement-valves
|
- name: ajustement-valves
|
||||||
date: 2026-08-01
|
date: 2026-08-01
|
||||||
notes: Vérification et ajustement des valves Honda Accord
|
notes: Vérification et ajustement des valves Honda Accord
|
||||||
- name: verification-timing-belt
|
- name: verification-timing-belt
|
||||||
date: 2027-01-01
|
date: 2027-01-01
|
||||||
notes: Vérification de la courroie de distribution et pompe à eau
|
notes: Vérification de la courroie de distribution et pompe à eau
|
||||||
|
probe:
|
||||||
|
type: elapsed_distance
|
||||||
|
source:
|
||||||
|
type: manual_counter
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/voiture.yaml
|
||||||
|
item_key: verification-timing-belt
|
||||||
|
metric:
|
||||||
|
unit: km
|
||||||
|
thresholds:
|
||||||
|
unknown_lt: 0
|
||||||
|
ok_gte: 0
|
||||||
|
warning_gte: 150000
|
||||||
|
critical_gte: 168000
|
||||||
|
policy:
|
||||||
|
on_error: unknown
|
||||||
|
ui:
|
||||||
|
form_mode: counter_pair
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-batterie-voiture
|
- name: verification-batterie-voiture
|
||||||
date: 2026-10-01
|
date: 2026-10-01
|
||||||
notes: Vérification de l'état de la batterie automobile
|
notes: Vérification de l'état de la batterie automobile
|
||||||
|
probe:
|
||||||
|
type: current_value
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/voiture.yaml
|
||||||
|
item_key: verification-batterie-voiture
|
||||||
|
metric:
|
||||||
|
unit: volts
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 12.2
|
||||||
|
warning_lt: 12.5
|
||||||
|
ok_gte: 12.5
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: numeric_value
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-balais-essuie-glace
|
- name: verification-balais-essuie-glace
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérification des essuie-glaces
|
notes: Vérification des essuie-glaces
|
||||||
|
|
@ -1414,8 +1734,38 @@ domains:
|
||||||
allow_complete: true
|
allow_complete: true
|
||||||
allow_manual_edit: true
|
allow_manual_edit: true
|
||||||
- name: verification-immatriculation-assurance
|
- name: verification-immatriculation-assurance
|
||||||
date: 2026-06-01
|
title: Vérification immatriculation et assurance
|
||||||
notes: Vérification papiers d'assurance et immatriculation
|
summary: Suivre la prochaine échéance entre immatriculation et assurance.
|
||||||
|
notes: Retenir la date la plus proche à renouveler.
|
||||||
|
instructions: '1. Vérifier les dates d’échéance de l’immatriculation et de l’assurance.
|
||||||
|
|
||||||
|
2. Retenir la plus rapprochée.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/voiture.yaml
|
||||||
|
item_key: verification-immatriculation-assurance
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 30
|
||||||
|
warning_lt: 90
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-11-30'
|
||||||
jardin:
|
jardin:
|
||||||
- name: inspection-vignes
|
- name: inspection-vignes
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
|
|
@ -1596,9 +1946,45 @@ domains:
|
||||||
- name: revision-pharmacopée-jardin
|
- name: revision-pharmacopée-jardin
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérification du stock de soins pour végétaux
|
notes: Vérification du stock de soins pour végétaux
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/jardin.yaml
|
||||||
|
item_key: revision-pharmacopée-jardin
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: revision-armoire-produits-jardin
|
- name: revision-armoire-produits-jardin
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérification et ordre de l'armoire des produits pour végétaux
|
notes: Vérification et ordre de l'armoire des produits pour végétaux
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/jardin.yaml
|
||||||
|
item_key: revision-armoire-produits-jardin
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
outils-et-equipements:
|
outils-et-equipements:
|
||||||
- name: entretien-outils-jardin
|
- name: entretien-outils-jardin
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
|
|
@ -1894,9 +2280,45 @@ domains:
|
||||||
- name: verification-ups-infrastructure
|
- name: verification-ups-infrastructure
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérification des UPS de l'infrastructure
|
notes: Vérification des UPS de l'infrastructure
|
||||||
|
probe:
|
||||||
|
type: current_value
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/infrastructure-chezlepro.yaml
|
||||||
|
item_key: verification-ups-infrastructure
|
||||||
|
metric:
|
||||||
|
unit: '%'
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 25
|
||||||
|
warning_lt: 50
|
||||||
|
ok_gte: 50
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: numeric_value
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-capacite-stockage
|
- name: verification-capacite-stockage
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérifier capacité et croissance du stockage
|
notes: Vérifier capacité et croissance du stockage
|
||||||
|
probe:
|
||||||
|
type: current_value
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/infrastructure-chezlepro.yaml
|
||||||
|
item_key: verification-capacite-stockage
|
||||||
|
metric:
|
||||||
|
unit: '%'
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 15
|
||||||
|
warning_lt: 25
|
||||||
|
ok_gte: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: numeric_value
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-apt-cacher-ng
|
- name: verification-apt-cacher-ng
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Vérification du bon fonctionnement d'apt-cacher-ng
|
notes: Vérification du bon fonctionnement d'apt-cacher-ng
|
||||||
|
|
@ -2232,8 +2654,39 @@ domains:
|
||||||
allow_complete: true
|
allow_complete: true
|
||||||
allow_manual_edit: true
|
allow_manual_edit: true
|
||||||
- name: verification-certificats-publics
|
- name: verification-certificats-publics
|
||||||
date: 2026-06-01
|
title: Vérification des certificats publics
|
||||||
notes: Vérifier les expirations de certificats publics
|
summary: Suivre la prochaine échéance d’un certificat public important.
|
||||||
|
notes: Retenir la date d’expiration la plus proche parmi les certificats publics
|
||||||
|
suivis.
|
||||||
|
instructions: '1. Vérifier les certificats publics critiques.
|
||||||
|
|
||||||
|
2. Retenir la date d’expiration la plus proche.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/reseau-chezlepro.yaml
|
||||||
|
item_key: verification-certificats-publics
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 15
|
||||||
|
warning_lt: 45
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-06-15'
|
||||||
securite-chezlepro:
|
securite-chezlepro:
|
||||||
- name: verification-mises-a-jour-securite
|
- name: verification-mises-a-jour-securite
|
||||||
date: 2026-04-01
|
date: 2026-04-01
|
||||||
|
|
@ -2482,12 +2935,6 @@ domains:
|
||||||
allow_complete: true
|
allow_complete: true
|
||||||
allow_manual_edit: true
|
allow_manual_edit: true
|
||||||
obligations-chezlepro:
|
obligations-chezlepro:
|
||||||
- name: verification-registraire-entreprise
|
|
||||||
date: 2026-06-15
|
|
||||||
notes: Vérifier les obligations au Registraire des entreprises
|
|
||||||
- name: verification-declarations-taxes
|
|
||||||
date: 2026-04-30
|
|
||||||
notes: Vérifier les obligations de taxes de l'entreprise si applicables
|
|
||||||
- name: verification-dossier-comptable-entreprise
|
- name: verification-dossier-comptable-entreprise
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérifier l'ordre du dossier comptable Chezlepro
|
notes: Vérifier l'ordre du dossier comptable Chezlepro
|
||||||
|
|
@ -2557,9 +3004,105 @@ domains:
|
||||||
- name: verification-contrats-ententes
|
- name: verification-contrats-ententes
|
||||||
date: 2026-05-15
|
date: 2026-05-15
|
||||||
notes: Vérifier contrats, ententes et obligations associées
|
notes: Vérifier contrats, ententes et obligations associées
|
||||||
|
- name: verification-registraire-entreprise
|
||||||
|
title: Vérification registraire d’entreprise
|
||||||
|
summary: Suivre la prochaine échéance liée au Registraire des entreprises.
|
||||||
|
notes: Entrer la prochaine date limite pertinente.
|
||||||
|
instructions: '1. Vérifier la prochaine échéance liée au Registraire.
|
||||||
|
|
||||||
|
2. Confirmer la date applicable.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/obligations-chezlepro.yaml
|
||||||
|
item_key: verification-registraire-entreprise
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 30
|
||||||
|
warning_lt: 90
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-06-30'
|
||||||
|
- name: verification-declarations-taxes
|
||||||
|
title: Vérification des déclarations de taxes
|
||||||
|
summary: Suivre la prochaine échéance de déclaration de taxes.
|
||||||
|
notes: Entrer la prochaine date limite applicable.
|
||||||
|
instructions: '1. Vérifier la prochaine échéance de déclaration de taxes.
|
||||||
|
|
||||||
|
2. Confirmer la date applicable.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/obligations-chezlepro.yaml
|
||||||
|
item_key: verification-declarations-taxes
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 15
|
||||||
|
warning_lt: 45
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-04-30'
|
||||||
- name: verification-assurances-entreprise
|
- name: verification-assurances-entreprise
|
||||||
date: 2026-06-01
|
title: Vérification des assurances d’entreprise
|
||||||
notes: Vérifier les assurances de l'entreprise
|
summary: Suivre la prochaine échéance de renouvellement d’assurance.
|
||||||
|
notes: Entrer la date de renouvellement la plus proche.
|
||||||
|
instructions: '1. Vérifier les dates de renouvellement des assurances pertinentes.
|
||||||
|
|
||||||
|
2. Retenir la plus proche.
|
||||||
|
|
||||||
|
3. Entrer cette date dans Life-NOC.
|
||||||
|
|
||||||
|
'
|
||||||
|
notes_url: ''
|
||||||
|
instructions_url: ''
|
||||||
|
action_url: ''
|
||||||
|
probe:
|
||||||
|
type: days_until_due
|
||||||
|
source:
|
||||||
|
type: manual_date
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/obligations-chezlepro.yaml
|
||||||
|
item_key: verification-assurances-entreprise
|
||||||
|
metric:
|
||||||
|
unit: days
|
||||||
|
thresholds:
|
||||||
|
critical_lt: 30
|
||||||
|
warning_lt: 90
|
||||||
|
ok_lt: 366
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: due_date
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
|
date: '2026-10-01'
|
||||||
- name: archivage-documents-entreprise
|
- name: archivage-documents-entreprise
|
||||||
date: 2026-05-31
|
date: 2026-05-31
|
||||||
notes: Archiver les documents administratifs et financiers de l'entreprise
|
notes: Archiver les documents administratifs et financiers de l'entreprise
|
||||||
|
|
@ -2633,6 +3176,24 @@ domains:
|
||||||
- name: verification-reserve-pieces
|
- name: verification-reserve-pieces
|
||||||
date: 2026-06-01
|
date: 2026-06-01
|
||||||
notes: Vérifier les pièces de rechange critiques
|
notes: Vérifier les pièces de rechange critiques
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/actifs-chezlepro.yaml
|
||||||
|
item_key: verification-reserve-pieces
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: revision-actifs-transferts
|
- name: revision-actifs-transferts
|
||||||
date: 2026-06-15
|
date: 2026-06-15
|
||||||
notes: Réviser les actifs transférés ou à transférer à l'entreprise
|
notes: Réviser les actifs transférés ou à transférer à l'entreprise
|
||||||
|
|
@ -2992,9 +3553,45 @@ domains:
|
||||||
- name: verification-stock-nourriture-chats
|
- name: verification-stock-nourriture-chats
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérification du stock de nourriture pour chats
|
notes: Vérification du stock de nourriture pour chats
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/animaux.yaml
|
||||||
|
item_key: verification-stock-nourriture-chats
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: verification-friandises-et-litiere
|
- name: verification-friandises-et-litiere
|
||||||
date: 2026-04-15
|
date: 2026-04-15
|
||||||
notes: Vérification des stocks de friandises et de litière
|
notes: Vérification des stocks de friandises et de litière
|
||||||
|
probe:
|
||||||
|
type: remaining_quantity
|
||||||
|
source:
|
||||||
|
type: manual_value
|
||||||
|
inputs_file: /opt/life-noc/data/inputs/animaux.yaml
|
||||||
|
item_key: verification-friandises-et-litiere
|
||||||
|
metric:
|
||||||
|
unit: "%"
|
||||||
|
thresholds:
|
||||||
|
ok_gte: 50
|
||||||
|
warning_lt: 50
|
||||||
|
critical_lt: 25
|
||||||
|
policy:
|
||||||
|
on_error: critical
|
||||||
|
ui:
|
||||||
|
form_mode: remaining_quantity
|
||||||
|
allow_complete: false
|
||||||
|
allow_manual_edit: true
|
||||||
- name: revision-routine-soins-animaux
|
- name: revision-routine-soins-animaux
|
||||||
date: 2026-05-01
|
date: 2026-05-01
|
||||||
notes: Revue de la routine de soins et des besoins matériels des chats
|
notes: Revue de la routine de soins et des besoins matériels des chats
|
||||||
|
|
|
||||||
3234
domains.yaml.orig
Normal file
3234
domains.yaml.orig
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -20,7 +20,7 @@ apply Service "actifs-chezlepro-revision-inventaire-materiel" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revoir l'inventaire du matériel de Chezlepro"
|
notes = "Revoir l'inventaire du matériel de Chezlepro"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/actifs-chezlepro/revision-inventaire-materiel"
|
vars.instructions_url = "/life-noc/item/actifs-chezlepro/revision-inventaire-materiel"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ apply Service "actifs-chezlepro-verification-amortissables" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "ACTIFS-CHEZLEPRO" ]
|
groups = [ "ACTIFS-CHEZLEPRO" ]
|
||||||
notes = "Vérifier le registre des biens amortissables"
|
notes = "Vérifier le registre des biens amortissables"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/actifs-chezlepro/verification-amortissables"
|
vars.instructions_url = "/life-noc/item/actifs-chezlepro/verification-amortissables"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,18 +51,26 @@ apply Service "actifs-chezlepro-verification-serveurs-et-composants" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'état des serveurs et composants matériels"
|
notes = "Vérifier l'état des serveurs et composants matériels"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/actifs-chezlepro/verification-serveurs-et-composants"
|
vars.instructions_url = "/life-noc/item/actifs-chezlepro/verification-serveurs-et-composants"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "actifs-chezlepro-verification-reserve-pieces" {
|
apply Service "actifs-chezlepro-verification-reserve-pieces" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-06-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/actifs-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-reserve-pieces"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-reserve-pieces"
|
||||||
groups = [ "ACTIFS-CHEZLEPRO" ]
|
groups = [ "ACTIFS-CHEZLEPRO" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les pièces de rechange critiques"
|
notes = "Vérifier les pièces de rechange critiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/actifs-chezlepro/verification-reserve-pieces"
|
vars.instructions_url = "/life-noc/item/actifs-chezlepro/verification-reserve-pieces"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -82,6 +90,6 @@ apply Service "actifs-chezlepro-revision-actifs-transferts" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Réviser les actifs transférés ou à transférer à l'entreprise"
|
notes = "Réviser les actifs transférés ou à transférer à l'entreprise"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/actifs-chezlepro/revision-actifs-transferts"
|
vars.instructions_url = "/life-noc/item/actifs-chezlepro/revision-actifs-transferts"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,24 +5,40 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
apply Service "animaux-verification-stock-nourriture-chats" {
|
apply Service "animaux-verification-stock-nourriture-chats" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/animaux.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-stock-nourriture-chats"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-stock-nourriture-chats"
|
||||||
groups = [ "ANIMAUX" ]
|
groups = [ "ANIMAUX" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du stock de nourriture pour chats"
|
notes = "Vérification du stock de nourriture pour chats"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/animaux/verification-stock-nourriture-chats"
|
vars.instructions_url = "/life-noc/item/animaux/verification-stock-nourriture-chats"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "animaux-verification-friandises-et-litiere" {
|
apply Service "animaux-verification-friandises-et-litiere" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/animaux.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-friandises-et-litiere"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-friandises-et-litiere"
|
||||||
groups = [ "ANIMAUX" ]
|
groups = [ "ANIMAUX" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des stocks de friandises et de litière"
|
notes = "Vérification des stocks de friandises et de litière"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/animaux/verification-friandises-et-litiere"
|
vars.instructions_url = "/life-noc/item/animaux/verification-friandises-et-litiere"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,6 +58,6 @@ apply Service "animaux-revision-routine-soins-animaux" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue de la routine de soins et des besoins matériels des chats"
|
notes = "Revue de la routine de soins et des besoins matériels des chats"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/animaux/revision-routine-soins-animaux"
|
vars.instructions_url = "/life-noc/item/animaux/revision-routine-soins-animaux"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "communaute-verification-outils-aa" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les outils numériques liés aux activités communautaires"
|
notes = "Vérifier les outils numériques liés aux activités communautaires"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/communaute/verification-outils-aa"
|
vars.instructions_url = "/life-noc/item/communaute/verification-outils-aa"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "communaute-verification-espace-87-16" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'espace Nextcloud du district"
|
notes = "Vérifier l'espace Nextcloud du district"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/communaute/verification-espace-87-16"
|
vars.instructions_url = "/life-noc/item/communaute/verification-espace-87-16"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "communaute-verification-salles-visio-groupes" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les salles de visioconférence des groupes"
|
notes = "Vérifier les salles de visioconférence des groupes"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/communaute/verification-salles-visio-groupes"
|
vars.instructions_url = "/life-noc/item/communaute/verification-salles-visio-groupes"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "communaute-verification-depots-rapports-rsg" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les dépôts de rapports RSG"
|
notes = "Vérifier les dépôts de rapports RSG"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/communaute/verification-depots-rapports-rsg"
|
vars.instructions_url = "/life-noc/item/communaute/verification-depots-rapports-rsg"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,6 +100,6 @@ apply Service "communaute-revision-outils-communication-communaute" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Réviser les moyens de communication communautaires"
|
notes = "Réviser les moyens de communication communautaires"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/communaute/revision-outils-communication-communaute"
|
vars.instructions_url = "/life-noc/item/communaute/revision-outils-communication-communaute"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "documentation-revue-docs-personnelles-importantes" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revoir l'organisation des documents personnels importants"
|
notes = "Revoir l'organisation des documents personnels importants"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/documentation/revue-docs-personnelles-importantes"
|
vars.instructions_url = "/life-noc/item/documentation/revue-docs-personnelles-importantes"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "documentation-revue-wiki-technique" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revoir le wiki technique et sa cohérence"
|
notes = "Revoir le wiki technique et sa cohérence"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/documentation/revue-wiki-technique"
|
vars.instructions_url = "/life-noc/item/documentation/revue-wiki-technique"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "documentation-revue-base-connaissances" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revoir la base de connaissances globale"
|
notes = "Revoir la base de connaissances globale"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/documentation/revue-base-connaissances"
|
vars.instructions_url = "/life-noc/item/documentation/revue-base-connaissances"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,6 +80,6 @@ apply Service "documentation-verification-sauvegarde-docs-cles" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier la sauvegarde des documents clés"
|
notes = "Vérifier la sauvegarde des documents clés"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/documentation/verification-sauvegarde-docs-cles"
|
vars.instructions_url = "/life-noc/item/documentation/verification-sauvegarde-docs-cles"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,18 +20,26 @@ apply Service "energie-inspection-batteries-lifepo4" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection physique et logique des batteries LiFePO4"
|
notes = "Inspection physique et logique des batteries LiFePO4"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/inspection-batteries-lifepo4"
|
vars.instructions_url = "/life-noc/item/energie/inspection-batteries-lifepo4"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "energie-verification-tension-batteries" {
|
apply Service "energie-verification-tension-batteries" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-03-15"
|
vars.life_noc_probe_type = "current_value"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/energie.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-tension-batteries"
|
||||||
|
vars.life_noc_metric_unit = "volts"
|
||||||
|
vars.life_noc_label = "verification-tension-batteries"
|
||||||
groups = [ "ENERGIE" ]
|
groups = [ "ENERGIE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "51.2"
|
||||||
|
vars.life_noc_threshold_warning_lt = "51.2"
|
||||||
|
vars.life_noc_threshold_critical_lt = "50.0"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des tensions et cohérence des batteries"
|
notes = "Vérification des tensions et cohérence des batteries"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-tension-batteries"
|
vars.instructions_url = "/life-noc/item/energie/verification-tension-batteries"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,7 +50,7 @@ apply Service "energie-verification-smartshunt" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "ENERGIE" ]
|
groups = [ "ENERGIE" ]
|
||||||
notes = "Vérification SmartShunt et cohérence du monitoring"
|
notes = "Vérification SmartShunt et cohérence du monitoring"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-smartshunt"
|
vars.instructions_url = "/life-noc/item/energie/verification-smartshunt"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,7 +61,7 @@ apply Service "energie-verification-cerbo-gx" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "ENERGIE" ]
|
groups = [ "ENERGIE" ]
|
||||||
notes = "Vérification Cerbo GX et remontée des données"
|
notes = "Vérification Cerbo GX et remontée des données"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-cerbo-gx"
|
vars.instructions_url = "/life-noc/item/energie/verification-cerbo-gx"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,7 +81,7 @@ apply Service "energie-verification-can-rs485" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des communications CAN ou RS485"
|
notes = "Vérification des communications CAN ou RS485"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-can-rs485"
|
vars.instructions_url = "/life-noc/item/energie/verification-can-rs485"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +101,7 @@ apply Service "energie-inspection-cablage-energie" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection du câblage et des connexions énergétiques"
|
notes = "Inspection du câblage et des connexions énergétiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/inspection-cablage-energie"
|
vars.instructions_url = "/life-noc/item/energie/inspection-cablage-energie"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,7 +121,7 @@ apply Service "energie-verification-busbars" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du serrage, corrosion et échauffement des busbars"
|
notes = "Vérification du serrage, corrosion et échauffement des busbars"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-busbars"
|
vars.instructions_url = "/life-noc/item/energie/verification-busbars"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -133,7 +141,7 @@ apply Service "energie-verification-parametres-charge" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des paramètres de charge et float"
|
notes = "Vérification des paramètres de charge et float"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-parametres-charge"
|
vars.instructions_url = "/life-noc/item/energie/verification-parametres-charge"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -153,7 +161,7 @@ apply Service "energie-test-charge-batteries" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Test de comportement en charge des batteries"
|
notes = "Test de comportement en charge des batteries"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/test-charge-batteries"
|
vars.instructions_url = "/life-noc/item/energie/test-charge-batteries"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,7 +181,7 @@ apply Service "energie-test-comportement-onduleur" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier le comportement du Multiplus sous charge légère"
|
notes = "Vérifier le comportement du Multiplus sous charge légère"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/test-comportement-onduleur"
|
vars.instructions_url = "/life-noc/item/energie/test-comportement-onduleur"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -193,6 +201,6 @@ apply Service "energie-verification-journal-evenements-victron" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des événements et anomalies Victron"
|
notes = "Vérification des événements et anomalies Victron"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/energie/verification-journal-evenements-victron"
|
vars.instructions_url = "/life-noc/item/energie/verification-journal-evenements-victron"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "exploitation-chezlepro-revision-playbooks-ansible" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue des playbooks Ansible"
|
notes = "Revue des playbooks Ansible"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/exploitation-chezlepro/revision-playbooks-ansible"
|
vars.instructions_url = "/life-noc/item/exploitation-chezlepro/revision-playbooks-ansible"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "exploitation-chezlepro-verification-inventaires-ansible" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des inventaires Ansible"
|
notes = "Vérification des inventaires Ansible"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/exploitation-chezlepro/verification-inventaires-ansible"
|
vars.instructions_url = "/life-noc/item/exploitation-chezlepro/verification-inventaires-ansible"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "exploitation-chezlepro-revision-documentation-technique" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue de la documentation technique Chezlepro"
|
notes = "Revue de la documentation technique Chezlepro"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/exploitation-chezlepro/revision-documentation-technique"
|
vars.instructions_url = "/life-noc/item/exploitation-chezlepro/revision-documentation-technique"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "exploitation-chezlepro-verification-procedures-reprise" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les procédures de reprise et restauration"
|
notes = "Vérifier les procédures de reprise et restauration"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/exploitation-chezlepro/verification-procedures-reprise"
|
vars.instructions_url = "/life-noc/item/exploitation-chezlepro/verification-procedures-reprise"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ apply Service "exploitation-chezlepro-revue-capacite-ressources" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue CPU RAM stockage et charge de l'infrastructure"
|
notes = "Revue CPU RAM stockage et charge de l'infrastructure"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/exploitation-chezlepro/revue-capacite-ressources"
|
vars.instructions_url = "/life-noc/item/exploitation-chezlepro/revue-capacite-ressources"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,6 +120,6 @@ apply Service "exploitation-chezlepro-verification-jobs-automatises" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des jobs automatisés et scripts périodiques"
|
notes = "Vérification des jobs automatisés et scripts périodiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/exploitation-chezlepro/verification-jobs-automatises"
|
vars.instructions_url = "/life-noc/item/exploitation-chezlepro/verification-jobs-automatises"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "finances-personnelles-revision-comptes-bancaires" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision mensuelle des comptes bancaires personnels"
|
notes = "Révision mensuelle des comptes bancaires personnels"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/revision-comptes-bancaires"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/revision-comptes-bancaires"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "finances-personnelles-verification-cartes-credit" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des soldes et transactions des cartes de crédit"
|
notes = "Vérification des soldes et transactions des cartes de crédit"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/verification-cartes-credit"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/verification-cartes-credit"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "finances-personnelles-paiement-cartes-credit" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Paiement des cartes de crédit personnelles"
|
notes = "Paiement des cartes de crédit personnelles"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/paiement-cartes-credit"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/paiement-cartes-credit"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "finances-personnelles-revision-budget-personnel" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision mensuelle du budget personnel"
|
notes = "Révision mensuelle du budget personnel"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/revision-budget-personnel"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/revision-budget-personnel"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ apply Service "finances-personnelles-verification-prelevements-automatiques" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des prélèvements automatiques personnels"
|
notes = "Vérification des prélèvements automatiques personnels"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/verification-prelevements-automatiques"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/verification-prelevements-automatiques"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,7 +120,7 @@ apply Service "finances-personnelles-verification-placements" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification périodique des placements et comptes enregistrés"
|
notes = "Vérification périodique des placements et comptes enregistrés"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/verification-placements"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/verification-placements"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,7 +140,7 @@ apply Service "finances-personnelles-verification-cotisations-reer" {
|
||||||
vars.life_noc_threshold_critical_gte = "10"
|
vars.life_noc_threshold_critical_gte = "10"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des cotisations REER"
|
notes = "Vérification des cotisations REER"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/verification-cotisations-reer"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/verification-cotisations-reer"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,7 +160,7 @@ apply Service "finances-personnelles-verification-celi" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'espace CELI et de son utilisation"
|
notes = "Vérification de l'espace CELI et de son utilisation"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/verification-celi"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/verification-celi"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -180,6 +180,6 @@ apply Service "finances-personnelles-preparation-dossier-financier-annuel" {
|
||||||
vars.life_noc_threshold_critical_gte = "395"
|
vars.life_noc_threshold_critical_gte = "395"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Préparer le dossier financier annuel personnel"
|
notes = "Préparer le dossier financier annuel personnel"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/finances-personnelles/preparation-dossier-financier-annuel"
|
vars.instructions_url = "/life-noc/item/finances-personnelles/preparation-dossier-financier-annuel"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "fiscalite-personnelle-preparation-documents-impots" {
|
||||||
vars.life_noc_threshold_critical_gte = "10"
|
vars.life_noc_threshold_critical_gte = "10"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Rassembler tous les documents fiscaux personnels"
|
notes = "Rassembler tous les documents fiscaux personnels"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/preparation-documents-impots"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/preparation-documents-impots"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ apply Service "fiscalite-personnelle-production-impots-federal" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "FISCALITE-PERSONNELLE" ]
|
groups = [ "FISCALITE-PERSONNELLE" ]
|
||||||
notes = "Produire la déclaration de revenus fédérale"
|
notes = "Produire la déclaration de revenus fédérale"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/production-impots-federal"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/production-impots-federal"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ apply Service "fiscalite-personnelle-production-impots-quebec" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "FISCALITE-PERSONNELLE" ]
|
groups = [ "FISCALITE-PERSONNELLE" ]
|
||||||
notes = "Produire la déclaration de revenus Québec"
|
notes = "Produire la déclaration de revenus Québec"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/production-impots-quebec"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/production-impots-quebec"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,7 +53,7 @@ apply Service "fiscalite-personnelle-paiement-solde-impots" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "FISCALITE-PERSONNELLE" ]
|
groups = [ "FISCALITE-PERSONNELLE" ]
|
||||||
notes = "Payer tout solde d'impôt exigible"
|
notes = "Payer tout solde d'impôt exigible"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/paiement-solde-impots"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/paiement-solde-impots"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,7 +73,7 @@ apply Service "fiscalite-personnelle-verification-avis-cotisation" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les avis de cotisation ARC et Revenu Québec"
|
notes = "Vérifier les avis de cotisation ARC et Revenu Québec"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/verification-avis-cotisation"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/verification-avis-cotisation"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +93,7 @@ apply Service "fiscalite-personnelle-archivage-documents-fiscaux" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Archiver les documents fiscaux personnels"
|
notes = "Archiver les documents fiscaux personnels"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/archivage-documents-fiscaux"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/archivage-documents-fiscaux"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -104,6 +104,6 @@ apply Service "fiscalite-personnelle-verification-acomptes-provisionnels" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "FISCALITE-PERSONNELLE" ]
|
groups = [ "FISCALITE-PERSONNELLE" ]
|
||||||
notes = "Vérifier si des acomptes provisionnels sont requis"
|
notes = "Vérifier si des acomptes provisionnels sont requis"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/fiscalite-personnelle/verification-acomptes-provisionnels"
|
vars.instructions_url = "/life-noc/item/fiscalite-personnelle/verification-acomptes-provisionnels"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "focus-entretien-processus-focus" {
|
||||||
vars.life_noc_threshold_critical_gte = "10"
|
vars.life_noc_threshold_critical_gte = "10"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier que les cartouches FOCUS sont à jour"
|
notes = "Vérifier que les cartouches FOCUS sont à jour"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/focus/entretien-processus-focus"
|
vars.instructions_url = "/life-noc/item/focus/entretien-processus-focus"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "focus-nettoyage-inbox-mentale" {
|
||||||
vars.life_noc_threshold_critical_gte = "10"
|
vars.life_noc_threshold_critical_gte = "10"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vider et clarifier les éléments capturés hors système"
|
notes = "Vider et clarifier les éléments capturés hors système"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/focus/nettoyage-inbox-mentale"
|
vars.instructions_url = "/life-noc/item/focus/nettoyage-inbox-mentale"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,6 +60,6 @@ apply Service "focus-revue-limitation-engagements" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier que les engagements actifs demeurent réalistes"
|
notes = "Vérifier que les engagements actifs demeurent réalistes"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/focus/revue-limitation-engagements"
|
vars.instructions_url = "/life-noc/item/focus/revue-limitation-engagements"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "garage-et-rangement-inspection-rangement-plafond" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des supports suspendus au plafond du garage"
|
notes = "Vérification des supports suspendus au plafond du garage"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/garage-et-rangement/inspection-rangement-plafond"
|
vars.instructions_url = "/life-noc/item/garage-et-rangement/inspection-rangement-plafond"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "garage-et-rangement-revue-inventaire-garage" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue de l'inventaire et de l'ordre du garage"
|
notes = "Revue de l'inventaire et de l'ordre du garage"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/garage-et-rangement/revue-inventaire-garage"
|
vars.instructions_url = "/life-noc/item/garage-et-rangement/revue-inventaire-garage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "garage-et-rangement-verification-rouille-outillage" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de la corrosion sur les outils et équipements"
|
notes = "Vérification de la corrosion sur les outils et équipements"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/garage-et-rangement/verification-rouille-outillage"
|
vars.instructions_url = "/life-noc/item/garage-et-rangement/verification-rouille-outillage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "garage-et-rangement-inspection-securite-garage" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des conditions de sécurité du garage"
|
notes = "Vérification des conditions de sécurité du garage"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/garage-et-rangement/inspection-securite-garage"
|
vars.instructions_url = "/life-noc/item/garage-et-rangement/inspection-securite-garage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,6 +100,6 @@ apply Service "garage-et-rangement-rotation-stockage-bacs" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue des contenus de bacs de rangement"
|
notes = "Revue des contenus de bacs de rangement"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/garage-et-rangement/rotation-stockage-bacs"
|
vars.instructions_url = "/life-noc/item/garage-et-rangement/rotation-stockage-bacs"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "informatique-personnelle-verification-sauvegardes-personnelles" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des sauvegardes personnelles"
|
notes = "Vérification des sauvegardes personnelles"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/informatique-personnelle/verification-sauvegardes-personnelles"
|
vars.instructions_url = "/life-noc/item/informatique-personnelle/verification-sauvegardes-personnelles"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "informatique-personnelle-nettoyage-stockage-personnel" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Nettoyage du stockage numérique personnel"
|
notes = "Nettoyage du stockage numérique personnel"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/informatique-personnelle/nettoyage-stockage-personnel"
|
vars.instructions_url = "/life-noc/item/informatique-personnelle/nettoyage-stockage-personnel"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "informatique-personnelle-verification-comptes-importants" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des comptes numériques personnels importants"
|
notes = "Vérification des comptes numériques personnels importants"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/informatique-personnelle/verification-comptes-importants"
|
vars.instructions_url = "/life-noc/item/informatique-personnelle/verification-comptes-importants"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "informatique-personnelle-revue-mots-de-passe-personnels" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue des mots de passe personnels critiques"
|
notes = "Revue des mots de passe personnels critiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/informatique-personnelle/revue-mots-de-passe-personnels"
|
vars.instructions_url = "/life-noc/item/informatique-personnelle/revue-mots-de-passe-personnels"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,6 +100,6 @@ apply Service "informatique-personnelle-verification-documents-cloud-personnels"
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier la cohérence des documents personnels sauvegardés"
|
notes = "Vérifier la cohérence des documents personnels sauvegardés"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/informatique-personnelle/verification-documents-cloud-personnels"
|
vars.instructions_url = "/life-noc/item/informatique-personnelle/verification-documents-cloud-personnels"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "infrastructure-chezlepro-verification-proxmox" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification générale de l'environnement Proxmox"
|
notes = "Vérification générale de l'environnement Proxmox"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-proxmox"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-proxmox"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ apply Service "infrastructure-chezlepro-verification-ceph" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "INFRASTRUCTURE-CHEZLEPRO" ]
|
groups = [ "INFRASTRUCTURE-CHEZLEPRO" ]
|
||||||
notes = "Vérification générale de l'état Ceph"
|
notes = "Vérification générale de l'état Ceph"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-ceph"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-ceph"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,7 +51,7 @@ apply Service "infrastructure-chezlepro-test-restauration-backups" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Test de restauration des sauvegardes"
|
notes = "Test de restauration des sauvegardes"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/test-restauration-backups"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/test-restauration-backups"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,29 +71,45 @@ apply Service "infrastructure-chezlepro-verification-pbs-truenas" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des solutions de sauvegarde et synchronisation"
|
notes = "Vérification des solutions de sauvegarde et synchronisation"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-pbs-truenas"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-pbs-truenas"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "infrastructure-chezlepro-verification-ups-infrastructure" {
|
apply Service "infrastructure-chezlepro-verification-ups-infrastructure" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "current_value"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/infrastructure-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-ups-infrastructure"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-ups-infrastructure"
|
||||||
groups = [ "INFRASTRUCTURE-CHEZLEPRO" ]
|
groups = [ "INFRASTRUCTURE-CHEZLEPRO" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des UPS de l'infrastructure"
|
notes = "Vérification des UPS de l'infrastructure"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-ups-infrastructure"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-ups-infrastructure"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "infrastructure-chezlepro-verification-capacite-stockage" {
|
apply Service "infrastructure-chezlepro-verification-capacite-stockage" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "current_value"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/infrastructure-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-capacite-stockage"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-capacite-stockage"
|
||||||
groups = [ "INFRASTRUCTURE-CHEZLEPRO" ]
|
groups = [ "INFRASTRUCTURE-CHEZLEPRO" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "25"
|
||||||
|
vars.life_noc_threshold_warning_lt = "25"
|
||||||
|
vars.life_noc_threshold_critical_lt = "15"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier capacité et croissance du stockage"
|
notes = "Vérifier capacité et croissance du stockage"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-capacite-stockage"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-capacite-stockage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,7 +129,7 @@ apply Service "infrastructure-chezlepro-verification-apt-cacher-ng" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du bon fonctionnement d'apt-cacher-ng"
|
notes = "Vérification du bon fonctionnement d'apt-cacher-ng"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-apt-cacher-ng"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-apt-cacher-ng"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -133,7 +149,7 @@ apply Service "infrastructure-chezlepro-verification-icinga2" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de la supervision Icinga2"
|
notes = "Vérification de la supervision Icinga2"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-icinga2"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-icinga2"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -153,7 +169,7 @@ apply Service "infrastructure-chezlepro-verification-keycloak-openldap" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'identité et de l'authentification centralisées"
|
notes = "Vérification de l'identité et de l'authentification centralisées"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-keycloak-openldap"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-keycloak-openldap"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,7 +189,7 @@ apply Service "infrastructure-chezlepro-verification-nextcloud" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'état Nextcloud"
|
notes = "Vérification de l'état Nextcloud"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-nextcloud"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-nextcloud"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -193,7 +209,7 @@ apply Service "infrastructure-chezlepro-verification-mailcow" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'infrastructure Mailcow"
|
notes = "Vérification de l'infrastructure Mailcow"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-mailcow"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-mailcow"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -213,7 +229,7 @@ apply Service "infrastructure-chezlepro-verification-openvas" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de la plateforme OpenVAS"
|
notes = "Vérification de la plateforme OpenVAS"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-openvas"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-openvas"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -233,6 +249,6 @@ apply Service "infrastructure-chezlepro-verification-journaux-systemes" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue des journaux systèmes critiques"
|
notes = "Revue des journaux systèmes critiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/infrastructure-chezlepro/verification-journaux-systemes"
|
vars.instructions_url = "/life-noc/item/infrastructure-chezlepro/verification-journaux-systemes"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "jardin-inspection-vignes" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection et entretien des vignes"
|
notes = "Inspection et entretien des vignes"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/inspection-vignes"
|
vars.instructions_url = "/life-noc/item/jardin/inspection-vignes"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "jardin-entretien-bleuetiers" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Entretien des bleuetiers"
|
notes = "Entretien des bleuetiers"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/entretien-bleuetiers"
|
vars.instructions_url = "/life-noc/item/jardin/entretien-bleuetiers"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "jardin-entretien-framboisiers" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Entretien des framboisiers"
|
notes = "Entretien des framboisiers"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/entretien-framboisiers"
|
vars.instructions_url = "/life-noc/item/jardin/entretien-framboisiers"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "jardin-inspection-kiwis-nordiques" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des kiwis nordiques"
|
notes = "Vérification des kiwis nordiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/inspection-kiwis-nordiques"
|
vars.instructions_url = "/life-noc/item/jardin/inspection-kiwis-nordiques"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ apply Service "jardin-entretien-rhubarbe" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Entretien de la rhubarbe"
|
notes = "Entretien de la rhubarbe"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/entretien-rhubarbe"
|
vars.instructions_url = "/life-noc/item/jardin/entretien-rhubarbe"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,7 +120,7 @@ apply Service "jardin-inspection-groseillier" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection du groseillier"
|
notes = "Inspection du groseillier"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/inspection-groseillier"
|
vars.instructions_url = "/life-noc/item/jardin/inspection-groseillier"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,7 +140,7 @@ apply Service "jardin-inspection-muriers" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection des mûriers"
|
notes = "Inspection des mûriers"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/inspection-muriers"
|
vars.instructions_url = "/life-noc/item/jardin/inspection-muriers"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,28 +160,44 @@ apply Service "jardin-entretien-houblon" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification et entretien du houblon"
|
notes = "Vérification et entretien du houblon"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/entretien-houblon"
|
vars.instructions_url = "/life-noc/item/jardin/entretien-houblon"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "jardin-revision-pharmacopée-jardin" {
|
apply Service "jardin-revision-pharmacopée-jardin" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/jardin.yaml"
|
||||||
|
vars.life_noc_item_key = "revision-pharmacopée-jardin"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "revision-pharmacopée-jardin"
|
||||||
groups = [ "JARDIN" ]
|
groups = [ "JARDIN" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du stock de soins pour végétaux"
|
notes = "Vérification du stock de soins pour végétaux"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/revision-pharmacopée-jardin"
|
vars.instructions_url = "/life-noc/item/jardin/revision-pharmacopée-jardin"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "jardin-revision-armoire-produits-jardin" {
|
apply Service "jardin-revision-armoire-produits-jardin" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/jardin.yaml"
|
||||||
|
vars.life_noc_item_key = "revision-armoire-produits-jardin"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "revision-armoire-produits-jardin"
|
||||||
groups = [ "JARDIN" ]
|
groups = [ "JARDIN" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification et ordre de l'armoire des produits pour végétaux"
|
notes = "Vérification et ordre de l'armoire des produits pour végétaux"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/jardin/revision-armoire-produits-jardin"
|
vars.instructions_url = "/life-noc/item/jardin/revision-armoire-produits-jardin"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "maison-remplacement-filtre-fournaise" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Remplacer le filtre de la fournaise"
|
notes = "Remplacer le filtre de la fournaise"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/remplacement-filtre-fournaise"
|
vars.instructions_url = "/life-noc/item/maison/remplacement-filtre-fournaise"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "maison-inspection-fournaise" {
|
||||||
vars.life_noc_threshold_critical_gte = "210"
|
vars.life_noc_threshold_critical_gte = "210"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection générale de la fournaise avant saison froide"
|
notes = "Inspection générale de la fournaise avant saison froide"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-fournaise"
|
vars.instructions_url = "/life-noc/item/maison/inspection-fournaise"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "maison-inspection-thermopompe" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection et entretien de la thermopompe"
|
notes = "Inspection et entretien de la thermopompe"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-thermopompe"
|
vars.instructions_url = "/life-noc/item/maison/inspection-thermopompe"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "maison-nettoyage-unites-exterieures" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Nettoyer les unités extérieures et vérifier le dégagement"
|
notes = "Nettoyer les unités extérieures et vérifier le dégagement"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/nettoyage-unites-exterieures"
|
vars.instructions_url = "/life-noc/item/maison/nettoyage-unites-exterieures"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ apply Service "maison-inspection-toiture" {
|
||||||
vars.life_noc_threshold_critical_gte = "210"
|
vars.life_noc_threshold_critical_gte = "210"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection annuelle de la toiture"
|
notes = "Inspection annuelle de la toiture"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-toiture"
|
vars.instructions_url = "/life-noc/item/maison/inspection-toiture"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,7 +120,7 @@ apply Service "maison-inspection-gouttieres" {
|
||||||
vars.life_noc_threshold_critical_gte = "210"
|
vars.life_noc_threshold_critical_gte = "210"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection et nettoyage des gouttières"
|
notes = "Inspection et nettoyage des gouttières"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-gouttieres"
|
vars.instructions_url = "/life-noc/item/maison/inspection-gouttieres"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,7 +140,7 @@ apply Service "maison-inspection-fondation" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Inspection de la fondation et des fissures"
|
notes = "Inspection de la fondation et des fissures"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-fondation"
|
vars.instructions_url = "/life-noc/item/maison/inspection-fondation"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,7 +160,7 @@ apply Service "maison-verification-drainage-terrain" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du drainage autour de la maison"
|
notes = "Vérification du drainage autour de la maison"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/verification-drainage-terrain"
|
vars.instructions_url = "/life-noc/item/maison/verification-drainage-terrain"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -180,7 +180,7 @@ apply Service "maison-test-detecteurs-fumee" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Test des détecteurs de fumée"
|
notes = "Test des détecteurs de fumée"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/test-detecteurs-fumee"
|
vars.instructions_url = "/life-noc/item/maison/test-detecteurs-fumee"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -200,7 +200,7 @@ apply Service "maison-test-detecteurs-co" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Test des détecteurs de monoxyde de carbone"
|
notes = "Test des détecteurs de monoxyde de carbone"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/test-detecteurs-co"
|
vars.instructions_url = "/life-noc/item/maison/test-detecteurs-co"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -220,7 +220,7 @@ apply Service "maison-remplacement-piles-detecteurs" {
|
||||||
vars.life_noc_threshold_critical_gte = "210"
|
vars.life_noc_threshold_critical_gte = "210"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Remplacement préventif des piles des détecteurs"
|
notes = "Remplacement préventif des piles des détecteurs"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/remplacement-piles-detecteurs"
|
vars.instructions_url = "/life-noc/item/maison/remplacement-piles-detecteurs"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -240,7 +240,7 @@ apply Service "maison-verification-plomberie-visible" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification visuelle de la plomberie accessible"
|
notes = "Vérification visuelle de la plomberie accessible"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/verification-plomberie-visible"
|
vars.instructions_url = "/life-noc/item/maison/verification-plomberie-visible"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -260,7 +260,7 @@ apply Service "maison-inspection-sump-pump" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de la pompe de puisard si applicable"
|
notes = "Vérification de la pompe de puisard si applicable"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-sump-pump"
|
vars.instructions_url = "/life-noc/item/maison/inspection-sump-pump"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -280,7 +280,7 @@ apply Service "maison-verification-calfetrage" {
|
||||||
vars.life_noc_threshold_critical_gte = "210"
|
vars.life_noc_threshold_critical_gte = "210"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du calfeutrage portes et fenêtres"
|
notes = "Vérification du calfeutrage portes et fenêtres"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/verification-calfetrage"
|
vars.instructions_url = "/life-noc/item/maison/verification-calfetrage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -300,7 +300,7 @@ apply Service "maison-inspection-portes-garage" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification mécanique et sécurité des portes de garage"
|
notes = "Vérification mécanique et sécurité des portes de garage"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/inspection-portes-garage"
|
vars.instructions_url = "/life-noc/item/maison/inspection-portes-garage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -311,6 +311,6 @@ apply Service "maison-verification-extincteurs" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "MAISON" ]
|
groups = [ "MAISON" ]
|
||||||
notes = "Vérification des extincteurs"
|
notes = "Vérification des extincteurs"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/maison/verification-extincteurs"
|
vars.instructions_url = "/life-noc/item/maison/verification-extincteurs"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,28 +4,6 @@
|
||||||
Source: domains.yaml
|
Source: domains.yaml
|
||||||
*/
|
*/
|
||||||
|
|
||||||
apply Service "obligations-chezlepro-verification-registraire-entreprise" {
|
|
||||||
import "service_echeance"
|
|
||||||
vars.date_echeance = "2026-06-15"
|
|
||||||
vars.mock_state = "OK"
|
|
||||||
vars.mock_message = "Sous contrôle"
|
|
||||||
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
|
||||||
notes = "Vérifier les obligations au Registraire des entreprises"
|
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-registraire-entreprise"
|
|
||||||
assign where host.name == "life-noc"
|
|
||||||
}
|
|
||||||
|
|
||||||
apply Service "obligations-chezlepro-verification-declarations-taxes" {
|
|
||||||
import "service_echeance"
|
|
||||||
vars.date_echeance = "2026-04-30"
|
|
||||||
vars.mock_state = "OK"
|
|
||||||
vars.mock_message = "Sous contrôle"
|
|
||||||
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
|
||||||
notes = "Vérifier les obligations de taxes de l'entreprise si applicables"
|
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-declarations-taxes"
|
|
||||||
assign where host.name == "life-noc"
|
|
||||||
}
|
|
||||||
|
|
||||||
apply Service "obligations-chezlepro-verification-dossier-comptable-entreprise" {
|
apply Service "obligations-chezlepro-verification-dossier-comptable-entreprise" {
|
||||||
import "service_life_noc_probe"
|
import "service_life_noc_probe"
|
||||||
vars.life_noc_probe_type = "elapsed_time"
|
vars.life_noc_probe_type = "elapsed_time"
|
||||||
|
|
@ -42,7 +20,7 @@ apply Service "obligations-chezlepro-verification-dossier-comptable-entreprise"
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'ordre du dossier comptable Chezlepro"
|
notes = "Vérifier l'ordre du dossier comptable Chezlepro"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-dossier-comptable-entreprise"
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-dossier-comptable-entreprise"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,7 +40,7 @@ apply Service "obligations-chezlepro-verification-facturation-clients" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier la facturation et son suivi"
|
notes = "Vérifier la facturation et son suivi"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-facturation-clients"
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-facturation-clients"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -82,7 +60,7 @@ apply Service "obligations-chezlepro-verification-paiements-fournisseurs" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les paiements fournisseurs"
|
notes = "Vérifier les paiements fournisseurs"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-paiements-fournisseurs"
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-paiements-fournisseurs"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,18 +71,64 @@ apply Service "obligations-chezlepro-verification-contrats-ententes" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
||||||
notes = "Vérifier contrats, ententes et obligations associées"
|
notes = "Vérifier contrats, ententes et obligations associées"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-contrats-ententes"
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-contrats-ententes"
|
||||||
|
assign where host.name == "life-noc"
|
||||||
|
}
|
||||||
|
|
||||||
|
apply Service "obligations-chezlepro-verification-registraire-entreprise" {
|
||||||
|
import "service_life_noc_probe"
|
||||||
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
|
vars.life_noc_source_type = "manual_date"
|
||||||
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/obligations-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-registraire-entreprise"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "verification-registraire-entreprise"
|
||||||
|
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
||||||
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
|
vars.life_noc_threshold_warning_lt = "90"
|
||||||
|
vars.life_noc_threshold_critical_lt = "30"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Entrer la prochaine date limite pertinente."
|
||||||
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-registraire-entreprise"
|
||||||
|
assign where host.name == "life-noc"
|
||||||
|
}
|
||||||
|
|
||||||
|
apply Service "obligations-chezlepro-verification-declarations-taxes" {
|
||||||
|
import "service_life_noc_probe"
|
||||||
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
|
vars.life_noc_source_type = "manual_date"
|
||||||
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/obligations-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-declarations-taxes"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "verification-declarations-taxes"
|
||||||
|
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
||||||
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
|
vars.life_noc_threshold_warning_lt = "45"
|
||||||
|
vars.life_noc_threshold_critical_lt = "15"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Entrer la prochaine date limite applicable."
|
||||||
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-declarations-taxes"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "obligations-chezlepro-verification-assurances-entreprise" {
|
apply Service "obligations-chezlepro-verification-assurances-entreprise" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-06-01"
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_date"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/obligations-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-assurances-entreprise"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "verification-assurances-entreprise"
|
||||||
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
groups = [ "OBLIGATIONS-CHEZLEPRO" ]
|
||||||
notes = "Vérifier les assurances de l'entreprise"
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/verification-assurances-entreprise"
|
vars.life_noc_threshold_warning_lt = "90"
|
||||||
|
vars.life_noc_threshold_critical_lt = "30"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Entrer la date de renouvellement la plus proche."
|
||||||
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/verification-assurances-entreprise"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -124,6 +148,6 @@ apply Service "obligations-chezlepro-archivage-documents-entreprise" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Archiver les documents administratifs et financiers de l'entreprise"
|
notes = "Archiver les documents administratifs et financiers de l'entreprise"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-chezlepro/archivage-documents-entreprise"
|
vars.instructions_url = "/life-noc/item/obligations-chezlepro/archivage-documents-entreprise"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "obligations-legales-personnelles-verification-testament" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier la pertinence et l'actualité du testament"
|
notes = "Vérifier la pertinence et l'actualité du testament"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/verification-testament"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/verification-testament"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "obligations-legales-personnelles-verification-mandat-inaptitude"
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier le mandat de protection et documents connexes"
|
notes = "Vérifier le mandat de protection et documents connexes"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/verification-mandat-inaptitude"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/verification-mandat-inaptitude"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "obligations-legales-personnelles-verification-directives-medicale
|
||||||
vars.life_noc_threshold_critical_gte = "210"
|
vars.life_noc_threshold_critical_gte = "210"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les directives médicales anticipées"
|
notes = "Vérifier les directives médicales anticipées"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/verification-directives-medicales"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/verification-directives-medicales"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "obligations-legales-personnelles-verification-papiers-identite" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'expiration des papiers d'identité"
|
notes = "Vérifier l'expiration des papiers d'identité"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/verification-papiers-identite"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/verification-papiers-identite"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ apply Service "obligations-legales-personnelles-renouvellement-permis-conduire"
|
||||||
vars.life_noc_threshold_critical_lt = "7"
|
vars.life_noc_threshold_critical_lt = "7"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier la proximité de l’échéance du permis"
|
notes = "Vérifier la proximité de l’échéance du permis"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/renouvellement-permis-conduire"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/renouvellement-permis-conduire"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -111,7 +111,7 @@ apply Service "obligations-legales-personnelles-verification-carte-assurance-mal
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "OBLIGATIONS-LEGALES-PERSONNELLES" ]
|
groups = [ "OBLIGATIONS-LEGALES-PERSONNELLES" ]
|
||||||
notes = "Vérifier l'expiration de la carte d'assurance maladie"
|
notes = "Vérifier l'expiration de la carte d'assurance maladie"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/verification-carte-assurance-maladie"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/verification-carte-assurance-maladie"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -122,6 +122,6 @@ apply Service "obligations-legales-personnelles-verification-passeport" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "OBLIGATIONS-LEGALES-PERSONNELLES" ]
|
groups = [ "OBLIGATIONS-LEGALES-PERSONNELLES" ]
|
||||||
notes = "Vérifier l'expiration du passeport"
|
notes = "Vérifier l'expiration du passeport"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/obligations-legales-personnelles/verification-passeport"
|
vars.instructions_url = "/life-noc/item/obligations-legales-personnelles/verification-passeport"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "outils-et-equipements-entretien-outils-jardin" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Nettoyage et entretien des outils de jardin"
|
notes = "Nettoyage et entretien des outils de jardin"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/outils-et-equipements/entretien-outils-jardin"
|
vars.instructions_url = "/life-noc/item/outils-et-equipements/entretien-outils-jardin"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "outils-et-equipements-inspection-outils-electriques" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des outils électriques"
|
notes = "Vérification des outils électriques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/outils-et-equipements/inspection-outils-electriques"
|
vars.instructions_url = "/life-noc/item/outils-et-equipements/inspection-outils-electriques"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "outils-et-equipements-verification-rallonges-et-connecteurs" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des rallonges et connecteurs"
|
notes = "Vérification des rallonges et connecteurs"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/outils-et-equipements/verification-rallonges-et-connecteurs"
|
vars.instructions_url = "/life-noc/item/outils-et-equipements/verification-rallonges-et-connecteurs"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "outils-et-equipements-verification-compresseur-et-accessoires" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du compresseur et accessoires"
|
notes = "Vérification du compresseur et accessoires"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/outils-et-equipements/verification-compresseur-et-accessoires"
|
vars.instructions_url = "/life-noc/item/outils-et-equipements/verification-compresseur-et-accessoires"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,6 +100,6 @@ apply Service "outils-et-equipements-revision-inventaire-outillage" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue de l'inventaire d'outillage"
|
notes = "Revue de l'inventaire d'outillage"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/outils-et-equipements/revision-inventaire-outillage"
|
vars.instructions_url = "/life-noc/item/outils-et-equipements/revision-inventaire-outillage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "projets-revision-life-noc" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision du projet Life-NOC"
|
notes = "Révision du projet Life-NOC"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/projets/revision-life-noc"
|
vars.instructions_url = "/life-noc/item/projets/revision-life-noc"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "projets-revision-alliance-boreale" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision du projet Alliance Boréale"
|
notes = "Révision du projet Alliance Boréale"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/projets/revision-alliance-boreale"
|
vars.instructions_url = "/life-noc/item/projets/revision-alliance-boreale"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "projets-revision-erplibre" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision du projet ERPLibre"
|
notes = "Révision du projet ERPLibre"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/projets/revision-erplibre"
|
vars.instructions_url = "/life-noc/item/projets/revision-erplibre"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ apply Service "projets-revision-semence-numerique" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision du projet semence numérique"
|
notes = "Révision du projet semence numérique"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/projets/revision-semence-numerique"
|
vars.instructions_url = "/life-noc/item/projets/revision-semence-numerique"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ apply Service "projets-revision-ortrux-1" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision du système Ortrux-1"
|
notes = "Révision du système Ortrux-1"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/projets/revision-ortrux-1"
|
vars.instructions_url = "/life-noc/item/projets/revision-ortrux-1"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,6 +120,6 @@ apply Service "projets-revision-district16" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Révision du projet DISTRICT16"
|
notes = "Révision du projet DISTRICT16"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/projets/revision-district16"
|
vars.instructions_url = "/life-noc/item/projets/revision-district16"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "reseau-chezlepro-verification-firewalls" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des firewalls"
|
notes = "Vérification des firewalls"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-firewalls"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-firewalls"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "reseau-chezlepro-verification-vpn-openvpn" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des tunnels OpenVPN"
|
notes = "Vérification des tunnels OpenVPN"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-vpn-openvpn"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-vpn-openvpn"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,7 +51,7 @@ apply Service "reseau-chezlepro-verification-crl-certificats" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "RESEAU-CHEZLEPRO" ]
|
groups = [ "RESEAU-CHEZLEPRO" ]
|
||||||
notes = "Vérification de la CRL et des certificats"
|
notes = "Vérification de la CRL et des certificats"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-crl-certificats"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-crl-certificats"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ apply Service "reseau-chezlepro-verification-switches" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des switches et uplinks"
|
notes = "Vérification des switches et uplinks"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-switches"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-switches"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ apply Service "reseau-chezlepro-verification-vlans-segmentation" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de la segmentation réseau"
|
notes = "Vérification de la segmentation réseau"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-vlans-segmentation"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-vlans-segmentation"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -111,7 +111,7 @@ apply Service "reseau-chezlepro-verification-dns" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification DNS interne et externe"
|
notes = "Vérification DNS interne et externe"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-dns"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-dns"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -131,7 +131,7 @@ apply Service "reseau-chezlepro-verification-dynamic-dns" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du DNS dynamique si utilisé"
|
notes = "Vérification du DNS dynamique si utilisé"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-dynamic-dns"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-dynamic-dns"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -151,7 +151,7 @@ apply Service "reseau-chezlepro-audit-regles-firewall" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Audit périodique des règles de firewall"
|
notes = "Audit périodique des règles de firewall"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/audit-regles-firewall"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/audit-regles-firewall"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -171,17 +171,25 @@ apply Service "reseau-chezlepro-verification-geoblocking" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier le geoblocking et son effet attendu"
|
notes = "Vérifier le geoblocking et son effet attendu"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-geoblocking"
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-geoblocking"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "reseau-chezlepro-verification-certificats-publics" {
|
apply Service "reseau-chezlepro-verification-certificats-publics" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-06-01"
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_date"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/reseau-chezlepro.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-certificats-publics"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "verification-certificats-publics"
|
||||||
groups = [ "RESEAU-CHEZLEPRO" ]
|
groups = [ "RESEAU-CHEZLEPRO" ]
|
||||||
notes = "Vérifier les expirations de certificats publics"
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/reseau-chezlepro/verification-certificats-publics"
|
vars.life_noc_threshold_warning_lt = "45"
|
||||||
|
vars.life_noc_threshold_critical_lt = "15"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Retenir la date d’expiration la plus proche parmi les certificats publics suivis."
|
||||||
|
vars.instructions_url = "/life-noc/item/reseau-chezlepro/verification-certificats-publics"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,18 +20,26 @@ apply Service "resilience-test-generatrice-propane" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Test mensuel de la génératrice au propane"
|
notes = "Test mensuel de la génératrice au propane"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/test-generatrice-propane"
|
vars.instructions_url = "/life-noc/item/resilience/test-generatrice-propane"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "resilience-verification-carburant-generatrice" {
|
apply Service "resilience-verification-carburant-generatrice" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/resilience.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-carburant-generatrice"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-carburant-generatrice"
|
||||||
groups = [ "RESILIENCE" ]
|
groups = [ "RESILIENCE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'approvisionnement propane lié à la génératrice"
|
notes = "Vérification de l'approvisionnement propane lié à la génératrice"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/verification-carburant-generatrice"
|
vars.instructions_url = "/life-noc/item/resilience/verification-carburant-generatrice"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,18 +59,26 @@ apply Service "resilience-verification-procedure-bascule" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Réviser la procédure de bascule en mode secours"
|
notes = "Réviser la procédure de bascule en mode secours"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/verification-procedure-bascule"
|
vars.instructions_url = "/life-noc/item/resilience/verification-procedure-bascule"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "resilience-verification-stock-lampes-piles" {
|
apply Service "resilience-verification-stock-lampes-piles" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/resilience.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-stock-lampes-piles"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-stock-lampes-piles"
|
||||||
groups = [ "RESILIENCE" ]
|
groups = [ "RESILIENCE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des lampes, piles et éclairage d'urgence"
|
notes = "Vérification des lampes, piles et éclairage d'urgence"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/verification-stock-lampes-piles"
|
vars.instructions_url = "/life-noc/item/resilience/verification-stock-lampes-piles"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,7 +89,7 @@ apply Service "resilience-verification-trousses-urgence" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "RESILIENCE" ]
|
groups = [ "RESILIENCE" ]
|
||||||
notes = "Vérification des trousses d'urgence"
|
notes = "Vérification des trousses d'urgence"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/verification-trousses-urgence"
|
vars.instructions_url = "/life-noc/item/resilience/verification-trousses-urgence"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +109,7 @@ apply Service "resilience-revision-plan-urgence" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Réviser le plan d'urgence domestique"
|
notes = "Réviser le plan d'urgence domestique"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/revision-plan-urgence"
|
vars.instructions_url = "/life-noc/item/resilience/revision-plan-urgence"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,7 +129,7 @@ apply Service "resilience-test-autonomie-base" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'autonomie énergétique minimale attendue"
|
notes = "Vérifier l'autonomie énergétique minimale attendue"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/test-autonomie-base"
|
vars.instructions_url = "/life-noc/item/resilience/test-autonomie-base"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -124,6 +140,6 @@ apply Service "resilience-verification-moyens-cuisson-secours" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "RESILIENCE" ]
|
groups = [ "RESILIENCE" ]
|
||||||
notes = "Vérification des moyens de cuisson de secours"
|
notes = "Vérification des moyens de cuisson de secours"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/resilience/verification-moyens-cuisson-secours"
|
vars.instructions_url = "/life-noc/item/resilience/verification-moyens-cuisson-secours"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "revue-revue-quotidienne-life-noc" {
|
||||||
vars.life_noc_threshold_critical_gte = "3"
|
vars.life_noc_threshold_critical_gte = "3"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier le tableau de bord Life-NOC"
|
notes = "Vérifier le tableau de bord Life-NOC"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/revue/revue-quotidienne-life-noc"
|
vars.instructions_url = "/life-noc/item/revue/revue-quotidienne-life-noc"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "revue-revue-mensuelle-systeme-vie" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue mensuelle de l'ensemble du système Life-NOC"
|
notes = "Revue mensuelle de l'ensemble du système Life-NOC"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/revue/revue-mensuelle-systeme-vie"
|
vars.instructions_url = "/life-noc/item/revue/revue-mensuelle-systeme-vie"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -80,6 +80,6 @@ apply Service "revue-revue-trimestrielle-orientation" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue trimestrielle des orientations de vie et de Chezlepro"
|
notes = "Revue trimestrielle des orientations de vie et de Chezlepro"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/revue/revue-trimestrielle-orientation"
|
vars.instructions_url = "/life-noc/item/revue/revue-trimestrielle-orientation"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,29 +11,45 @@ apply Service "sante-verification-trousse-premiers-soins" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "SANTE" ]
|
groups = [ "SANTE" ]
|
||||||
notes = "Vérification de la trousse de premiers soins"
|
notes = "Vérification de la trousse de premiers soins"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/sante/verification-trousse-premiers-soins"
|
vars.instructions_url = "/life-noc/item/sante/verification-trousse-premiers-soins"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "sante-verification-expiration-medicaments" {
|
apply Service "sante-verification-expiration-medicaments" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_date"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/sante.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-expiration-medicaments"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "verification-expiration-medicaments"
|
||||||
groups = [ "SANTE" ]
|
groups = [ "SANTE" ]
|
||||||
notes = "Vérification des dates d'expiration des médicaments"
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/sante/verification-expiration-medicaments"
|
vars.life_noc_threshold_warning_lt = "90"
|
||||||
|
vars.life_noc_threshold_critical_lt = "30"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Mettre la plus proche date d’expiration pertinente."
|
||||||
|
vars.instructions_url = "/life-noc/item/sante/verification-expiration-medicaments"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "sante-revision-rendez-vous-medicaux" {
|
apply Service "sante-revision-rendez-vous-medicaux" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_date"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/sante.yaml"
|
||||||
|
vars.life_noc_item_key = "revision-rendez-vous-medicaux"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "revision-rendez-vous-medicaux"
|
||||||
groups = [ "SANTE" ]
|
groups = [ "SANTE" ]
|
||||||
notes = "Revoir les rendez-vous médicaux requis"
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/sante/revision-rendez-vous-medicaux"
|
vars.life_noc_threshold_warning_lt = "14"
|
||||||
|
vars.life_noc_threshold_critical_lt = "2"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Entrer la prochaine date significative déjà connue."
|
||||||
|
vars.instructions_url = "/life-noc/item/sante/revision-rendez-vous-medicaux"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -44,7 +60,7 @@ apply Service "sante-verification-lunettes-prescriptions" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "SANTE" ]
|
groups = [ "SANTE" ]
|
||||||
notes = "Vérifier les prescriptions et besoins de renouvellement"
|
notes = "Vérifier les prescriptions et besoins de renouvellement"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/sante/verification-lunettes-prescriptions"
|
vars.instructions_url = "/life-noc/item/sante/verification-lunettes-prescriptions"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -64,6 +80,6 @@ apply Service "sante-verification-dossier-sante" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'ordre et l'accessibilité des documents de santé"
|
notes = "Vérifier l'ordre et l'accessibilité des documents de santé"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/sante/verification-dossier-sante"
|
vars.instructions_url = "/life-noc/item/sante/verification-dossier-sante"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ apply Service "securite-chezlepro-verification-mises-a-jour-securite" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des mises à jour de sécurité"
|
notes = "Vérification des mises à jour de sécurité"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/securite-chezlepro/verification-mises-a-jour-securite"
|
vars.instructions_url = "/life-noc/item/securite-chezlepro/verification-mises-a-jour-securite"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ apply Service "securite-chezlepro-audit-comptes-acces" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Audit des comptes et accès privilégiés"
|
notes = "Audit des comptes et accès privilégiés"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/securite-chezlepro/audit-comptes-acces"
|
vars.instructions_url = "/life-noc/item/securite-chezlepro/audit-comptes-acces"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ apply Service "securite-chezlepro-verification-ids-snort" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des IDS et de leur état"
|
notes = "Vérification des IDS et de leur état"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/securite-chezlepro/verification-ids-snort"
|
vars.instructions_url = "/life-noc/item/securite-chezlepro/verification-ids-snort"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ apply Service "securite-chezlepro-revue-pki-privee" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "SECURITE-CHEZLEPRO" ]
|
groups = [ "SECURITE-CHEZLEPRO" ]
|
||||||
notes = "Revue de la PKI privée et des autorités intermédiaires"
|
notes = "Revue de la PKI privée et des autorités intermédiaires"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/securite-chezlepro/revue-pki-privee"
|
vars.instructions_url = "/life-noc/item/securite-chezlepro/revue-pki-privee"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ apply Service "securite-chezlepro-revue-politiques-securite" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue des politiques et pratiques de sécurité numérique"
|
notes = "Revue des politiques et pratiques de sécurité numérique"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/securite-chezlepro/revue-politiques-securite"
|
vars.instructions_url = "/life-noc/item/securite-chezlepro/revue-politiques-securite"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -111,6 +111,6 @@ apply Service "securite-chezlepro-verification-sauvegardes-configuration" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier les sauvegardes des configurations critiques"
|
notes = "Vérifier les sauvegardes des configurations critiques"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/securite-chezlepro/verification-sauvegardes-configuration"
|
vars.instructions_url = "/life-noc/item/securite-chezlepro/verification-sauvegardes-configuration"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,72 +20,120 @@ apply Service "stock-alimentaire-rotation-nourriture-seche" {
|
||||||
vars.life_noc_threshold_critical_gte = "45"
|
vars.life_noc_threshold_critical_gte = "45"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Rotation des stocks de nourriture sèche"
|
notes = "Rotation des stocks de nourriture sèche"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/rotation-nourriture-seche"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/rotation-nourriture-seche"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "stock-alimentaire-verification-reserve-eau" {
|
apply Service "stock-alimentaire-verification-reserve-eau" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/stock-alimentaire.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-reserve-eau"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-reserve-eau"
|
||||||
groups = [ "STOCK-ALIMENTAIRE" ]
|
groups = [ "STOCK-ALIMENTAIRE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de la réserve d'eau potable"
|
notes = "Vérification de la réserve d'eau potable"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/verification-reserve-eau"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/verification-reserve-eau"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "stock-alimentaire-verification-mylar-absorbeurs" {
|
apply Service "stock-alimentaire-verification-mylar-absorbeurs" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/stock-alimentaire.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-mylar-absorbeurs"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-mylar-absorbeurs"
|
||||||
groups = [ "STOCK-ALIMENTAIRE" ]
|
groups = [ "STOCK-ALIMENTAIRE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérifier l'intégrité des emballages Mylar et absorbeurs"
|
notes = "Vérifier l'intégrité des emballages Mylar et absorbeurs"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/verification-mylar-absorbeurs"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/verification-mylar-absorbeurs"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "stock-alimentaire-revue-inventaire-conserves" {
|
apply Service "stock-alimentaire-revue-inventaire-conserves" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/stock-alimentaire.yaml"
|
||||||
|
vars.life_noc_item_key = "revue-inventaire-conserves"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "revue-inventaire-conserves"
|
||||||
groups = [ "STOCK-ALIMENTAIRE" ]
|
groups = [ "STOCK-ALIMENTAIRE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Revue des conserves et dates de rotation"
|
notes = "Revue des conserves et dates de rotation"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/revue-inventaire-conserves"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/revue-inventaire-conserves"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "stock-alimentaire-revue-inventaire-farine-riz-pates" {
|
apply Service "stock-alimentaire-revue-inventaire-farine-riz-pates" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/stock-alimentaire.yaml"
|
||||||
|
vars.life_noc_item_key = "revue-inventaire-farine-riz-pates"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "revue-inventaire-farine-riz-pates"
|
||||||
groups = [ "STOCK-ALIMENTAIRE" ]
|
groups = [ "STOCK-ALIMENTAIRE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des gros stocks alimentaires de base"
|
notes = "Vérification des gros stocks alimentaires de base"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/revue-inventaire-farine-riz-pates"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/revue-inventaire-farine-riz-pates"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "stock-alimentaire-verification-bacs-legumes-racines" {
|
apply Service "stock-alimentaire-verification-bacs-legumes-racines" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-10-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/stock-alimentaire.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-bacs-legumes-racines"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "verification-bacs-legumes-racines"
|
||||||
groups = [ "STOCK-ALIMENTAIRE" ]
|
groups = [ "STOCK-ALIMENTAIRE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des bacs de stockage de légumes racines"
|
notes = "Vérification des bacs de stockage de légumes racines"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/verification-bacs-legumes-racines"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/verification-bacs-legumes-racines"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "stock-alimentaire-revue-supplements-vitamines" {
|
apply Service "stock-alimentaire-revue-supplements-vitamines" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "remaining_quantity"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/stock-alimentaire.yaml"
|
||||||
|
vars.life_noc_item_key = "revue-supplements-vitamines"
|
||||||
|
vars.life_noc_metric_unit = "%"
|
||||||
|
vars.life_noc_label = "revue-supplements-vitamines"
|
||||||
groups = [ "STOCK-ALIMENTAIRE" ]
|
groups = [ "STOCK-ALIMENTAIRE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "50"
|
||||||
|
vars.life_noc_threshold_warning_lt = "50"
|
||||||
|
vars.life_noc_threshold_critical_lt = "25"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification du stock de suppléments et dates utiles"
|
notes = "Vérification du stock de suppléments et dates utiles"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/stock-alimentaire/revue-supplements-vitamines"
|
vars.instructions_url = "/life-noc/item/stock-alimentaire/revue-supplements-vitamines"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,35 +5,62 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
apply Service "voiture-verification-huile-moteur" {
|
apply Service "voiture-verification-huile-moteur" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-01"
|
vars.life_noc_probe_type = "elapsed_distance"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_counter"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/voiture.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-huile-moteur"
|
||||||
|
vars.life_noc_metric_unit = "km"
|
||||||
|
vars.life_noc_label = "verification-huile-moteur"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
|
vars.life_noc_threshold_unknown_lt = "0"
|
||||||
|
vars.life_noc_threshold_ok_gte = "0"
|
||||||
|
vars.life_noc_threshold_warning_gte = "8000"
|
||||||
|
vars.life_noc_threshold_critical_gte = "10000"
|
||||||
|
vars.life_noc_on_error = "unknown"
|
||||||
notes = "Vérification de l'huile moteur"
|
notes = "Vérification de l'huile moteur"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-huile-moteur"
|
vars.instructions_url = "/life-noc/item/voiture/verification-huile-moteur"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "voiture-inspection-freins" {
|
apply Service "voiture-inspection-freins" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-05-01"
|
vars.life_noc_probe_type = "elapsed_distance"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_counter"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/voiture.yaml"
|
||||||
|
vars.life_noc_item_key = "inspection-freins"
|
||||||
|
vars.life_noc_metric_unit = "km"
|
||||||
|
vars.life_noc_label = "inspection-freins"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
|
vars.life_noc_threshold_unknown_lt = "0"
|
||||||
|
vars.life_noc_threshold_ok_gte = "0"
|
||||||
|
vars.life_noc_threshold_warning_gte = "15000"
|
||||||
|
vars.life_noc_threshold_critical_gte = "20000"
|
||||||
|
vars.life_noc_on_error = "unknown"
|
||||||
notes = "Inspection des freins"
|
notes = "Inspection des freins"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/inspection-freins"
|
vars.instructions_url = "/life-noc/item/voiture/inspection-freins"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "voiture-verification-pneus" {
|
apply Service "voiture-verification-pneus" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-04-15"
|
vars.life_noc_probe_type = "elapsed_distance"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_counter"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/voiture.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-pneus"
|
||||||
|
vars.life_noc_metric_unit = "km"
|
||||||
|
vars.life_noc_label = "verification-pneus"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
|
vars.life_noc_threshold_unknown_lt = "0"
|
||||||
|
vars.life_noc_threshold_ok_gte = "0"
|
||||||
|
vars.life_noc_threshold_warning_gte = "10000"
|
||||||
|
vars.life_noc_threshold_critical_gte = "12000"
|
||||||
|
vars.life_noc_on_error = "unknown"
|
||||||
notes = "Vérification usure, pression et permutation des pneus"
|
notes = "Vérification usure, pression et permutation des pneus"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-pneus"
|
vars.instructions_url = "/life-noc/item/voiture/verification-pneus"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -44,29 +71,46 @@ apply Service "voiture-ajustement-valves" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
notes = "Vérification et ajustement des valves Honda Accord"
|
notes = "Vérification et ajustement des valves Honda Accord"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/ajustement-valves"
|
vars.instructions_url = "/life-noc/item/voiture/ajustement-valves"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "voiture-verification-timing-belt" {
|
apply Service "voiture-verification-timing-belt" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2027-01-01"
|
vars.life_noc_probe_type = "elapsed_distance"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_counter"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/voiture.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-timing-belt"
|
||||||
|
vars.life_noc_metric_unit = "km"
|
||||||
|
vars.life_noc_label = "verification-timing-belt"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
|
vars.life_noc_threshold_unknown_lt = "0"
|
||||||
|
vars.life_noc_threshold_ok_gte = "0"
|
||||||
|
vars.life_noc_threshold_warning_gte = "150000"
|
||||||
|
vars.life_noc_threshold_critical_gte = "168000"
|
||||||
|
vars.life_noc_on_error = "unknown"
|
||||||
notes = "Vérification de la courroie de distribution et pompe à eau"
|
notes = "Vérification de la courroie de distribution et pompe à eau"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-timing-belt"
|
vars.instructions_url = "/life-noc/item/voiture/verification-timing-belt"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "voiture-verification-batterie-voiture" {
|
apply Service "voiture-verification-batterie-voiture" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-10-01"
|
vars.life_noc_probe_type = "current_value"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_value"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/voiture.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-batterie-voiture"
|
||||||
|
vars.life_noc_metric_unit = "volts"
|
||||||
|
vars.life_noc_label = "verification-batterie-voiture"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
|
vars.life_noc_threshold_ok_gte = "12.5"
|
||||||
|
vars.life_noc_threshold_warning_lt = "12.5"
|
||||||
|
vars.life_noc_threshold_critical_lt = "12.2"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'état de la batterie automobile"
|
notes = "Vérification de l'état de la batterie automobile"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-batterie-voiture"
|
vars.instructions_url = "/life-noc/item/voiture/verification-batterie-voiture"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,7 +130,7 @@ apply Service "voiture-verification-balais-essuie-glace" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification des essuie-glaces"
|
notes = "Vérification des essuie-glaces"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-balais-essuie-glace"
|
vars.instructions_url = "/life-noc/item/voiture/verification-balais-essuie-glace"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,7 +141,7 @@ apply Service "voiture-verification-liquides" {
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.mock_message = "Sous contrôle"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
notes = "Vérification des liquides de la voiture"
|
notes = "Vérification des liquides de la voiture"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-liquides"
|
vars.instructions_url = "/life-noc/item/voiture/verification-liquides"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -117,17 +161,25 @@ apply Service "voiture-verification-eclairage" {
|
||||||
vars.life_noc_threshold_critical_gte = "120"
|
vars.life_noc_threshold_critical_gte = "120"
|
||||||
vars.life_noc_on_error = "critical"
|
vars.life_noc_on_error = "critical"
|
||||||
notes = "Vérification de l'éclairage et des phares"
|
notes = "Vérification de l'éclairage et des phares"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-eclairage"
|
vars.instructions_url = "/life-noc/item/voiture/verification-eclairage"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply Service "voiture-verification-immatriculation-assurance" {
|
apply Service "voiture-verification-immatriculation-assurance" {
|
||||||
import "service_echeance"
|
import "service_life_noc_probe"
|
||||||
vars.date_echeance = "2026-06-01"
|
vars.life_noc_probe_type = "days_until_due"
|
||||||
vars.mock_state = "OK"
|
vars.life_noc_source_type = "manual_date"
|
||||||
vars.mock_message = "Sous contrôle"
|
vars.life_noc_source_value = ""
|
||||||
|
vars.life_noc_inputs_file = "/opt/life-noc/data/inputs/voiture.yaml"
|
||||||
|
vars.life_noc_item_key = "verification-immatriculation-assurance"
|
||||||
|
vars.life_noc_metric_unit = "days"
|
||||||
|
vars.life_noc_label = "verification-immatriculation-assurance"
|
||||||
groups = [ "VOITURE" ]
|
groups = [ "VOITURE" ]
|
||||||
notes = "Vérification papiers d'assurance et immatriculation"
|
vars.life_noc_threshold_ok_lt = "366"
|
||||||
vars.instructions_url = "http://192.168.12.40:8787/life-noc/item/voiture/verification-immatriculation-assurance"
|
vars.life_noc_threshold_warning_lt = "90"
|
||||||
|
vars.life_noc_threshold_critical_lt = "30"
|
||||||
|
vars.life_noc_on_error = "critical"
|
||||||
|
notes = "Retenir la date la plus proche à renouveler."
|
||||||
|
vars.instructions_url = "/life-noc/item/voiture/verification-immatriculation-assurance"
|
||||||
assign where host.name == "life-noc"
|
assign where host.name == "life-noc"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,18 @@ def set_item(domain: str, item_key: str, value: str, origin: str = "manual") ->
|
||||||
return data[item_key]
|
return data[item_key]
|
||||||
|
|
||||||
|
|
||||||
|
def set_counter_pair(domain: str, item_key: str, current_value: str, reference_value: str, origin: str = "manual") -> dict:
|
||||||
|
data = load_domain(domain)
|
||||||
|
data[item_key] = {
|
||||||
|
"value": current_value,
|
||||||
|
"reference_value": reference_value,
|
||||||
|
"captured_at": utc_now_iso(),
|
||||||
|
"origin": origin,
|
||||||
|
}
|
||||||
|
save_domain(domain, data)
|
||||||
|
return data[item_key]
|
||||||
|
|
||||||
|
|
||||||
def complete_item(domain: str, item_key: str, origin: str = "manual") -> dict:
|
def complete_item(domain: str, item_key: str, origin: str = "manual") -> dict:
|
||||||
return set_item(domain, item_key, utc_today_date(), origin=origin)
|
return set_item(domain, item_key, utc_today_date(), origin=origin)
|
||||||
|
|
||||||
|
|
@ -106,30 +118,33 @@ def compute_state_for_item(domain: str, item_key: str) -> str:
|
||||||
source = probe.get("source", {})
|
source = probe.get("source", {})
|
||||||
thresholds = probe.get("thresholds", {})
|
thresholds = probe.get("thresholds", {})
|
||||||
metric = probe.get("metric", {})
|
metric = probe.get("metric", {})
|
||||||
|
source_type = str(source.get("type", "")).strip()
|
||||||
if str(source.get("type", "")).strip() != "manual_date":
|
metric_unit = str(metric.get("unit", "")).strip()
|
||||||
return "CRITICAL"
|
|
||||||
if str(metric.get("unit", "")).strip() != "days":
|
|
||||||
return "CRITICAL"
|
|
||||||
|
|
||||||
item = get_item(domain, item_key)
|
item = get_item(domain, item_key)
|
||||||
value = str(item.get("value", "")).strip()
|
|
||||||
dt = datetime.strptime(value, "%Y-%m-%d").replace(tzinfo=timezone.utc)
|
|
||||||
now = datetime.now(timezone.utc)
|
|
||||||
|
|
||||||
if probe_type == "elapsed_time":
|
if probe_type in {"elapsed_time", "days_until_due"}:
|
||||||
days = (now - dt).total_seconds() / 86400.0
|
if source_type != "manual_date":
|
||||||
if "critical_gte" in thresholds and days >= float(thresholds["critical_gte"]):
|
return "CRITICAL"
|
||||||
|
if metric_unit != "days":
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
|
value = str(item.get("value", "")).strip()
|
||||||
|
dt = datetime.strptime(value, "%Y-%m-%d").replace(tzinfo=timezone.utc)
|
||||||
|
now = datetime.now(timezone.utc)
|
||||||
|
|
||||||
|
if probe_type == "elapsed_time":
|
||||||
|
days = (now - dt).total_seconds() / 86400.0
|
||||||
|
if "critical_gte" in thresholds and days >= float(thresholds["critical_gte"]):
|
||||||
|
return "CRITICAL"
|
||||||
|
if "warning_gte" in thresholds and days >= float(thresholds["warning_gte"]):
|
||||||
|
return "WARNING"
|
||||||
|
if "ok_gte" in thresholds and days >= float(thresholds["ok_gte"]):
|
||||||
|
return "OK"
|
||||||
|
if "unknown_lt" in thresholds and days < float(thresholds["unknown_lt"]):
|
||||||
|
return "UNKNOWN"
|
||||||
return "CRITICAL"
|
return "CRITICAL"
|
||||||
if "warning_gte" in thresholds and days >= float(thresholds["warning_gte"]):
|
|
||||||
return "WARNING"
|
|
||||||
if "ok_gte" in thresholds and days >= float(thresholds["ok_gte"]):
|
|
||||||
return "OK"
|
|
||||||
if "unknown_lt" in thresholds and days < float(thresholds["unknown_lt"]):
|
|
||||||
return "UNKNOWN"
|
|
||||||
return "CRITICAL"
|
|
||||||
|
|
||||||
if probe_type == "days_until_due":
|
|
||||||
days = (dt - now).total_seconds() / 86400.0
|
days = (dt - now).total_seconds() / 86400.0
|
||||||
if "critical_lt" in thresholds and days < float(thresholds["critical_lt"]):
|
if "critical_lt" in thresholds and days < float(thresholds["critical_lt"]):
|
||||||
return "CRITICAL"
|
return "CRITICAL"
|
||||||
|
|
@ -141,4 +156,68 @@ def compute_state_for_item(domain: str, item_key: str) -> str:
|
||||||
return "UNKNOWN"
|
return "UNKNOWN"
|
||||||
return "CRITICAL"
|
return "CRITICAL"
|
||||||
|
|
||||||
|
if probe_type == "elapsed_distance":
|
||||||
|
if source_type != "manual_counter":
|
||||||
|
return "CRITICAL"
|
||||||
|
if metric_unit != "km":
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
|
current_value = float(str(item.get("value", "")).strip())
|
||||||
|
reference_value = float(str(item.get("reference_value", "")).strip())
|
||||||
|
distance = current_value - reference_value
|
||||||
|
|
||||||
|
if "unknown_lt" in thresholds and distance < float(thresholds["unknown_lt"]):
|
||||||
|
return "UNKNOWN"
|
||||||
|
if "critical_gte" in thresholds and distance >= float(thresholds["critical_gte"]):
|
||||||
|
return "CRITICAL"
|
||||||
|
if "warning_gte" in thresholds and distance >= float(thresholds["warning_gte"]):
|
||||||
|
return "WARNING"
|
||||||
|
if "ok_gte" in thresholds and distance >= float(thresholds["ok_gte"]):
|
||||||
|
return "OK"
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
|
if probe_type == "remaining_quantity":
|
||||||
|
if source_type != "manual_value":
|
||||||
|
return "CRITICAL"
|
||||||
|
if metric_unit not in {"%", "units", "litres"}:
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
|
value = float(str(item.get("value", "")).strip())
|
||||||
|
|
||||||
|
if "critical_lt" in thresholds and value < float(thresholds["critical_lt"]):
|
||||||
|
return "CRITICAL"
|
||||||
|
if "warning_lt" in thresholds and value < float(thresholds["warning_lt"]):
|
||||||
|
return "WARNING"
|
||||||
|
if "ok_gte" in thresholds and value >= float(thresholds["ok_gte"]):
|
||||||
|
return "OK"
|
||||||
|
if "unknown_gte" in thresholds and value >= float(thresholds["unknown_gte"]):
|
||||||
|
return "UNKNOWN"
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
|
if probe_type == "current_value":
|
||||||
|
if source_type != "manual_value":
|
||||||
|
return "CRITICAL"
|
||||||
|
if metric_unit not in {"%", "units", "litres", "volts", "watts"}:
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
|
value = float(str(item.get("value", "")).strip())
|
||||||
|
|
||||||
|
if "critical_lt" in thresholds and value < float(thresholds["critical_lt"]):
|
||||||
|
return "CRITICAL"
|
||||||
|
if "critical_gte" in thresholds and value >= float(thresholds["critical_gte"]):
|
||||||
|
return "CRITICAL"
|
||||||
|
if "warning_lt" in thresholds and value < float(thresholds["warning_lt"]):
|
||||||
|
return "WARNING"
|
||||||
|
if "warning_gte" in thresholds and value >= float(thresholds["warning_gte"]):
|
||||||
|
return "WARNING"
|
||||||
|
if "ok_gte" in thresholds and value >= float(thresholds["ok_gte"]):
|
||||||
|
return "OK"
|
||||||
|
if "ok_lt" in thresholds and value < float(thresholds["ok_lt"]):
|
||||||
|
return "OK"
|
||||||
|
if "unknown_gte" in thresholds and value >= float(thresholds["unknown_gte"]):
|
||||||
|
return "UNKNOWN"
|
||||||
|
if "unknown_lt" in thresholds and value < float(thresholds["unknown_lt"]):
|
||||||
|
return "UNKNOWN"
|
||||||
|
return "CRITICAL"
|
||||||
|
|
||||||
return "CRITICAL"
|
return "CRITICAL"
|
||||||
|
|
|
||||||
|
|
@ -202,26 +202,50 @@ def validate_probe(item: dict) -> None:
|
||||||
raise ValueError("probe doit être un objet")
|
raise ValueError("probe doit être un objet")
|
||||||
|
|
||||||
probe_type = str(probe.get("type", "")).strip()
|
probe_type = str(probe.get("type", "")).strip()
|
||||||
if probe_type not in {"elapsed_time", "days_until_due"}:
|
if probe_type not in {"elapsed_time", "days_until_due", "elapsed_distance", "remaining_quantity", "current_value"}:
|
||||||
raise ValueError("seuls probe.type=elapsed_time et days_until_due sont supportés")
|
raise ValueError("seuls probe.type=elapsed_time, days_until_due, elapsed_distance, remaining_quantity et current_value sont supportés")
|
||||||
|
|
||||||
source = probe.get("source")
|
source = probe.get("source")
|
||||||
if not isinstance(source, dict):
|
if not isinstance(source, dict):
|
||||||
raise ValueError("probe.source doit être un objet")
|
raise ValueError("probe.source doit être un objet")
|
||||||
if str(source.get("type", "")).strip() != "manual_date":
|
|
||||||
raise ValueError("seul probe.source.type=manual_date est supporté en v1")
|
|
||||||
|
|
||||||
|
source_type = str(source.get("type", "")).strip()
|
||||||
has_inline_value = "value" in source
|
has_inline_value = "value" in source
|
||||||
has_store_ref = "inputs_file" in source and "item_key" in source
|
has_store_ref = "inputs_file" in source and "item_key" in source
|
||||||
|
|
||||||
if not has_inline_value and not has_store_ref:
|
if probe_type in {"elapsed_time", "days_until_due"}:
|
||||||
raise ValueError("probe.source.value ou probe.source.inputs_file + item_key requis")
|
if source_type != "manual_date":
|
||||||
|
raise ValueError("seul probe.source.type=manual_date est supporté pour les sondes de date")
|
||||||
|
if not has_inline_value and not has_store_ref:
|
||||||
|
raise ValueError("probe.source.value ou probe.source.inputs_file + item_key requis")
|
||||||
|
elif probe_type == "elapsed_distance":
|
||||||
|
if source_type != "manual_counter":
|
||||||
|
raise ValueError("seul probe.source.type=manual_counter est supporté pour elapsed_distance")
|
||||||
|
if not has_store_ref:
|
||||||
|
raise ValueError("probe.source.inputs_file + item_key requis pour elapsed_distance")
|
||||||
|
elif probe_type == "remaining_quantity":
|
||||||
|
if source_type != "manual_value":
|
||||||
|
raise ValueError("seul probe.source.type=manual_value est supporté pour remaining_quantity")
|
||||||
|
if not has_store_ref:
|
||||||
|
raise ValueError("probe.source.inputs_file + item_key requis pour remaining_quantity")
|
||||||
|
elif probe_type == "current_value":
|
||||||
|
if source_type != "manual_value":
|
||||||
|
raise ValueError("seul probe.source.type=manual_value est supporté pour current_value")
|
||||||
|
if not has_store_ref:
|
||||||
|
raise ValueError("probe.source.inputs_file + item_key requis pour current_value")
|
||||||
|
|
||||||
metric = probe.get("metric")
|
metric = probe.get("metric")
|
||||||
if not isinstance(metric, dict):
|
if not isinstance(metric, dict):
|
||||||
raise ValueError("probe.metric doit être un objet")
|
raise ValueError("probe.metric doit être un objet")
|
||||||
if str(metric.get("unit", "")).strip() != "days":
|
metric_unit = str(metric.get("unit", "")).strip()
|
||||||
raise ValueError("seul probe.metric.unit=days est supporté en v1")
|
if probe_type in {"elapsed_time", "days_until_due"} and metric_unit != "days":
|
||||||
|
raise ValueError("seul probe.metric.unit=days est supporté pour les sondes de date")
|
||||||
|
if probe_type == "elapsed_distance" and metric_unit != "km":
|
||||||
|
raise ValueError("seul probe.metric.unit=km est supporté pour elapsed_distance")
|
||||||
|
if probe_type == "remaining_quantity" and metric_unit not in {"%", "units", "litres"}:
|
||||||
|
raise ValueError("probe.metric.unit doit être %, units ou litres pour remaining_quantity")
|
||||||
|
if probe_type == "current_value" and metric_unit not in {"%", "units", "litres", "volts", "watts"}:
|
||||||
|
raise ValueError("probe.metric.unit doit être %, units, litres, volts ou watts pour current_value")
|
||||||
|
|
||||||
thresholds = probe.get("thresholds")
|
thresholds = probe.get("thresholds")
|
||||||
if not isinstance(thresholds, dict):
|
if not isinstance(thresholds, dict):
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ from lib.life_noc_inputs import ( # noqa: E402
|
||||||
list_items,
|
list_items,
|
||||||
get_item,
|
get_item,
|
||||||
set_item,
|
set_item,
|
||||||
|
set_counter_pair,
|
||||||
complete_item,
|
complete_item,
|
||||||
get_defined_service,
|
get_defined_service,
|
||||||
compute_state_for_item,
|
compute_state_for_item,
|
||||||
|
|
@ -52,6 +53,12 @@ class CompleteInputRequest(BaseModel):
|
||||||
origin: str = "manual"
|
origin: str = "manual"
|
||||||
|
|
||||||
|
|
||||||
|
class CounterPairInputRequest(BaseModel):
|
||||||
|
current_value: str
|
||||||
|
reference_value: str
|
||||||
|
origin: str = "manual"
|
||||||
|
|
||||||
|
|
||||||
app = FastAPI(title="Life-NOC Input API", version="1.1.0")
|
app = FastAPI(title="Life-NOC Input API", version="1.1.0")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -537,16 +544,34 @@ def api_complete_input(domain: str, item_key: str, req: CompleteInputRequest | N
|
||||||
return {"domain": domain, "item_key": item_key, **item}
|
return {"domain": domain, "item_key": item_key, **item}
|
||||||
|
|
||||||
|
|
||||||
|
@app.post("/inputs/{domain}/{item_key}/counter")
|
||||||
|
def api_set_counter_pair(domain: str, item_key: str, req: CounterPairInputRequest) -> dict:
|
||||||
|
item = set_counter_pair(
|
||||||
|
domain,
|
||||||
|
item_key,
|
||||||
|
current_value=req.current_value,
|
||||||
|
reference_value=req.reference_value,
|
||||||
|
origin=req.origin or "manual",
|
||||||
|
)
|
||||||
|
return {"domain": domain, "item_key": item_key, **item}
|
||||||
|
|
||||||
|
|
||||||
@app.get("/life-noc/item/{domain}/{item_key}", response_class=HTMLResponse)
|
@app.get("/life-noc/item/{domain}/{item_key}", response_class=HTMLResponse)
|
||||||
def page_item(domain: str, item_key: str) -> HTMLResponse:
|
def page_item(domain: str, item_key: str) -> HTMLResponse:
|
||||||
try:
|
try:
|
||||||
service = get_defined_service(domain, item_key)
|
service = get_defined_service(domain, item_key)
|
||||||
current_input = get_item(domain, item_key)
|
|
||||||
state = compute_state_for_item(domain, item_key)
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise HTTPException(status_code=404, detail="item introuvable")
|
raise HTTPException(status_code=404, detail="item introuvable")
|
||||||
except ValueError as exc:
|
|
||||||
raise HTTPException(status_code=400, detail=str(exc))
|
try:
|
||||||
|
current_input = get_item(domain, item_key)
|
||||||
|
except KeyError:
|
||||||
|
current_input = {}
|
||||||
|
|
||||||
|
try:
|
||||||
|
state = compute_state_for_item(domain, item_key)
|
||||||
|
except (KeyError, ValueError):
|
||||||
|
state = "UNKNOWN"
|
||||||
|
|
||||||
title = service.get("title") or service.get("display_name") or item_key.replace("-", " ").capitalize()
|
title = service.get("title") or service.get("display_name") or item_key.replace("-", " ").capitalize()
|
||||||
summary = service.get("summary", "")
|
summary = service.get("summary", "")
|
||||||
|
|
@ -580,14 +605,79 @@ def page_item(domain: str, item_key: str) -> HTMLResponse:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
manual_form_html = ""
|
manual_form_html = ""
|
||||||
if allow_manual_edit and form_mode == "complete_date":
|
if allow_manual_edit and form_mode in {"complete_date", "due_date"}:
|
||||||
|
form_title = "Mettre à jour la date" if form_mode == "complete_date" else "Définir l’échéance"
|
||||||
|
field_label = "Date" if form_mode == "complete_date" else "Date d’échéance"
|
||||||
|
form_hint = ""
|
||||||
|
if form_mode == "due_date":
|
||||||
|
form_hint = '<p class="muted">Saisir la date cible de cette échéance.</p>'
|
||||||
manual_form_html = f"""
|
manual_form_html = f"""
|
||||||
<section class="card">
|
<section class="card">
|
||||||
<h2>Mettre à jour la date</h2>
|
<h2>{html_escape(form_title)}</h2>
|
||||||
<form method="post" action="/life-noc/item/{html_escape(domain)}/{html_escape(item_key)}/set" class="actions">
|
{form_hint}
|
||||||
<input type="date" name="value" value="{html_escape(current_input.get('value', ''))}" required>
|
<form method="post" action="/life-noc/item/{html_escape(domain)}/{html_escape(item_key)}/set" class="form-grid">
|
||||||
|
<label>{html_escape(field_label)}
|
||||||
|
<input type="date" name="value" value="{html_escape(current_input.get('value', ''))}" required>
|
||||||
|
</label>
|
||||||
<input type="hidden" name="origin" value="manual">
|
<input type="hidden" name="origin" value="manual">
|
||||||
<button type="submit">Enregistrer</button>
|
<div class="actions">
|
||||||
|
<button type="submit">Enregistrer</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
"""
|
||||||
|
elif allow_manual_edit and form_mode == "counter_pair":
|
||||||
|
manual_form_html = f"""
|
||||||
|
<section class="card">
|
||||||
|
<h2>Mettre à jour les compteurs</h2>
|
||||||
|
<p class="muted">Saisir le compteur courant et le compteur au dernier entretien.</p>
|
||||||
|
<form method="post" action="/life-noc/item/{html_escape(domain)}/{html_escape(item_key)}/counter" class="form-grid two">
|
||||||
|
<label>Compteur courant
|
||||||
|
<input type="text" inputmode="decimal" name="current_value" value="{html_escape(current_input.get('value', ''))}" required>
|
||||||
|
</label>
|
||||||
|
<label>Compteur au dernier entretien
|
||||||
|
<input type="text" inputmode="decimal" name="reference_value" value="{html_escape(current_input.get('reference_value', ''))}" required>
|
||||||
|
</label>
|
||||||
|
<input type="hidden" name="origin" value="manual">
|
||||||
|
<div class="actions">
|
||||||
|
<button type="submit">Enregistrer</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
"""
|
||||||
|
elif allow_manual_edit and form_mode == "remaining_quantity":
|
||||||
|
unit = str(service.get("probe", {}).get("metric", {}).get("unit", "")).strip()
|
||||||
|
unit_hint = f" ({html_escape(unit)})" if unit else ""
|
||||||
|
manual_form_html = f"""
|
||||||
|
<section class="card">
|
||||||
|
<h2>Mettre à jour la quantité restante</h2>
|
||||||
|
<p class="muted">Saisir la quantité actuellement disponible{unit_hint}.</p>
|
||||||
|
<form method="post" action="/life-noc/item/{html_escape(domain)}/{html_escape(item_key)}/set" class="form-grid">
|
||||||
|
<label>Quantité restante{unit_hint}
|
||||||
|
<input type="text" inputmode="decimal" name="value" value="{html_escape(current_input.get('value', ''))}" required>
|
||||||
|
</label>
|
||||||
|
<input type="hidden" name="origin" value="manual">
|
||||||
|
<div class="actions">
|
||||||
|
<button type="submit">Enregistrer</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
"""
|
||||||
|
elif allow_manual_edit and form_mode == "numeric_value":
|
||||||
|
unit = str(service.get("probe", {}).get("metric", {}).get("unit", "")).strip()
|
||||||
|
unit_hint = f" ({html_escape(unit)})" if unit else ""
|
||||||
|
manual_form_html = f"""
|
||||||
|
<section class="card">
|
||||||
|
<h2>Mettre à jour la valeur</h2>
|
||||||
|
<p class="muted">Saisir la valeur observée{unit_hint}.</p>
|
||||||
|
<form method="post" action="/life-noc/item/{html_escape(domain)}/{html_escape(item_key)}/set" class="form-grid">
|
||||||
|
<label>Valeur courante{unit_hint}
|
||||||
|
<input type="text" inputmode="decimal" name="value" value="{html_escape(current_input.get('value', ''))}" required>
|
||||||
|
</label>
|
||||||
|
<input type="hidden" name="origin" value="manual">
|
||||||
|
<div class="actions">
|
||||||
|
<button type="submit">Enregistrer</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
"""
|
"""
|
||||||
|
|
@ -622,6 +712,7 @@ def page_item(domain: str, item_key: str) -> HTMLResponse:
|
||||||
<section class="card">
|
<section class="card">
|
||||||
<h2>Dernier intrant</h2>
|
<h2>Dernier intrant</h2>
|
||||||
<p><strong>Valeur :</strong> {html_escape(current_input.get('value', ''))}</p>
|
<p><strong>Valeur :</strong> {html_escape(current_input.get('value', ''))}</p>
|
||||||
|
{f'<p><strong>Valeur de référence :</strong> {html_escape(current_input.get("reference_value", ""))}</p>' if 'reference_value' in current_input else ''}
|
||||||
<p><strong>Capturé le :</strong> {html_escape(current_input.get('captured_at', ''))}</p>
|
<p><strong>Capturé le :</strong> {html_escape(current_input.get('captured_at', ''))}</p>
|
||||||
<p><strong>Origine :</strong> {html_escape(current_input.get('origin', ''))}</p>
|
<p><strong>Origine :</strong> {html_escape(current_input.get('origin', ''))}</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
@ -658,6 +749,18 @@ def page_set_item(domain: str, item_key: str, value: str = Form(...), origin: st
|
||||||
return RedirectResponse(url=f"/life-noc/item/{domain}/{item_key}", status_code=303)
|
return RedirectResponse(url=f"/life-noc/item/{domain}/{item_key}", status_code=303)
|
||||||
|
|
||||||
|
|
||||||
|
@app.post("/life-noc/item/{domain}/{item_key}/counter")
|
||||||
|
def page_set_counter(domain: str, item_key: str, current_value: str = Form(...), reference_value: str = Form(...), origin: str = Form(default="manual")) -> RedirectResponse:
|
||||||
|
try:
|
||||||
|
set_counter_pair(domain, item_key, current_value=current_value, reference_value=reference_value, origin=origin)
|
||||||
|
except KeyError:
|
||||||
|
raise HTTPException(status_code=404, detail="item introuvable")
|
||||||
|
except ValueError as exc:
|
||||||
|
raise HTTPException(status_code=400, detail=str(exc))
|
||||||
|
|
||||||
|
return RedirectResponse(url=f"/life-noc/item/{domain}/{item_key}", status_code=303)
|
||||||
|
|
||||||
|
|
||||||
@app.post("/life-noc/item/{domain}/{item_key}/complete")
|
@app.post("/life-noc/item/{domain}/{item_key}/complete")
|
||||||
def page_complete_item(domain: str, item_key: str, origin: str = Form(default="manual")) -> RedirectResponse:
|
def page_complete_item(domain: str, item_key: str, origin: str = Form(default="manual")) -> RedirectResponse:
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue