AprĂšs avoir intĂ©grĂ© mon environment vSphere ESX dans Datadog, il est logique de s’attaquer maintenant au cĆur de mon stockage : un NAS Synology. Contrairement Ă une VM classique, nous n’installons pas l’Agent directement sur l’OS du Synology (DSM). Nous utilisons Container Manager (anciennement Docker).
NOTE : Le systĂšme d’exploitation de Synology, DSM (DiskStation Manager), est une version modifiĂ©e et verrouillĂ©e de Linux. Installer un agent nativement demanderait de passer par le SSH, de compiler des paquets ou d’utiliser des scripts qui pourraient ĂȘtre Ă©crasĂ©s lors d’une mise Ă jour. L’utilisation de Docker sur un NAS Synology est la mĂ©thode recommandĂ©e car elle garantit la stabilitĂ© du systĂšme DSM en isolant l’agent dans un environnement dĂ©diĂ©, Ă©vitant ainsi toute modification risquĂ©e des fichiers racines. Cette approche simplifie radicalement la gestion des dĂ©pendances logicielles et les mises Ă jour, qui s’effectuent en quelques clics sans risque de conflit. Enfin, l’agent Docker bĂ©nĂ©ficie de l’Autodiscovery, lui permettant de dĂ©tecter et de surveiller automatiquement tous les autres conteneurs (Plex, Home Assistant, etc.) tournant sur votre Synology dĂšs son activation.
Le NAS doit supporter docker, vous pouvez retrouver la liste des NAS compatible ici :
https://www.synology.com/fr-fr/dsm/packages/ContainerManager
Bien que l’agent Docker soit puissant pour surveiller le « moteur » (CPU, RAM, conteneurs), il ne peut pas tout voir seul. L’activation du SNMP et du Syslog sur votre Synology permet de rĂ©cupĂ©rer les informations propre au NAS .
1. Le SNMP : L’accĂšs au « Hardware »
L’agent Docker tourne dans un environnement isolĂ©. Il a parfois du mal Ă interroger directement certains composants physiques du NAS. Le protocole SNMP (Simple Network Management Protocol) agit comme un traducteur standardisĂ©.
- Ătat des disques physiques : C’est via le SNMP que vous rĂ©cupĂ©rerez les donnĂ©es cruciales comme la tempĂ©rature exacte de chaque HDD/SSD, les erreurs de secteurs dĂ©fectueux et l’Ă©tat de santĂ© global (S.M.A.R.T).
- Gestion du RAID : Si un volume RAID se dĂ©grade sur votre DS1019, le SNMP enverra l’alerte immĂ©diatement Ă Datadog.
- Vitesse des ventilateurs : Pour surveiller si votre NAS surchauffe ou si un ventilateur est en train de lĂącher.
2. Le Syslog : L’historique des Ă©vĂ©nements (Le « Qui fait quoi »)
L’agent surveille les performances (les chiffres), mais le Syslog surveille les Ă©vĂ©nements (le texte).
- SĂ©curitĂ© et Connexions : Le Syslog vous informe en temps rĂ©el des tentatives de connexion Ă©chouĂ©es (attaques brute force) ou des connexions d’utilisateurs sur DSM.
- Erreurs systĂšme : Si une application native Synology (comme Hyper Backup) Ă©choue, l’erreur sera inscrite dans les journaux systĂšme. En envoyant ces logs vers Datadog, vous pouvez crĂ©er des alertes basĂ©es sur des mots-clĂ©s spĂ©cifiques (ex: « Critical », « Fail », « Error »).
- Audit : Savoir exactement quand un paramÚtre a été modifié ou quand une mise à jour a été lancée.
Comment les configurer rapidement ?
SNMP : Allez dans Panneau de configuration > Terminal & SNMP > SNMP.

NOTE : Utiliser le SNMPv3 en production
Syslog : Utilisez le paquet Centre des journaux (Log Center) de Synology pour rediriger les logs vers lui mĂȘme (l’agent sera en docker sur le NAS) sur le port UDP 514.

Tout est bon cĂŽtĂ© Synology, il ne nous reste plus qu’Ă installer l’agent depuis Container Manager qui remplace l’application Docker. On crĂ©e un nouveau projet :

On crĂ©e un fichier docker-compose.yml qui va reunir toutes les informations pour l’agent.
NOTE : Pour rĂ©diger le yaml, je suis parti de la version donnĂ©e par Datadog pour un environnement Docker. Je l’ai ensuite adaptĂ©e pour la structure interne du Synology.
version: '3.8'services: datadog-agent: image: registry.datadoghq.com/agent:7 container_name: dd-agent restart: unless-stopped # PrivilÚges élevés pour accéder aux stats matérielles du Synology privileged: true environment: - DD_API_KEY=VOTREAPIKEY - DD_SITE=datadoghq.com # à modifier en datadoghq.eu si vous avez choisi Datadog EU - DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true - DD_LOGS_ENABLED=true - DD_LOGS_CONFIG_AUTO_MULTI_LINE_DETECTION=true - DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true - DD_CONTAINER_EXCLUDE_LOGS=name:dd-agent - DD_PROCESS_CONFIG_PROCESS_COLLECTION_ENABLED=true - DD_ENV=lab ports: - "514:514/udp" volumes: # Socket Docker pour monitorer les autres conteneurs - /var/run/docker.sock:/var/run/docker.sock:ro # Métriques du systÚme hÎte (Synology) - /proc/:/host/proc/:ro - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro # Logs des conteneurs - /volume1/@docker/containers:/var/lib/docker/containers:ro # Dossier pour les données temporaires de l'agent # Note : Créez ce dossier sur votre Synology (ex: /volume1/docker/datadog/run) - /volume1/docker/datadog/run:/opt/datadog-agent/run:rw # Live Process : obligatoire pour savoir quel user lance quel process - /etc/passwd:/etc/passwd:ro # SNMP (Créez ce dossier et fichier sur votre Synology) - /volume1/docker/datadog/conf.d/snmp.d/conf.yaml:/etc/datadog-agent/conf.d/snmp.d/conf.yaml:ro #Syslog (Créez ce dossier et fichier sur votre Synology) - /volume1/docker/datadog/conf.d/syslog.d/conf.yaml:/etc/datadog-agent/conf.d/syslog.d/conf.yaml:ro
ATTENTION : Il y a plusieurs choses à faire pour que cela fonctionne : il faut créer :
- un dossier « run » sur votre NAS pour les données temporaires
- un dossier « snmp.d » avec un fichier conf.yaml
- un dossier « syslog.d » avec un fichier conf.yaml
Voila ce que ça donne chez moi :

snmp.d/conf.yaml
init_config: loader: core # use core check implementation of SNMP integration. recommended use_device_id_as_hostname: true # recommendedinstances:- ip_address: "IP DE VOTRE NAS" snmp_version: 2 community_string: 'VOTRESTRINGSNMP' # enclose with single quote profile: synology-disk-station
syslog.d/conf.yaml
logs: - type: udp port: 514 service: synology-system source: synology
Vous pouvez maintenant dĂ©ployer le container depuis l’interface de Container Manager en cliquant sur crĂ©er :

Au bout de quelques secondes on retrouve les donnĂ©es dans l’interface Datadog :
Infrastructure

Dashboard – Host Metrics

Metrics

Containers

Processes

Logs

Pour la partie SNMP, on retrouve les données dans la partie Explorer des metrics, vous pouvez retrouver la liste complÚte ici :
https://github.com/DataDog/integrations-core/blob/master/snmp/datadog_checks/snmp/data/default_profiles/synology-disk-station.yaml

On y retrouve toutes les donnĂ©es du NAS lui mĂȘme, on peut cliquer par ex sur diskTemperature, on voit que 5 metrics sont bien remontĂ©s, ça correspond bien aux 5 disques du DS1019+ et pourtant quand on clique sur Open in Metrics Explorer, on retrouve qu’une seule courbe :

NOTE : Par défaut Datadog fait une moyenne des 5 valeurs, on va lui demander de splitter ça avec 5 courbes :


On se retrouve donc bien avec la température de nos 5 disques, si on veut un affichage par disque, il suffit de cliquer sur Split Graph

Je veux maintenant ajouter sur le mĂȘme graphe la tempĂ©rature system de mon synology, il suffit d’ajouter une query


Bref vous voyez la puissance de la solution sur la personnalisation, c’est d’ailleurs mon prochain article, on verra comment se crĂ©er un dashboard complet avec mise en place d’alertes sur le tĂ©lĂ©phone si quelque chose arrive sur notre environnement.
STAY TUNED

Laisser un commentaire