Документация Инструкции Установка стэка TIG - Telegraf + InfluxDB + Grafana


Инструкция описывает установку связки Telegraf + InfluxDB + Grafana на примере дистрибутива Ubuntu.


1. Устанавливаем InfluxDB

Для быстрой установки виртуального сервера с InfuxDB можно выбрать соответствующий шаблон в разделе создания нового стэка.

Для самостоятельной установки выполняем команды:
apt update

curl -sL https://repos.influxdata.com/influxdb.key | apt-key add -

source /etc/lsb-release

echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list

apt-get update && sudo apt-get install -y influxdb

systemctl start influxdb

systemctl enable influxdb
  
3. Заходим на хост со свежеустановленной InfluxDB и создаем базу telegraf:
influxdb -execute 'create database "telegraf"'
  
4. Устанавливаем пакеты Grafana и Nginx

Для быстрой установки виртуального сервера с Grafana и Nginx можно выбрать соответствующий шаблон в разделе создания нового стэка.

Для самостоятельной установки выполняем команды:
apt update && apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

apt update

apt install -y grafana nginx

systemctl start grafana-server

systemctl enable grafana-server

cat > /etc/nginx/sites-available/grafana.conf <<EOF
server {
  listen 80;
  root /usr/share/nginx/html;
  index index.html index.htm;

  location / {
    proxy_pass http://localhost:3000/;
  }
}
EOF

ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/grafana.conf

rm -v /etc/nginx/sites-enabled/default

systemctl reload nginx

 
5. Открываем в браузер сайт Grafana по IP адресу хоста и устанавливаем пароль.

Логин / пароль по умолчанию: admin / admin

Важно: если вы планируете доступ к сайту Grafana через внешнюю сеть, следует сконфигурировать HTTPS шифрование для веб-сервера Nginx.




6. Переходим в раздес Configuration > Data Sources и выбираем в качестве источника данных InfluxDB:



7. Конфигурируем источник данных, указываем IP адрес хоста InfluxDB и название базы 'telegraf'.



8. Импортируем дашборд для отображения системных данных из Telegraf, в разделе Create > Import указываем ссылку https://grafana.com/dashboards/5955.



9. Устанавливаем агент Telegraf на хосте или нескольких хостах, которые мы хотим мониторить:
apt update

curl -sL https://repos.influxdata.com/influxdb.key | apt-key add -

source /etc/lsb-release

echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list

apt-get update && sudo apt-get install -y telegraf

systemctl start telegraf

systemctl enable telegraf
  
10. Конфигурируем агент Telegraf для отправки данных в InfluxDB, в файле /etc/telegraf/telegraf.conf указываем соответствующие настройки:

# Output Plugin InfluxDB
[[outputs.influxdb]]
  database = "telegraf"
  urls = [ "http://<INFLUXDB IP>:8086" ]
  
и рестартуем агент
systemctl restart telegraf
  
Для установки и сопровождание конфигурации агента на нескольких хостах вы можете воспользоваться ansible.

11. Готово, через некоторое время наши метрики будут прорисовываться в дашборде:



Если вы хотите открыть доступ к Grafana из внешнией сети, не забудьте настроить сертификат для Nginx.