IntĂ©grer son NAS Synology avec la plateforme Datadog đŸ—„ïžâžĄïžđŸ“Š

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 # recommended
instances:
- 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

2 rĂ©ponses Ă  « IntĂ©grer son NAS Synology avec la plateforme Datadog đŸ—„ïžâžĄïžđŸ“ŠÂ Â»

  1. Top ce tuto ! J’utilise actuellement une stack TIG (Telegraf, InfluxDB, Grafana) pour mon NAS, mais la simplicitĂ© des dashboards Datadog me fait de l’Ɠil. Niveau consommation de ressources, l’Agent Datadog ne pĂšse pas trop sur le CPU de ton Synology ? En tout cas, l’article est trĂšs bien structurĂ©, merci !

    1. Salut ! Merci pour ton retour.
      L’avantage de l’Agent Datadog sur Synology, c’est qu’il est trĂšs bien optimisĂ© : sur mon NAS, il tourne via Docker et consomme en moyenne moins de 1 % de CPU et environ 150-200 Mo de RAM. C’est trĂšs raisonnable pour la puissance d’analyse que ça apporte.

      Le vrai gain, c’est surtout le temps de configuration. LĂ  oĂč Grafana demande pas mal de ‘tuning’ pour avoir quelque chose de propre, Datadog te sort des dashboards exploitables en 5 minutes.

      Si tu franchis le pas, n’hĂ©site pas Ă  me dire ce que tu en penses par rapport Ă  ta stack actuelle !

Laisser un commentaire

En savoir plus sur jbroberjot.com

Abonnez-vous pour poursuivre la lecture et avoir accùs à l’ensemble des archives.

Poursuivre la lecture