11. Journalisation centralisée pour Ubuntu Server: un guide indispensable

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

04. Gérer les utilisateurs et les autorisations sur Ubuntu Server : guide complet – 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

08. Sécuriser votre serveur Ubuntu : étapes pratiques de durcissement et de protection – 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érsyslogsyslog-ng
Prise en charge des protocolesUDP/TCPUDP/TCP/TLS
FiltrageBasiqueAvancé
PerformancesÉlevéTrès élevé
ConfigurationSimpleComplexe

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.conf et 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-ip par 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-ip par 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 rsyslog ajoutez les lignes suivantes à /etc/rsyslog.conf :
    module(load="imtcp")
    input(type="imtcp" port="514")
    
    
    • Pour syslog-ng dé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.cfg pour 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.conf et 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 fichier prometheus.yml :
        scrape_configs:
          - job_name: 'ubuntu_servers'
            scrape_interval: 15s
            static_configs:
              - targets: ['server1:9100', 'server2:9100']
        
        

        Idées de tableaux de bord Grafana :

        1. Carte thermique des ressources à l’échelle du cluster
        2. Prévision prédictive de l’espace disque
        3. Alertes de détection d’anomalies

        Stratégies de surveillance pro

        1. Politique de conservation des journaux
          • 7 jours – Systèmes critiques
          • 30 jours – Serveurs généraux
          • 1 an – Systèmes de conformité
        2. 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
        3. 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 :

        NiveauConservationType de stockageCas d’usage
        Chaud7 joursNVMe/SSDDépannage actif
        Tiède30 joursHDD/stockage cloudAnalyse post-mortem
        Froid1 an+Glacier/S3 Deep ArchiveConformité/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

        1. 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
        2. Besoins d’investigation d’incidents
          • Les attaques APT sont souvent découvertes 6 mois ou plus après une violation (Mandiant M-Trends 2024)
        3. 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

        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”

        Laisser un commentaire