| ansible | ||
| bpm | ||
| checks | ||
| data/inputs | ||
| docs | ||
| icinga | ||
| lib | ||
| scripts | ||
| .gitignore | ||
| ansible.cfg | ||
| CHANGELOG.md | ||
| domains (Copie).yaml | ||
| domains.yaml | ||
| domains.yaml.orig | ||
| Makefile | ||
| README.md | ||
Life-NOC
Life-NOC applique la logique d'un centre d'opérations (NOC) à la vie quotidienne.
Le but du projet est de transformer la charge mentale invisible en état observable, afin de savoir rapidement ce qui est sous contrôle, ce qui approche d'une échéance et ce qui mérite de l'attention.
Cible de ce dépôt
Cette version vise désormais explicitement le scénario suivant :
Debian 12 vanille + utilisateur
ansible+ clé SSH = plateforme Life-NOC complète
Le dépôt automatise :
- l'ajout du dépôt officiel Icinga
- l'installation de MariaDB
- l'installation d'Icinga 2
- l'installation et la configuration d'IDO MySQL
- l'installation d'Apache et d'Icinga Web 2
- l'installation du module Business Process
- le déploiement de Life-NOC
- la génération des services Icinga et de l'artefact BPM
État fonctionnel
La modélisation métier reste mock-first :
- les domaines et éléments de vie sont décrits dans
domains.yaml - les services Icinga sont générés automatiquement
- les sondes sont mockées par défaut
- l'état par défaut est OK
Autrement dit, la POC valide :
- le modèle déclaratif
- la génération des artefacts
- le bootstrap complet de la plateforme
- le déploiement automatisé par Ansible
- l'affichage Icinga Web 2
- l'évolution future vers de vraies sondes
Structure du dépôt
life-noc/
├── ansible/
│ ├── group_vars/
│ ├── inventory.example
│ ├── roles/
│ │ ├── base/
│ │ ├── mariadb/
│ │ ├── icinga2/
│ │ ├── icingaweb2/
│ │ ├── businessprocess/
│ │ └── life_noc/
│ ├── deploy_life_noc.yml
│ └── site.yml
├── bpm/
├── checks/
├── docs/
├── icinga/
│ ├── commands/
│ ├── hosts/
│ ├── services/
│ └── templates/
├── scripts/
├── domains.yaml
├── Makefile
└── ansible.cfg
Source of truth
Le fichier central est :
domains.yaml
Chaque entrée décrit un élément Life-NOC avec :
name: identifiant lisibledate: métadonnée d'échéance ou de repèrenotes: contexte humainmock_state: état simulé (OK,WARNING,CRITICAL) — optionnelmock_message: message simulé — optionnel
Par défaut :
mock_state = OKmock_message = Sous contrôle
Déploiement from scratch
Depuis la machine de contrôle Debian 12 :
cp ansible/inventory.example ansible/inventory
cp ansible/group_vars/all.yml.example ansible/group_vars/all.yml
Modifier ensuite :
- l'hôte cible dans
ansible/inventory - les mots de passe dans
ansible/group_vars/all.yml
Puis lancer :
make bootstrap
ou :
ansible-playbook -i ansible/inventory ansible/site.yml
Génération locale
Générer les services Icinga
python3 scripts/generate_services.py
Générer l'artefact BPM
python3 scripts/generate_bpm.py
Makefile
Le dépôt fournit un Makefile pour les gestes courants.
Exemples :
make generate
make validate
make check
make bootstrap
make deploy-with-bpm
make package
Pour la liste complète :
make help
Accès web attendus
Une fois le playbook terminé, les chemins utiles sont typiquement :
/icingaweb2
/icingaweb2/monitoring/host/show?host=life-noc
/icingaweb2/monitoring/list/services?host_name=life-noc
Documentation complémentaire
docs/concept.mddocs/architecture.mddocs/deploiement-from-scratch.md
Philosophie de cette POC
Cette POC ne prétend pas encore mesurer le réel.
Elle sert à construire proprement :
- l'ossature du système
- la hiérarchie des domaines
- les conventions de nommage
- la chaîne de génération
- le bootstrap serveur
- le déploiement
- l'intégration Icinga Web 2
Les vraies sondes viendront plus tard, en remplacement progressif des mocks.