Инструкция описывает установку связки 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.