Surveillance proactive đŸŒĄïžđŸ“ˆ d’un NAS Synology avec Datadog

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 :

  1. 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.
  2. 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.
  3. 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 tag env: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 :

  1. Indicateur (SLI) : On utilise l’Ă©tat du monitor de disponibilitĂ©.
  2. 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

Synology-dashboard.json
{"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

En savoir plus sur jbroberjot.com

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

Poursuivre la lecture