3 Commits
v0.1 ... v0.2

2 changed files with 64 additions and 78 deletions

123
README.md
View File

@@ -59,93 +59,60 @@ La partie systèmes et réseaux consiste à déployer une infrastructure virtual
- Utilisation de Goss pour vérifier le bon fonctionnement des services et des machines - Utilisation de Goss pour vérifier le bon fonctionnement des services et des machines
---
# Mission I2 - Supervision des serveurs ap31-prod et ap31-test
## Mission I2 : Supervision avec Zabbix ## Objectifs de la mission
## Objectif - Superviser les serveurs `ap31-prod` et `ap31-test` avec Zabbix installé sur `ap31-mon`.
- Vérifier la connectivité (ping), accès SSH, et service web pour `ap31-test`.
- Utiliser les agents `zabbix_agent2` et associer les templates `linux-server`.
- Envoyer des notifications en cas dincident (non réalisé via Zabbix mais avec Uptime Kuma).
Mettre en place une supervision centralisée des serveurs `ap3x-prod` et `ap3x-test` depuis la machine `ap3x-mon` à l'aide de Zabbix. ## Installation et configuration
Lobjectif est dassurer une surveillance complète via plusieurs protocoles et services :
- Vérification de la disponibilité réseau (ping) - Installation via `apt` des paquets Zabbix serveur, frontend, agent2, et MariaDB.
- Surveillance via **Zabbix Agent2** avec application de templates Linux standards - Création dune base MariaDB dédiée à Zabbix avec utilisateur spécifique et import du schéma initial.
- Contrôle de laccès SSH sur les serveurs - Configuration de linterface web Zabbix avec connexion à la base MariaDB locale.
- Supervision de laccès HTTP pour le serveur `ap3x-test` - Activation automatique et vérification des services Zabbix.
- Mise en place dun système dalerte pour notifier automatiquement en cas de problème
- Extension de la supervision à dautres équipements réseaux critiques (passerelle `gwsiox`, serveurs `px`, `pxlabx`, `gwlab`) ## Déploiement et supervision
- Utilisation du wizard agent avec clés PSK pour déployer les agents sur `ap31-prod` et `ap31-test`.
- Association des templates `linux-server` aux agents.
- Difficultés rencontrées avec les templates ICMP (ping) et Apache2 web, non fonctionnels.
- Les templates SSH nont pas été utilisés faute daccès SSH disponible.
- La gestion des alertes na pas été réalisée via Zabbix mais déléguée à Uptime Kuma.
--- ---
## Environnement Technique # Mission I3 - Mise en place d'une infrastructure de gestion centralisée des logs
| Élément | Description | ## Objectifs de la mission
|---------------------|-----------------------------------|
| Système dexploitation | Debian.12 Bookworm | - Centraliser les logs de plusieurs serveurs (`ap31-prod`, `ap31-test`, `gwsiox`) sur une machine dédiée (`ap31-mon`) via `systemd-journal-remote`.
| Zabbix | Version 7.4. | - Mettre en place une politique de rotation et de rétention des logs syslog, avec une rotation hebdomadaire sur 4 semaines.
| Base de données | MariaDB 10.11 | - Garantir la cohérence temporelle entre toutes les machines impliquées grâce à une synchronisation horaire fiable.
| Serveur Web | Apache2 + PHP 8.2 |
| Ports utilisés | 10050 (Zabbix agent), 10051 (Zabbix serveur), 3306 (journald-remote) | ## Mise en œuvre
--- ### Sur la machine centrale (réceptrice `ap31-mon`)
## Installation & Configuration - Activation et configuration du service `systemd-journal-remote` pour recevoir les logs via HTTP.
- Création et gestion du répertoire `/var/log/journal/remote` avec les permissions appropriées.
### Installation des composants principaux - Rechargement des services systemd et vérification de lécoute sur le port dédié.
- Installation des paquets Zabbix serveur, frontend, agent2 et MariaDB via apt ### Sur les serveurs sources (`ap31-prod` et `ap31-test`)
- Configuration dune base MariaDB dédiée à Zabbix avec création dun utilisateur spécifique et import du schéma initial
- Mise en place de linterface web Zabbix avec paramètres de connexion vers MariaDB (host `localhost`, port 3306 par défaut) - Installation du paquet `systemd-journal-remote` pour permettre lenvoi des logs.
- Configuration des services Zabbix pour démarrer automatiquement et vérification de leur état (`systemctl status`) - Configuration dynamique de ladresse du serveur de réception dans `/etc/systemd/journal-upload.conf` via un script bash.
- Activation et démarrage du service `systemd-journal-upload` pour transmettre les journaux système vers `ap31-mon`.
### Gestion des agents Zabbix
### Gestion des logs et synchronisation
- Remplacement du `zabbix-agent` classique par `zabbix-agent2` permet une meilleure robustesse,et lintégration professionnelle. pour corriger les problèmes liés au PID et aux permissions, il est aussi plus récent
- Configuration des agents sur `ap3x-prod` et `ap3x-test` avec le template Linux standard afin davoir une collecte précise et homogène des métriques - Mise en place dune rotation des logs syslog, configurée pour une périodicité hebdomadaire avec une conservation de 4 semaines.
- Utilisation de `timedatectl` pour définir le fuseau horaire et garantir la synchronisation temporelle sur toutes les machines.
### Supervision réseau et services
- Vérification des accès SSH et HTTP via des vérifications simples dans Zabbix (Simple checks et HTTP checks)
---
## Supervision centralisée des logs avec journald-remote
Pour aller au-delà de la simple supervision système, un serveur de logs centralisé a été mis en place sur `ap3x-mon` :
- Installation et configuration du service `systemd-journal-remote` pour recevoir les logs système des serveurs supervisés
- Script automatisé (`journald-rcv.sh`) pour configurer le serveur receveur avec les bons droits et paramètres (écoute HTTP sur le port 3306)
- Script client (`journald-snd.sh`) sur chaque serveur supervisé permettant denvoyer leurs journaux via `systemd-journal-upload` vers le serveur central
- Cette centralisation facilite la collecte, lanalyse et la corrélation des événements pour une meilleure détection des incidents
---
## Problèmes rencontrés et solutions apportées
| Problème | Analyse | Solution appliquée |
|---------------------------------|-----------------------------------------|---------------------------------------------|
| Service `zabbix-agent` ne démarre pas | Problèmes liés au fichier PID, conflits avec agent2 | Migration vers `zabbix-agent2`, nettoyage des sockets, correction des droits |
| Connexion à MariaDB échoue | Mauvais mot de passe, base non initialisée | Réinitialisation du mot de passe, création manuelle de la base et import du schéma |
| Centralisation des logs non fonctionnelle | Mauvaise configuration ou absence de service `journald-remote` | Installation et configuration via scripts automatisés, activation du service socket |
---
## Résultats obtenus
- Interface Zabbix opérationnelle et accessible via navigateur web
- Serveur Zabbix et agents en état actif et fonctionnel
- Collecte fiable des métriques systèmes et réseau sur les serveurs supervisés
- Supervision des accès SSH et HTTP fonctionnelle
- Mise en place dune infrastructure de logs centralisée opérationnelle avec réception régulière des journaux sur `ap3x-mon`
---
## Étapes suivantes
- Configuration de scénarios HTTP et vérifications spécifiques à `ap3x-test`
- Mise en place des alertes personnalisées (email, webhook, autres moyens)
- Ajout des équipements réseau supplémentaires à la supervision (passerelle, serveurs px, gwlab)
- Gestion des dépendances entre hôtes et services dans Zabbix pour éviter les alertes redondantes
--- ---

View File

@@ -0,0 +1,19 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the journal-upload.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# See journal-upload.conf(5) for details.
[Upload]
URL=http://ap31-mon.sio.lan:19532
# ServerKeyFile=/etc/ssl/private/journal-upload.pem
# ServerCertificateFile=/etc/ssl/certs/journal-upload.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem