La surveillance et la journalisation sont des aspects essentiels de la gestion et de la maintenance d’Ubuntu Server 22.04. Que vous exploitiez un seul serveur ou gériez une infrastructure complexe, des outils de surveillance efficaces vous permettent de suivre les performances du système, de résoudre les problèmes et de garantir la fiabilité. Ce guide couvrira la configuration de la journalisation centralisée à l’aide de rsyslog ou syslog-ng, le transfert des journaux vers un serveur de journalisation distant et l’intégration d’Ubuntu Server avec des plateformes de surveillance populaires comme Nagios, Zabbix et Prometheus.
01. Introduction à Ubuntu Server – SysOSX: AI & Cloud
02. Comment configurer votre premier serveur Ubuntu : guide du débutant – SysOSX: AI & Cloud
03. Maîtriser la ligne de commande Linux pour Ubuntu Server – SysOSX: AI & Cloud
05. Bases des réseaux pour Ubuntu Server : guide complet – SysOSX: AI & Cloud
06. Installer et gérer les logiciels sur Ubuntu Server : guide complet – SysOSX: AI & Cloud
07.Corriger et mettre à jour Ubuntu Server : guide complet – SysOSX: AI & Cloud
09. Audit et journalisation du serveur Ubuntu
10. Outils de surveillance système pour Ubuntu Server : guide complet – SysOSX: AI & Cloud
Pourquoi la surveillance des serveurs est importante
Dans le paysage numérique actuel, toujours connecté, 97 % des organisations considèrent la surveillance des serveurs comme cruciale pour la continuité des activités (IDC, 2024). Pour les utilisateurs d’Ubuntu Server 22.04, une surveillance efficace :
📊 Fournit des informations exploitables pour la planification des capacités
🛠️ Prévient 68 % des pannes potentielles grâce à la détection proactive
📈 Optimise l’allocation des ressources en suivant l’utilisation du processeur, de la RAM et du disque
🔍 Permet un dépannage rapide grâce à la journalisation centralisée
Journalisation centralisée sur Ubuntu Server
La journalisation centralisée consolide les journaux de plusieurs serveurs en un seul endroit, ce qui facilite l’analyse et le dépannage des problèmes dans votre infrastructure. Ubuntu Server 22.04 prend en charge des outils de journalisation puissants tels que rsyslog et syslog-ng.
Maîtrise de la journalisation centralisée
rsyslog vs syslog-ng : comparaison rapide
| Fonctionnalité | rsyslog | syslog-ng |
|---|---|---|
| Prise en charge des protocoles | UDP/TCP | UDP/TCP/TLS |
| Filtrage | Basique | Avancé |
| Performances | Élevé | Très élevé |
| Configuration | Simple | Complexe |
Configurer rsyslog pour la journalisation centralisée
rsyslog est un démon de journalisation fiable et largement utilisé, préinstallé sur Ubuntu Server. Suivez ces étapes pour le configurer pour la journalisation centralisée :
- Installer rsyslog (s’il n’est pas déjà installé) :
sudo apt update && sudo apt install rsyslog
- Modifier le fichier de configuration rsyslog :
Ouvrez/etc/rsyslog.confet décommentez les lignes suivantes pour activer le transfert des journaux via UDP ou TCP :
# For UDP
#module(load="imudp")
#input(type="imudp" port="514")
# For TCP
#module(load="imtcp")
#input(type="imtcp" port="514")
- Redémarrer le service rsyslog :
sudo systemctl restart rsyslog
- Configurer le transfert des journaux :
Pour transférer les journaux vers un serveur distant, ajoutez la ligne suivante à/etc/rsyslog.conf:
*.* @@remote-server-ip:514
- Remplacez
remote-server-ippar l’adresse IP de votre serveur de journalisation. Utilisez@pour UDP ou@@pour TCP.
Configurer syslog-ng pour la journalisation centralisée
syslog-ng est un autre outil de journalisation robuste qui offre des capacités avancées de filtrage et de journalisation. Voici comment le configurer :
- Installer syslog-ng :
sudo apt update && sudo apt install syslog-ng
- Configurer syslog-ng pour la journalisation centralisée :
Modifiez le fichier de configuration/etc/syslog-ng/syslog-ng.conf:
source s_local {
system();
internal();
};
destination d_remote {
tcp("remote-server-ip" port(514));
};
log {
source(s_local);
destination(d_remote);
};
- Remplacez
remote-server-ippar l’adresse IP de votre serveur de journalisation. - Redémarrer syslog-ng :
sudo systemctl restart syslog-ng
Transfert des journaux vers un serveur de journalisation distant
Le transfert des journaux vers un serveur distant est essentiel pour la surveillance centralisée dans les environnements distribués. Les deux outils rsyslog et syslog-ng prennent en charge le transfert des journaux via UDP ou TCP. Assurez-vous que votre serveur de journalisation distant est configuré pour accepter les journaux entrants sur le port spécifié (p. ex. 514).
Configuration du serveur de journalisation distant
Sur le serveur de journalisation distant, assurez-vous que rsyslog ou syslog-ng est configuré pour recevoir les journaux :
- Pour
rsyslogajoutez les lignes suivantes à/etc/rsyslog.conf:
module(load="imtcp")
input(type="imtcp" port="514")
- Pour
syslog-ngdéfinissez une source pour accepter les journaux entrants :
source s_remote {
tcp(port(514));
};
Intégration d’Ubuntu Server aux plateformes de surveillance
Les plateformes de surveillance comme Nagios, Zabbix et Prometheus fournissent des informations en temps réel sur la santé, les performances et l’utilisation des ressources de votre serveur. Voici comment intégrer Ubuntu Server 22.04 à ces outils.
Nagios : la solution classique
Nagios est un puissant outil de surveillance qui suit les performances du serveur et vous alerte des problèmes potentiels. Pour intégrer Nagios à Ubuntu Server :
- Installer l’agent Nagios :
sudo apt update && sudo apt install nagios-nrpe-server nagios-plugins
- Configurer NRPE :
Modifiez/etc/nagios/nrpe.cfgpour définir les commandes que Nagios surveillera :
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
- Redémarrer NRPE :
sudo systemctl restart nagios-nrpe-server
Zabbix : surveillance de niveau entreprise
Zabbix est une plateforme de surveillance de niveau entreprise avec de nombreuses options de personnalisation. Pour intégrer Zabbix à Ubuntu Server :
- Installer l’agent Zabbix :
sudo apt update && sudo apt install zabbix-agent
- Configurer l’agent Zabbix :
Modifiez/etc/zabbix/zabbix_agentd.confet définissez le serveur et le nom d’hôte :
Server=your-zabbix-server-ip
Hostname=UbuntuServer22.04
- Redémarrer l’agent Zabbix :
sudo systemctl restart zabbix-agent
Prometheus + Grafana : pile de surveillance moderne
Prometheus est un outil de surveillance moderne conçu pour l’évolutivité et la flexibilité. Pour intégrer Prometheus à Ubuntu Server :
- Installer Node Exporter :
Node Exporter est un agent léger pour exposer les métriques à Prometheus.
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
tar xvf node_exporter-1.7.0.linux-amd64.tar.gz
sudo mv node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/
- Exécuter Node Exporter :
sudo nohup /usr/local/bin/node_exporter &
- Configurer Prometheus :
Ajoutez le serveur Ubuntu à Prometheus en modifiant le fichierprometheus.yml:
scrape_configs:
- job_name: 'ubuntu_servers'
scrape_interval: 15s
static_configs:
- targets: ['server1:9100', 'server2:9100']
Idées de tableaux de bord Grafana :
- Carte thermique des ressources à l’échelle du cluster
- Prévision prédictive de l’espace disque
- Alertes de détection d’anomalies
Stratégies de surveillance pro
- Politique de conservation des journaux
- 7 jours – Systèmes critiques
- 30 jours – Serveurs généraux
- 1 an – Systèmes de conformité
- Meilleures pratiques pour les seuils d’alerte
- 🟢 Avertissement : 75 % d’utilisation du disque
- 🔴 Critique : 90 % d’utilisation du disque
- 📈 Déclencheurs de mise à l’échelle automatique : 70 % de processeur soutenu
- Optimisation des coûts
- Utilisez VictoriaMetrics pour une compression du stockage 10 fois supérieure à celle de Prometheus standard
- Mettez en œuvre l’échantillonnage des journaux pour les entrées de niveau débogage
La solution moderne : gestion des journaux par niveaux
Les équipes avisées combinent les stratégies de conservation :
| Niveau | Conservation | Type de stockage | Cas d’usage |
|---|---|---|---|
| Chaud | 7 jours | NVMe/SSD | Dépannage actif |
| Tiède | 30 jours | HDD/stockage cloud | Analyse post-mortem |
| Froid | 1 an+ | Glacier/S3 Deep Archive | Conformité/audits |
Exemple d’implémentation :
# Use logrotate with AWS S3 lifecycle rules
/var/log/nginx/*.log {
daily
rotate 7
compress
postrotate
/usr/bin/aws s3 sync /var/log/nginx/ s3://logs-hot/
find /var/log/nginx/ -type f -mtime +7 -exec aws s3 cp {} s3://logs-cold/ \;
endscript
}
Facteurs clés pour réévaluer la conservation
- Exigences de conformité
- GDPR : jusqu’à 6 ans pour les données personnelles
- SOX : 7 ans pour les systèmes financiers
- PCI-DSS : 1 an avec 3 mois de disponibilité immédiate
- Besoins d’investigation d’incidents
- Les attaques APT sont souvent découvertes 6 mois ou plus après une violation (Mandiant M-Trends 2024)
- Stratégies optimisées en coûts
- Compressez les journaux après 7 jours :
zstd --ultra -22(compression de plus de 80 %) - Utilisez des formats colonnaires (Parquet/ORC) pour un stockage analytique 60 % plus petit
- Compressez les journaux après 7 jours :
Recommandation révisée
Pour la plupart des systèmes critiques de production :
- Accès chaud : 7-14 jours (SSD/NVMe)
- Archive de conformité : 1 an+ (stockage à froid)
- Journaux de sécurité : 180 jours minimum (CIS Benchmark v4)
Exemple de configuration de conformité :
# Auditd rules for PCI-DSS
-a always,exit -F arch=b64 -S all -F path=/var/log/payment.log -F perm=wa -k payment_logs
FAQ : surveillance d’Ubuntu Server
Q : À quelle fréquence dois-je vérifier les métriques du serveur ?
A : – intervalles de 15 s pour les systèmes de production
- 1 min pour les charges de travail non critiques
Q : Puis-je surveiller les conteneurs Docker ?
A : Oui ! Utilisez :
- cAdvisor pour les métriques de conteneurs
- Prometheus Docker Swarm exporter
Q : Quel est le coût de la surveillance d’entreprise ?
A : Les solutions open source sont gratuites. Versions entreprise :
- Nagios XI : ~$1,995/an
- Zabbix Enterprise : ~$1,700/an
- Grafana Cloud : ~$50+/mois
Document de référence :
Syslog-ng: https://syslog-ng.github.io/
Rsyslogd: https://www.rsyslog.com/doc/index.html
Conclusion
La surveillance et la journalisation sont essentielles pour maintenir la santé et les performances d’Ubuntu Server. En configurant la journalisation centralisée avec rsyslog ou syslog-ng, en transférant les journaux vers un serveur distant et en intégrant des plateformes comme Nagios, Zabbix et Prometheus, vous pouvez obtenir des informations précieuses sur votre infrastructure et assurer un fonctionnement fluide.
Restez à l’écoute : Meilleures pratiques d’audit et de conformité pour Ubuntu Server
Une surveillance efficace du système n’est qu’un aspect du maintien d’un environnement serveur sécurisé et conforme. Dans notre prochain article, nous examinerons en détail les meilleures pratiques d’audit et de conformité pour Ubuntu Server, notamment un aperçu des normes de conformité telles que PCI-DSS et GDPR, la configuration des règles d’audit avec auditctl et la génération de rapports d’audit pour détecter les activités suspectes. Ne le manquez pas !
3 thoughts on “11. Centralized Logging for ubuntu server: a must read guide”