Table des matières

Install TIG (Telegraph, InfluxDB et Grafana)

sudo apt-get install -y adduser libfontconfig

InfluxDB

Install InfluxDB

cd /tmp
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.6_amd64.deb
sudo dpkg -i influxdb_1.7.6_amd64.deb
sudo systemctl start influxd
sudo systemctl enable influxdb

Update InfluxDB

sudo systemctl stop influxdb
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.8.3_amd64.deb
sudo dpkg -i influxdb_1.8.3_amd64.deb
sudo systemctl reboot

Config InfluxDB

https://docs.influxdata.com/influxdb/v1.7/administration/authentication_and_authorization/#user-management-commands

Création base de données

influx -execute "CREATE DATABASE influx_db_telegraf"

Création utilisateur influx_user

influx -execute "CREATE USER telegraf_user WITH PASSWORD 'telegraf_password'"
influx -execute "GRANT ALL ON influx_db_telegraf TO telegraf_user"

Création politique de rétention durée de conservation des données (Exemple 52 semaines)

influx -execute "CREATE RETENTION POLICY "a_year" ON "influx_db_telegraf" DURATION 52w REPLICATION 1 DEFAULT"

Example [READ,WRITE,ALL]

GRANT ALL ON "influx_db_energy" TO "energy"
GRANT [READ,WRITE,ALL] ON <database_name> TO <username>
GRANT ALL PRIVILEGES TO "energy"
REVOKE ALL PRIVILEGES FROM "energy"
SELECT * FROM "watts" WHERE time > now() - 1h

Exemple add READ and WRITE :

influx -execute "GRANT ALL ON influx_db_temperature TO temperature"
influx -execute "REVOKE ALL PRIVILEGES FROM temperature"

Import/Export database

Export :

influxd backup -portable -database Database_Name -host localhost:8088 /home/<user>/backup/influxdb/Database_Name

Exemple :

influxd backup -portable -database influx_db_temperature -host localhost:8088 /home/<user>/backup/influxdb/influx_db_temperature

Import :

influxd restore -portable -database Database_Name /home/<user>/backup/Database_Name

Exemple :

influxd restore -portable -database influx_db_temperature -host localhost:8088 /home/<user>/backup/influxdb/influx_db_temperature 

https://www.influxdata.com/blog/new-features-in-open-source-backup-and-restore/
https://stackoverflow.com/questions/27779472/export-data-from-influxdb
https://docs.influxdata.com/influxdb/v1.7/administration/backup_and_restore/

Telegraf

Install Telegraf

cd /tmp
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.10.4-1_amd64.deb
sudo dpkg -i telegraf_1.10.4-1_amd64.deb
sudo systemctl start telegraf
sudo ufw allow 8086/tcp

Éditer "/etc/telegraf/telegraf.conf" adresse du serveur, base de données et identifiants.

sudo nano /etc/telegraf/telegraf.conf
database = "influx_db_telegraf"
username = "telegraf_user"
password = "ton_pass"
sudo systemctl restart telegraf

Chronograf

Install Chronograf

cd /tmp
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.7.11_amd64.deb
sudo dpkg -i chronograf_1.7.11_amd64.deb
sudo systemctl enable chronograf
sudo systemctl start chronograf
sudo ufw allow 8888/tcp

Update Chronograf

sudo systemctl stop chronograf
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.8.8_amd64.deb
sudo dpkg -i chronograf_1.8.8_amd64.deb
sudo systemctl reboot

Test

http://votre_server_chronograf:8888
Name = InfluxDB
database = influx_db_telegraf
username = telegraf_user
password = telegraf_password

Grafana

Install Grafana

cd /tmp
wget https://dl.grafana.com/oss/release/grafana_6.2.2_amd64.deb 
sudo dpkg -i grafana_6.2.2_amd64.deb 
sudo systemctl daemon-reload
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
sudo ufw allow 3000/tcp

Update Grafana

sudo systemctl stop grafana-server
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana_7.3.1_amd64.deb
sudo dpkg -i grafana_7.3.1_amd64.deb
sudo systemctl reboot

Login / Default credentials :

http://ip-de-votre-serveur:3000
username: admin
password: admin

First login

Changer le mot de passe à la première connexion

Configuration de Grafana

Configuration --> Data Sources --> Add data source

influx_db_telegraf
InfluxDB
http://localhost:8086

Test config telegraf

telegraf -config telegraf.conf -test

sudo nano /etc/grafana/grafana.ini

Installe les binaires sur “/usr/sbin/grafana-server”
Crée un fichier par défaut (environnement vars) à “/etc/default/grafana-server”
Installe le fichier de configuration à “/etc/grafana/grafana.ini”
La configuration par défaut définit le fichier journal sur “/var/log/grafana/grafana.log”
La configuration par défaut spécifie une base de données sqlite3 à “/var/lib/grafana/grafana.db”
Installe HTML/JS/CSS et d’autres fichiers Grafana à “/usr/share/grafana”

Grafana configuration with sub path

[server]
domain = foo.bar
root_url = %(protocol)s://%(domain)s/grafana/

Nginx configuration with sub path

server {
  listen 80;

  location /grafana/ {
   proxy_pass http://localhost:3000/;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-Server $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Disabling Grafana Registrations and Anonymous Access

sudo nano /etc/grafana/grafana.ini

Localisez la allow_sign_updirective suivante sous le [users]titre:

[users]
# disable user signup / registration
;allow_sign_up = true

L' activation de cette directive avec trueajoute un signe Up bouton à l'écran de connexion, ce qui permet aux utilisateurs de se faire enregistrer et l' accès Grafana.

La désactivation de cette directive avec falsesupprime le bouton Inscription et renforce la sécurité et la confidentialité de Grafana.

Sauf si vous devez autoriser les visiteurs anonymes à s'enregistrer eux-mêmes, supprimez la mise ;en commentaire de cette directive en supprimant l'option au début de la ligne, puis définissez l'option sur false.

[users]
# disable user signup / registration
allow_sign_up = false

Ensuite, localisez la enableddirective suivante sous l’en- [auth.anonymous]tête.

[auth.anonymous]
# enable anonymous access
;enabled = false

La définition enabledde truedonne aux utilisateurs non enregistrés l'accès à vos tableaux de bord; La définition de cette option pour falselimiter l'accès au tableau de bord aux utilisateurs enregistrés uniquement.

Sauf si vous devez autoriser l'accès anonyme à vos tableaux de bord, supprimez la mise ;en commentaire de cette directive en supprimant l'option au début de la ligne, puis définissez l'option sur false.

[auth.anonymous]
enabled = false

Enregistrez le fichier et quittez votre éditeur de texte.

Infos Supplementaires

Install de kapacitor

cd /tmp
wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.5.2_amd64.deb
sudo dpkg -i kapacitor_1.5.2_amd64.deb

Pour les Go prometheus

https://blog.octo.com/monitorer-votre-infra-avec-telegraf-influxdb-et-grafana/

/etc/telegraf/telegraf.d/mysql.conf
[[inputs.mysql]]
servers = ["db_user:db_password@tcp(127.0.0.1:3306)/?tls=false"]

Sources

Lien: https://grafana.com/docs/
https://grafana.com/dashboards
https://theogindre.fr/2018/02/16/mise-en-place-dune-stack-de-monitoring-avec-influxdb-grafana-et-telegraf/
https://www.tech2tech.fr/grafana-superviser-tous-vos-serveurs-et-peripheriques/
https://kifarunix.com/install-grafana-6-2-x-on-ubuntu-18-04-debian-9/
https://www.influxdata.com/blog/how-to-install-a-tig-stack-on-ubuntu-18-04/
https://www.techrepublic.com/article/how-to-install-a-tig-stack-on-ubuntu-18-04/
https://computingforgeeks.com/how-to-install-grafana-on-ubuntu-18-04-debian-9/
https://computingforgeeks.com/install-influxdb-on-ubuntu-18-04-and-debian-9/
https://computingforgeeks.com/how-to-install-and-configure-telegraf-on-ubuntu-18-04-debian-9/
https://computingforgeeks.com/monitor-linux-system-with-grafana-and-telegraf/
https://computingforgeeks.com/grafana-behind-nginx-and-apache-proxy/
https://blog.octo.com/monitorer-votre-infra-avec-telegraf-influxdb-et-grafana/
https://angristan.xyz/monitoring-telegraf-influxdb-grafana/
https://angristan.xyz/monitoring-telegraf-influxdb-grafana/#grafanainstallation
https://howto.wared.fr/ubuntu-monitoring-telegraf-influxdb-grafana/
https://www.howtoforge.com/tutorial/how-to-install-tig-stack-telegraf-influxdb-and-grafana-on-ubuntu-1804/
https://docs.influxdata.com/influxdb/v1.7/
https://docs.influxdata.com/kapacitor/v1.2/
https://github.com/intelsdi-x/snap
http://www.d0wn.com/how-to-update-grafana-from-version-4-to-version-5/
https://www.influxdata.com/blog/how-to-use-grafana-with-influxdb-to-monitor-time-series-data/
https://influxdbcom.readthedocs.io/en/latest/content/docs/v0.9/administration/administration/
https://air.imag.fr/index.php/InfluxDB#Chronograf
https://docs.influxdata.com/influxdb/v1.7/administration/backup_and_restore/
https://www.sqlpac.com/referentiel/docs/influxdb-v2-prise-en-main-installation-preparation-migration-version-1.7.html

Prometheus
https://www.digitalocean.com/community/tutorials/how-to-add-a-prometheus-dashboard-to-grafana
https://www.digitalocean.com/community/tutorials/how-to-install-prometheus-on-ubuntu-16-04
https://kifarunix.com/monitor-linux-system-metrics-with-prometheus-node-exporter/
https://blog.zwindler.fr/2020/04/13/decouvrir-prometheus-et-grafana-par-lexemple/

elastic
https://kifarunix.com/install-elastic-stack-7-on-ubuntu-18-04-debian-9-8/