Cette article fait suite Ă l’intĂ©gration de mon Synology Ă l’environnement Datadog :
PossĂ©der des donnĂ©es est une chose, mais savoir les interprĂ©ter et ĂȘtre alertĂ© au bon moment en est une autre. L’objectif n’est pas de consulter ses graphiques toutes les heures, mais de transformer Datadog en une vĂ©ritable tour de contrĂŽle autonome pour mon HomeLab.
Dans cet article, nous allons passer à la vitesse supérieure à travers trois piliers essentiels :
- La crĂ©ation d’un Dashboard personnalisĂ© : Comment organiser visuellement les indicateurs clĂ©s (CPU, RAM, Disques) pour obtenir un Ă©tat de santĂ© complet en un seul coup d’Ćil.
- La mise en place du Monitoring et de l’Alerting : Comment crĂ©er des alertes intelligentes pour surveiller la disponibilitĂ© du systĂšme, la tempĂ©rature du NAS et les donnĂ©es SMART des disques.
- La dĂ©finition d’un SLO (Service Level Objective)
1. Créer un Dashboard unifié et personnalisé
Pour construire le dashboard visible sur l’image, j’ai piochĂ© les mĂ©triques les plus pertinentes dans les tableaux de bord natifs :
- L’IntĂ©gration SNMP : Indispensable pour la partie matĂ©rielle pure, comme la tempĂ©rature des disques, les scores S.A.M.A.R.T. et l’Ă©tat des volumes de stockage.
- L’Agent Datadog : Il me donne la vision systĂšme « standard » : l’uptime, la charge CPU globale et l’utilisation prĂ©cise de la mĂ©moire RAM.
- Docker : Comme mon Synology DS1019+ hĂ©berge des conteneurs, les mĂ©triques Docker permettent de surveiller l’impact de chaque service sur les ressources du NAS.
Organisation visuelle : Priorité à la clarté
Le dashboard est divisé en blocs logiques pour réduire la fatigue visuelle.
La section « Overview » (Vision SystÚme)
En haut Ă gauche, on retrouve les indicateurs de santĂ© immĂ©diate. J’ai utilisĂ© des widgets de type Query Value pour afficher l’uptime et l’utilisation actuelle des ressources, des Timeseries pour le CPU et la RAM en fonction du temps et un SLO Datadog pour afficher le SLA de notre NAS.

La section « Disques » (Vision Mécanique)
- Températures : Chaque disque a son propre widget. On remarque une stabilité exemplaire autour de 40°C.
- S.A.M.A.R.T. : Un tableau rĂ©capitule l’Ă©tat de santĂ© de chaque baie. Si une ligne passe du vert Ă l’orange, je sais exactement quel disque physique je dois inspecter.
- Performances : Je mesure les IO/s, la bande passante et les I/O wait

Analyse temporelle et prédictive
Les graphiques de flux rĂ©seaux permettent d’identifier les pics d’activitĂ©, tandis que le widget Projection Disk Usage utilise l’intelligence de Datadog pour prĂ©dire la saturation de mes volumes.

L’astuce : La force d’un dashboard personnalisĂ© est de ne montrer que ce qui nĂ©cessite une attention. En regroupant le SNMP, l’Agent et Docker sur une seule page, on transforme des donnĂ©es brutes en un vĂ©ritable outil de dĂ©cision.

En bas du dashboard, on retrouve une partie sur les containers docker et les logs de notre NAS.
2. Passer Ă la surveillance proactive avec les Monitors
Un dashboard est un outil d’observation formidable, mais l’objectif ultime est que votre infrastructure vous alerte avant mĂȘme que vous n’ayez besoin de consulter vos Ă©crans. Pour cela, nous allons configurer trois types de Monitors complĂ©mentaires qui couvrent la disponibilitĂ©, la sĂ©curitĂ© matĂ©rielle et la gestion des ressources.

Le Host Monitor : Surveiller la disponibilité
Le premier rempart est de s’assurer que le NAS est « en vie ». Nous utilisons pour cela un Host Monitor.
- Le principe : Datadog surveille l’arrivĂ©e des donnĂ©es. Si le flux s’interrompt pendant plus de 2 minutes, une alerte est dĂ©clenchĂ©e.
- L’automatisation par les tags : PlutĂŽt que de crĂ©er une alerte par machine, nous utilisons le mode Multi-Alert groupĂ© par
host. Ainsi, si vous ajoutez un second NAS ou un serveur avec le tagenv:prod, il sera automatiquement intégré à cette surveillance.
Le Monitor Thermique : Protéger le matériel
Comme on peut le voir sur l’image, les disques stabilisent normalement autour de 40°C. Cependant, la chaleur est le premier facteur de panne des disques durs.
- Configuration : Nous créons un Metric Monitor basé sur la métrique de température récupérée via SNMP.
- Seuil d’alerte : J’ai fixĂ© une limite stricte Ă 45°C.
- UtilitĂ© : Ce moniteur permet d’intervenir (nettoyage des poussiĂšres, vĂ©rification de la climatisation ou de la ventilation) bien avant que le systĂšme ne se mette en sĂ©curitĂ© thermique de maniĂšre brutale.


Le Monitor de Stockage : Anticiper la saturation
Sur un NAS, le manque d’espace peut bloquer des services critiques (backups, bases de donnĂ©es, enregistrements vidĂ©os). Il est donc crucial d’ĂȘtre prĂ©venu bien avant d’atteindre le point de rupture.
Pour ce monitor, nous utilisons des seuils progressifs basĂ©s sur le pourcentage d’utilisation du volume :
- Warning (70%) : Une simple notification pour signaler qu’il est temps de commencer Ă faire du tri ou de prĂ©voir l’achat de nouveaux disques.
- Critical (90%) : Une alerte prioritaire indiquant une saturation imminente qui nécessite une action immédiate.
Un systÚme de notification unifié
L’intĂ©rĂȘt de ces trois moniteurs est qu’ils parlent le mĂȘme langage. Qu’il s’agisse d’une perte de connexion, d’une surchauffe ou d’un disque plein, les messages d’alerte utilisent des variables dynamiques comme {{host.name}} ou {{value}}) pour vous donner le contexte exact du problĂšme directement sur votre tĂ©lĂ©phone ou votre boĂźte mail.
3. Mesurer la fiabilité avec le SLO (Service Level Objective)
Il reste une Ă©tape pour passer au niveau « Enterprise » : mesurer la fiabilitĂ© sur le long terme. Câest ici quâintervient le SLO.
Pourquoi un SLO pour un NAS perso ?
Une alerte vous dit : « Câest cassĂ© maintenant ». Un SLO vous dit : « Sur les 30 derniers jours, ton NAS a Ă©tĂ© disponible 99,5% du temps ». Cela permet de voir si vos interventions ou vos changements de configuration dĂ©gradent la stabilitĂ© globale de votre infrastructure.
Mise en place : L’objectif de 99%
Pour mon Synology, j’ai configurĂ© un SLO basĂ© sur le Host Monitor créé prĂ©cĂ©demment :

- Indicateur (SLI) : On utilise l’Ă©tat du monitor de disponibilitĂ©.
- Objectif : J’ai fixĂ© un seuil de 99% de disponibilitĂ© sur une fenĂȘtre glissante de 30 jours.
Le SLO permet de transformer une sĂ©rie d’alertes isolĂ©es en une mĂ©trique de performance globale. C’est le juge de paix de votre auto-hĂ©bergement.
Conclusion : Une infrastructure sous contrĂŽle
Passer d’un simple NAS Ă un systĂšme supervisĂ© change radicalement la gestion d’un HomeLab. En combinant ces trois outils, nous avons créé un Ă©cosystĂšme complet :
- Le Dashboard personnalisĂ© nous donne une visibilitĂ© immĂ©diate et corrĂšle les donnĂ©es SNMP, l’Agent et Docker.
- Les Monitors agissent comme des sentinelles automatiques sur la tempĂ©rature, l’espace disque et la prĂ©sence des machines.
- Le SLO nous apporte le recul nécessaire pour juger de la qualité de notre service.
EDIT : Voici le JSON du Dashboard
{"title":"Synology DS1019+","description":"Dashboard for my DS1019+","widgets":[{"id":5070408916011355,"definition":{"title":"DS1019+ Overview","background_color":"green","show_title":true,"type":"group","layout_type":"ordered","widgets":[{"id":8084726153783740,"definition":{"type":"image","url":"/api/v2/images/a2b14ee0-bf09-4c7a-b90a-9150a73b86a1","sizing":"contain","has_background":true,"has_border":true,"vertical_align":"center","horizontal_align":"center"},"layout":{"x":0,"y":0,"width":3,"height":4}},{"id":7368638937463335,"definition":{"title":"SLA","title_size":"16","title_align":"left","type":"slo","slo_id":"94fffca88b1059de911fdbb93d9e4ebe","view_type":"detail","view_mode":"overall","time_windows":["30d"],"show_error_budget":false},"layout":{"x":3,"y":0,"width":3,"height":4}},{"id":7806723140720138,"definition":{"title":"CPU","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:system.cpu.user{$host}","aggregator":"last"}],"formulas":[{"formula":"query1"}],"conditional_formats":[{"comparator":">","value":90,"palette":"red_on_white"},{"comparator":">","value":80,"palette":"yellow_on_white"},{"comparator":"<=","value":80,"palette":"green_on_white"}]}],"autoscale":true,"precision":0,"timeseries_background":{"yaxis":{"include_zero":false},"type":"area"}},"layout":{"x":6,"y":0,"width":2,"height":2}},{"id":6751042094901455,"definition":{"title":"RAM Used","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:system.mem.total{$host}","aggregator":"last"},{"name":"query2","data_source":"metrics","query":"avg:system.mem.usable{$host}","aggregator":"last"}],"conditional_formats":[{"comparator":">","value":7000000000,"palette":"red_on_white"},{"comparator":">","value":6000000000,"palette":"yellow_on_white"},{"comparator":"<=","value":6000000000,"palette":"green_on_white"}],"formulas":[{"formula":"query1 - query2"}]}],"autoscale":true,"text_align":"center","precision":1,"timeseries_background":{"yaxis":{},"type":"bars"}},"layout":{"x":8,"y":0,"width":2,"height":2}},{"id":6793354230368095,"definition":{"title":"Disk Used","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:system.disk.used{device:/dev/mapper/cachedev_0,$host}","aggregator":"last"}],"formulas":[{"formula":"query1"}]}],"autoscale":true,"precision":1},"layout":{"x":10,"y":0,"width":2,"height":2}},{"id":6951583527473552,"definition":{"title":"System uptime","type":"query_value","requests":[{"response_format":"scalar","queries":[{"data_source":"metrics","name":"query1","query":"avg:system.uptime{host:DS1019,$host}","aggregator":"last"}]}],"autoscale":true,"precision":1},"layout":{"x":6,"y":2,"width":2,"height":2}},{"id":3731024887356470,"definition":{"title":"Total Memory","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:system.mem.total{$host}","aggregator":"last"}],"formulas":[{"formula":"query1"}]}],"autoscale":true,"precision":2},"layout":{"x":8,"y":2,"width":2,"height":2}},{"id":4805240331047793,"definition":{"title":"Total Space","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:system.disk.total{device:/dev/mapper/cachedev_0,$host}","aggregator":"last"}],"formulas":[{"formula":"query1"}]}],"autoscale":true,"precision":1},"layout":{"x":10,"y":2,"width":2,"height":2}}]},"layout":{"x":0,"y":0,"width":12,"height":5}},{"id":1532945984467018,"definition":{"title":"CPU usage (%)","show_legend":false,"legend_layout":"horizontal","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"% time in idle state","formula":"query1"},{"alias":"% time running the kernel","formula":"query2"},{"alias":"% time waiting for IO operations to complete","formula":"query3"},{"alias":"% time running user space processes","formula":"query4"},{"alias":"% time the virtual CPU spent waiting for the hypervisor to service another virtual CPU","formula":"query5"},{"alias":"% time running the virtual processor","formula":"query6"}],"queries":[{"query":"avg:system.cpu.idle{$host}","data_source":"metrics","name":"query1"},{"query":"avg:system.cpu.system{$host}","data_source":"metrics","name":"query2"},{"query":"avg:system.cpu.iowait{$host}","data_source":"metrics","name":"query3"},{"query":"avg:system.cpu.user{$host}","data_source":"metrics","name":"query4"},{"query":"avg:system.cpu.stolen{$host}","data_source":"metrics","name":"query5"},{"query":"avg:system.cpu.guest{$host}","data_source":"metrics","name":"query6"}],"response_format":"timeseries","style":{"palette":"cool","line_type":"solid","line_width":"normal"},"display_type":"area"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"}},"layout":{"x":0,"y":5,"width":6,"height":3}},{"id":8521653879808878,"definition":{"title":"RAM","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"RAM Usable","formula":"query2"},{"alias":"RAM Used","formula":"query1 - query2"}],"response_format":"timeseries","queries":[{"query":"sum:system.mem.usable{host:DS1019,$host}","data_source":"metrics","name":"query2"},{"query":"sum:system.mem.total{host:DS1019,$host}","data_source":"metrics","name":"query1"}],"style":{"palette":"cool","color_order":"monotonic","order_by":"tags","order_reverse":false,"line_type":"solid","line_width":"normal"},"display_type":"area"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":6,"y":5,"width":6,"height":3}},{"id":4332440843571457,"definition":{"title":"Projection Disk Usage ","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type":"live","unit":"week","value":4},"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"name":"query1","data_source":"metrics","query":"avg:system.disk.in_use{device:/dev/mapper/cachedev_0}"}],"formulas":[{"formula":"forecast(query1, 'linear', 4)"}],"style":{"palette":"dog_classic","order_by":"values","line_type":"solid","line_width":"normal"},"display_type":"line"}],"markers":[{"label":" Warning ","value":"y = 0.7","display_type":"warning dashed"},{"label":" Critical ","value":"y = 0.9","display_type":"error solid"}]},"layout":{"x":0,"y":8,"width":12,"height":3}},{"id":3479930444846693,"definition":{"title":"Network Inbound Throughput ","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"data_source":"metrics","name":"query1","query":"avg:snmp.ifHCInOctets{interface:ovs_bond0} by {interface}.as_rate()"}],"formulas":[{"formula":"query1"}],"style":{"palette":"cool","line_type":"solid","line_width":"normal"},"display_type":"line"}]},"layout":{"x":0,"y":11,"width":6,"height":3}},{"id":8200776746413110,"definition":{"title":"Network Outbound Throughput ","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"data_source":"metrics","name":"query1","query":"avg:snmp.ifHCOutOctets{interface:ovs_bond0} by {interface}.as_rate()"}],"formulas":[{"formula":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"}}]},"layout":{"x":6,"y":11,"width":6,"height":3}},{"id":3626862976338838,"definition":{"title":"Docker","background_color":"blue","show_title":true,"type":"group","layout_type":"ordered","widgets":[]},"layout":{"x":0,"y":14,"width":12,"height":1}},{"id":8926048837636368,"definition":{"type":"image","url":"/static/images/logos/docker_small.svg","sizing":"fit"},"layout":{"x":0,"y":15,"width":4,"height":2}},{"id":442823205391635,"definition":{"title":"Running containers","title_size":"16","title_align":"center","time":{"type":"live","unit":"minute","value":1},"type":"query_value","requests":[{"response_format":"scalar","queries":[{"data_source":"metrics","name":"query1","query":"sum:docker.containers.running{host:DS1019}","aggregator":"last"}],"formulas":[{"formula":"query1"}]}],"autoscale":true,"text_align":"center","custom_links":[],"precision":0},"layout":{"x":4,"y":15,"width":4,"height":2}},{"id":3597303745845524,"definition":{"title":"Stopped containers","title_size":"16","title_align":"center","time":{"type":"live","unit":"minute","value":1},"type":"query_value","requests":[{"response_format":"scalar","queries":[{"data_source":"metrics","name":"query1","query":"sum:docker.containers.stopped{host:DS1019}","aggregator":"last"}],"formulas":[{"formula":"query1"}]}],"autoscale":true,"text_align":"center","custom_links":[],"precision":0},"layout":{"x":8,"y":15,"width":4,"height":2}},{"id":4582180381205041,"definition":{"title":"Running container change","title_size":"16","title_align":"center","time":{"type":"live","unit":"minute","value":5},"type":"query_value","requests":[{"conditional_formats":[{"comparator":">=","value":80,"palette":"black_on_light_green"},{"comparator":">","value":50,"palette":"black_on_light_yellow"},{"comparator":">=","value":0,"palette":"black_on_light_red"}],"response_format":"scalar","queries":[{"data_source":"metrics","name":"query2","query":"sum:docker.containers.running{host:DS1019}","aggregator":"last"},{"data_source":"metrics","name":"query1","query":"sum:docker.containers.running{host:DS1019}","aggregator":"last"}],"formulas":[{"number_format":{"unit":{"label":"%","type":"custom_unit_label"}},"formula":"100 * (query2 / timeshift(query1, -300))"}]}],"autoscale":false,"text_align":"center","custom_links":[],"precision":0},"layout":{"x":0,"y":17,"width":4,"height":2}},{"id":2700647768577493,"definition":{"title":"Running containers by image","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type":"live","unit":"hour","value":1},"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"data_source":"metrics","name":"query1","query":"sum:docker.containers.running{host:DS1019} by {docker_image}.fill(0)"}],"formulas":[{"formula":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"custom_links":[]},"layout":{"x":4,"y":17,"width":8,"height":2}},{"id":1191863284585500,"definition":{"title":"","time":{"type":"live","unit":"day","value":1},"requests":[{"query":{"query_string":"source:docker host:DS1019","data_source":"event_stream","event_size":"s"},"columns":[],"response_format":"event_list"}],"type":"list_stream"},"layout":{"x":0,"y":19,"width":6,"height":5}},{"id":7094969814655910,"definition":{"title":"Most tx-intensive containers","title_size":"16","title_align":"left","time":{"type":"live","unit":"hour","value":1},"type":"toplist","requests":[{"style":{"palette":"purple"},"response_format":"scalar","queries":[{"data_source":"metrics","name":"query1","query":"avg:docker.net.bytes_sent{host:DS1019} by {container_name}","aggregator":"max"}],"formulas":[{"formula":"query1"}],"sort":{"count":5,"order_by":[{"type":"formula","index":0,"order":"desc"}]}}],"custom_links":[],"style":{}},"layout":{"x":6,"y":19,"width":6,"height":5}},{"id":3273080493097966,"definition":{"title":"Disques","background_color":"orange","show_title":true,"type":"group","layout_type":"ordered","widgets":[{"id":4861501660994920,"definition":{"title":"Sytem Temp","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:snmp.synology.system.temperature{*}","aggregator":"last"}],"conditional_formats":[{"comparator":"<=","value":40.5,"palette":"black_on_light_green"},{"comparator":">","value":40.5,"palette":"black_on_light_yellow"},{"comparator":">","value":50,"palette":"black_on_light_red"}],"formulas":[{"number_format":{"unit":{"type":"canonical_unit","unit_name":"degree celsius"}},"formula":"query1"}],"comparison":{"type":"absolute","duration":{"type":"previous_timeframe"},"directionality":"decrease_better"}}],"autoscale":true,"precision":0},"layout":{"x":0,"y":0,"width":5,"height":2}},{"id":6535823171702029,"definition":{"title":"Historique de Tempérautre","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type":"live","unit":"week","value":1},"type":"timeseries","requests":[{"response_format":"timeseries","queries":[{"data_source":"metrics","name":"query1","query":"avg:snmp.synology.system.temperature{*}"}],"formulas":[{"style":{"palette":"classic","palette_index":3},"formula":"query1"}],"style":{"palette":"cool","order_by":"values","color_order":"monotonic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"markers":[{"value":"45 < y < 50","display_type":"warning dashed"},{"value":"y > 50","display_type":"error solid"}]},"layout":{"x":5,"y":0,"width":7,"height":2}},{"id":6714145064867234,"definition":{"title":"Disk 1","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:snmp.synology.diskTemperature{synology_disk_id:disk_1}","aggregator":"last"}],"conditional_formats":[{"comparator":"<=","value":40,"palette":"black_on_light_green"},{"comparator":">","value":40,"palette":"black_on_light_yellow"},{"comparator":">","value":50,"palette":"black_on_light_red"}],"formulas":[{"number_format":{"unit":{"type":"canonical_unit","unit_name":"degree celsius"}},"formula":"query1"}]}],"autoscale":true,"precision":0},"layout":{"x":0,"y":2,"width":1,"height":3}},{"id":4534633273882953,"definition":{"title":"Disk 2","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:snmp.synology.diskTemperature{synology_disk_id:disk_2} by {synology_disk_id}","aggregator":"last"}],"conditional_formats":[{"comparator":"<=","value":40,"palette":"black_on_light_green"},{"comparator":">","value":40,"palette":"black_on_light_yellow"},{"comparator":">","value":50,"palette":"black_on_light_red"}],"formulas":[{"number_format":{"unit":{"type":"canonical_unit","unit_name":"degree celsius"}},"formula":"query1"}]}],"autoscale":true,"precision":0},"layout":{"x":1,"y":2,"width":1,"height":3}},{"id":6100886262380820,"definition":{"title":"Disk 3","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:snmp.synology.diskTemperature{synology_disk_id:disk_3} by {synology_disk_id}","aggregator":"last"}],"conditional_formats":[{"comparator":"<=","value":40,"palette":"black_on_light_green"},{"comparator":">","value":40,"palette":"black_on_light_yellow"},{"comparator":">","value":50,"palette":"black_on_light_red"}],"formulas":[{"number_format":{"unit":{"type":"canonical_unit","unit_name":"degree celsius"}},"formula":"query1"}]}],"autoscale":true,"precision":0},"layout":{"x":2,"y":2,"width":1,"height":3}},{"id":3619877521442352,"definition":{"title":"Disk 4","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:snmp.synology.diskTemperature{synology_disk_id:disk_4} by {synology_disk_id}","aggregator":"last"}],"conditional_formats":[{"comparator":"<=","value":40,"palette":"black_on_light_green"},{"comparator":">","value":40,"palette":"black_on_light_yellow"},{"comparator":">","value":50,"palette":"black_on_light_red"}],"formulas":[{"number_format":{"unit":{"type":"canonical_unit","unit_name":"degree celsius"}},"formula":"query1"}]}],"autoscale":true,"precision":0},"layout":{"x":3,"y":2,"width":1,"height":3}},{"id":5403120396497643,"definition":{"title":"Disk 5","title_size":"16","title_align":"left","type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"avg:snmp.synology.diskTemperature{synology_disk_id:disk_5} by {synology_disk_id}","aggregator":"last"}],"conditional_formats":[{"comparator":"<=","value":40,"palette":"black_on_light_green"},{"comparator":">","value":40,"palette":"black_on_light_yellow"},{"comparator":">","value":50,"palette":"black_on_light_red"}],"formulas":[{"number_format":{"unit":{"type":"canonical_unit","unit_name":"degree celsius"}},"formula":"query1"}]}],"autoscale":true,"precision":0},"layout":{"x":4,"y":2,"width":1,"height":3}},{"id":3276823006306919,"definition":{"title":"S.M.A.R.T","title_size":"16","title_align":"left","type":"query_table","requests":[{"queries":[{"data_source":"metrics","name":"query1","query":"avg:snmp.synology.diskSMARTAttrCurrent{*} by {synology_disk_smart_info_dev_name,synology_disk_smart_attr_status}","aggregator":"last"}],"response_format":"scalar","text_formats":[[],[{"match":{"type":"is","value":"ok"},"palette":"green_on_white"},{"match":{"type":"is_not","value":"ok"},"palette":"white_on_red"}]],"sort":{"order_by":[{"type":"group","name":"synology_disk_smart_info_dev_name","order":"asc"}],"count":10},"formulas":[{"cell_display_mode":"bar","alias":"Score","formula":"query1"}]}],"has_search_bar":"auto"},"layout":{"x":5,"y":2,"width":7,"height":3}},{"id":4456469896002703,"definition":{"title":"Read IO/s","show_legend":true,"legend_layout":"horizontal","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"query":"sum:snmp.synology.storageIOReads{*} by {synology_storage_io_device}.as_rate().rollup(avg, 15)","data_source":"metrics","name":"query1"}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"}},"layout":{"x":0,"y":5,"width":6,"height":3}},{"id":6415252768633436,"definition":{"title":"Write IO/s","show_legend":true,"legend_layout":"horizontal","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Disk latency","formula":"query1"}],"queries":[{"query":"sum:snmp.synology.storageIOWrites{*} by {synology_storage_io_device}.as_rate().rollup(avg, 15)","data_source":"metrics","name":"query1"}],"response_format":"timeseries","style":{"palette":"cool","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"}},"layout":{"x":6,"y":5,"width":6,"height":3}},{"id":3709714779238743,"definition":{"title":"Read Throughput","show_legend":true,"legend_layout":"horizontal","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Synology Hybrid RAID","formula":"query1"}],"queries":[{"query":"sum:snmp.synology.storageIONReadX{*}.as_rate().rollup(avg, 15)","data_source":"metrics","name":"query1"}],"response_format":"timeseries","style":{"palette":"purple","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"}},"layout":{"x":0,"y":8,"width":6,"height":3}},{"id":8424612646836458,"definition":{"title":"Write Throughput","show_legend":true,"legend_layout":"horizontal","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Synology Hybrid RAID","formula":"query1"}],"queries":[{"query":"sum:snmp.synology.storageIONWrittenX{*}.as_rate().rollup(avg, 15)","data_source":"metrics","name":"query1"}],"response_format":"timeseries","style":{"palette":"cool","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"}},"layout":{"x":6,"y":8,"width":6,"height":3}},{"id":2653036156236550,"definition":{"title":"I/O wait (%)","show_legend":true,"legend_layout":"horizontal","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"I/O Wait","formula":"query1"}],"queries":[{"query":"max:system.cpu.iowait{$host}","data_source":"metrics","name":"query1"}],"response_format":"timeseries","style":{"palette":"orange","line_type":"solid","line_width":"normal"},"display_type":"line"}]},"layout":{"x":0,"y":11,"width":12,"height":3}}]},"layout":{"x":0,"y":48,"width":12,"height":15,"is_column_break":true}},{"id":5258277935869370,"definition":{"title":"Logs","background_color":"pink","show_title":true,"type":"group","layout_type":"ordered","widgets":[{"id":2148479997528779,"definition":{"title":"","title_size":"16","title_align":"left","requests":[{"response_format":"event_list","query":{"data_source":"logs_stream","query_string":"host:DS1019","indexes":[],"storage":"hot"},"columns":[{"field":"status_line","width":"auto"},{"field":"timestamp","width":"auto"},{"field":"host","width":"auto"},{"field":"service","width":"auto"},{"field":"content","width":"compact"}]}],"type":"list_stream"},"layout":{"x":0,"y":0,"width":12,"height":4}}]},"layout":{"x":0,"y":63,"width":12,"height":5}},{"id":7025393475048380,"definition":{"title":"Surveillance Station","background_color":"vivid_green","show_title":true,"type":"group","layout_type":"ordered","widgets":[]},"layout":{"x":0,"y":68,"width":12,"height":1}},{"id":4313018337551853,"definition":{"type":"image","url":"/api/v2/images/4acd4eb8-c331-4fb3-9348-ebe6e16f909f","sizing":"contain","margin":"md","has_background":true,"has_border":true,"vertical_align":"center","horizontal_align":"center"},"layout":{"x":0,"y":69,"width":2,"height":4}},{"id":2838173082085601,"definition":{"title":"Detection","title_size":"16","title_align":"left","time":{"type":"daily","offset":0},"type":"query_value","requests":[{"response_format":"scalar","queries":[{"name":"query1","data_source":"metrics","query":"sum:surveillance_station.detection{*}.as_count()","aggregator":"sum"}],"formulas":[{"formula":"query1"}]}],"autoscale":true,"precision":0},"layout":{"x":2,"y":69,"width":2,"height":4}}],"template_variables":[{"name":"host","prefix":"host","available_values":[],"default":"*"}],"layout_type":"ordered","notify_list":[],"pause_auto_refresh":false,"reflow_type":"fixed"}

Laisser un commentaire