Telegraf, InfluxDB et Grafana

Telegraf, InfluxDB et Grafana

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 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

La configuration du paquet suffi

Grafana

Grafana est un outil 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 suffi

Chronograf

Vous pouvez ajouter Chronograf pour administrer en web InfluxDB. Vous pouvez aussi y configurer des alertes

Fonctionnement

  • Telegraf collecte les métriques sous forme clef=valeur et les envoie dans votre base InfluxDB
  • InfluxDB conserve ces données avec une politique de retention
  • Grafana vous permet de faire vos Dashboards en ‘requetant’ InfluxDB. Des alertes peuvent etre définies

Dashboards Grafana

Ces dashboards n’etaient pas deja fait et/ou les existant ne me convenaient pas,

Vues

Nginx

Grafana Nginx

Varnish

Grafana Varnish

Dasboards


Suggestions de lecture :

comments powered by Disqus