Telegraf ? Késako ?

Telegraf est un agent qui s’installe sur les serveurs et qui récupèrent des métriques selon les « inputs » définis dans ses fichiers de configurations. Il renvoie les différentes métriques vers les « outputs », les sorties définies dans la configuration de même.

et Grafana ? C’est quoi ?

Grafana est une application web nous permettant d’afficher des graphiques selon des métriques enregistré dans une base de donnée sous le moteur Influxdb.

Voici un petit aperçu de l’outil :

Image
Voici l’exemple d’un dashboard sous Grafana pour monitorer un serveur Linux

Nous allons donc voir ensemble, étape par étape, comment installer l’agent Telegraf, une base de donnée Influxdb et pour finir Grafana.

Influxdb

Influxdb est un moteur de base de données basé sur le temps (Time Series Database (TSDB)), il nous permet de stocker nos métriques et de les situer dans le temps. Il pourront être reconstitué dans Grafana grâce au timestamp associé à la donnée.

Installation de Telegraf (sous Redhat)

L’installation est simple, il suffit de télécharger le package rpm et de l’installer au moyen de yum. Ce qui permettra d’installer les différentes dépendances si il y en a.

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.11.0-1.x86_64.rpm
sudo yum localinstall telegraf-1.11.0-1.x86_64.rpm

Installation d’Influxdb (sous Redhat)

L’installation d’Influxdb est identique à Telegraf.

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.6.x86_64.rpm
sudo yum localinstall influxdb-1.7.6.x86_64.rpm

Installation de Grafana (sous Redhat)

wget https://dl.grafana.com/oss/release/grafana-6.2.3-1.x86_64.rpm 
sudo yum localinstall grafana-6.2.3-1.x86_64.rpm 

Configuration de Telegraf

Les fichiers de configuration de Telegraf se trouve dans /etc/telegraf

[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  debug = false
  quiet = true
  logfile = ""
  hostname = ""
  omit_hostname = false
[[outputs.influxdb]]
  urls = ["http://influxdb:8086"] # required
  database = "telegraf"
  retention_policy = ""
  write_consistency = "any"
  timeout = "5s"
  username = "telegraf"
  password = "xxxxxxxx"
[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  [inputs.cpu.tags]
    env = "PRODUCTION"
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs"]
[[inputs.diskio]]

[[inputs.kernel]]
  # no configuration
[[inputs.mem]]
  # no configuration
[[inputs.processes]]
  # no configuration
[[inputs.swap]]
  # no configuration
[[inputs.system]]
  # no configuration
[[inputs.net]]
[[inputs.netstat]]
  # no configuration

Voici un fichier de configuration qui peut-être utilisé pour récupérer des métriques sur la performance du serveur et de les envoyer dans Influxdb.

Il suffit d’installer l’agent Telegraf sur tous les serveurs et de le configurer pour qu’ils puissent être monitorer.


Alexy DA CRUZ

Administrateur systèmes depuis maintenant plus d'un an. Passionné par le développement, j'écris des articles sur mon portfolio.

0 commentaire

Laisser un commentaire