Supervision complète avec Telegraf, InfluxDB et Grafana

Supervision complète avec Telegraf, InfluxDB et Grafana

Ce trio d’outils open-source vous offre une solution complète et flexible pour collecter, stocker et visualiser vos données de monitoring.

Les composants

Telegraf

Telegraf est un agent de récupération de métriques, 1 seul agent est nécessaire, il propose 2 modes de récupération des métriques, via :

  • push : la métrique est poussée dans Telegraf
  • pull : Telegraf récupère la métrique en interrogeant le composant qui l’expose

Exemple de configuration Telegraf

## Telegraf configuration

[global_tags]

## Configuration for telegraf agent
[agent]
    interval = "10s"
    debug = false
    hostname = "serveur01.local"
    round_interval = true
    flush_interval = "10s"
    flush_jitter = "0s"
    collection_jitter = "0s"
    metric_batch_size = 1000
    metric_buffer_limit = 10000
    quiet = false
    logfile = ""
    omit_hostname = false

###############################################################################
##                                  OUTPUTS                                    #
###############################################################################

[[outputs.influxdb]]
    urls = ["http://grafana.local:8086"]
    database = "telegraf"
    precision = "s"

###############################################################################
##                                  INPUTS                                     #
###############################################################################

[[inputs.cpu]]
    percpu = true
    totalcpu = true
[[inputs.disk]]
    ignore_fs = ["tmpfs", "devtmpfs", "nfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.io]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.net]]
[[inputs.interrupts]]
[[inputs.linux_sysctl_fs]]
[[inputs.ntpq]]

InfluxDB

InfluxDB est une Time Series Database (TSDB) écrite en Go dont les principaux avantages sont les performances, la durée de rétention importante et la scalabilité.

Exemple de configuration InfluxDB

La configuration du paquet suffit.

Grafana

Grafana est un outil de supervision simple et élégant, permettant de s’intégrer à une TSDB, ici InfluxDB. Grafana expose dans des dashboards les métriques brutes ou agrégées provenant d’InfluxDB.

Exemple de configuration

La configuration du paquet suffit.

Chronograf

Vous pouvez ajouter Chronograf pour administrer InfluxDB via une interface web. Vous pouvez aussi y configurer des alertes.

Fonctionnement

  • Telegraf collecte les métriques sous forme clé=valeur et les envoie dans votre base InfluxDB.
  • InfluxDB conserve ces données avec une politique de rétention.
  • Grafana vous permet de créer vos dashboards en « requêtant » InfluxDB. Des alertes peuvent être définies.

Dashboards Grafana

Ces dashboards n’étaient pas déjà faits et/ou les existants ne me convenaient pas.

Vues

Nginx

Grafana Nginx

Varnish

Grafana Varnish

Dashboards

Catégories : Linux 

Suggestions de lecture :