Содержание
Установка Grafana в Debian
Исходные данные
- Debian 12 (Bookworm)
- nginx/1.22.1
- MariaDB 10.11
- Версия Grafana 10.0.3 (август 2023)
Установка
Делаем всё по инструкции с сайта Grafana
apt-get install -y apt-transport-https apt-get install -y software-properties-common wget wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
Добавляем (OSS) репозиторий
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Устанавливаем
apt-get update apt-get install grafana
Смотрим версию Grafana
grafana-server -v
Настройка
Конфигурационный файл /etc/grafana/grafana.ini
Указываем IP и порт
[server] http_addr = 127.0.0.1 http_port = 3000
Данные для MySQL
[database] type = mysql host = 127.0.0.1:3306 name = grafana user = grafana password = CoolPassword1337
Обратите внимание
If the password contains # or ; you have to wrap it with triple quotes. For example """#password;"""
Отключаем самостоятельную регистрацию пользователей
[users] allow_sign_up = false
MySQL
По-умолчанию sqlite3
Grafana by default uses sqlite3 as a local database to hold the configuration information (such as users, dashboards, alerts, etc.). But did you know you can also use other databases for this purpose? via
Создаём базу и пользователя
mysql -u root -p CREATE DATABASE grafana; GRANT ALL privileges ON grafana.* TO grafana@localhost IDENTIFIED BY "CoolPassword1337"; FLUSH privileges; exit
PostgreSQL
Для примера. Создаём базу и пользователя
CREATE DATABASE grafana; CREATE USER grafana WITH PASSWORD 'CoolPassword1337'; GRANT USAGE ON SCHEMA schema TO grafana; GRANT SELECT ON schema.table TO grafana;
[database] type = postgres host = 127.0.0.1:5432 name = grafana user = grafana password = CoolPassword1337
Проксируем через nginx
Создаём файл /etc/nginx/sites-available/grafana.conf
server { listen 80; server_name grafana.foobar.com; location / { return 301 https://grafana.foobar.com$request_uri; } } server { listen 443 ssl; server_name grafana.foobar.com; access_log /var/log/nginx/grafana.access.log json; error_log /var/log/nginx/grafana.error.log; location / { proxy_pass http://127.0.0.1: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; } }
Делаем symbolic link
ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/grafana.conf
Проверяем конфиг
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапускаем nginx
systemctl restart nginx
Примеры здесь - Run Grafana behind a reverse proxy
Проверка
Запускаем, смотрим статус, добавляем в автозагрузку
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server.service
Без nginx Grafana доступна по адресу https://IP_ADDRESS:3000
В нашем случае переходим по адресу https://grafana.foobar.com
Логин и пароль по-умолчанию admin/admin.
Cбросить пароль admin можно через Grafana CLI
grafana-cli admin reset-admin-password CoolPassword1337
Удалить Grafana
Удаляем пакет из системы
apt-get --purge remove grafana
Удаляем systemd сервис
systemctl grafana-server stop systemctl disable grafana-server systemctl daemon-reload systemctl reset-failed
Удаляем GPG key и репозиторий
rm -rf /etc/apt/trusted.gpg.d/grafana.asc rm -rf /etc/apt/sources.list.d/grafana.list
Удаляем пользователя Grafana
deluser grafana
Удаляем данные, логи и конфигурационные файлы Grafana
rm -rf /var/lib/grafana rm -rf /var/log/grafana rm -rf /etc/grafana rm -rf /run/grafana
Zabbix источник
Добавляем Zabbix в качестве источника данных.
Нужен плагин Grafana-Zabbix
# grafana-cli plugins install alexanderzobnin-zabbix-app ✔ Downloaded and extracted alexanderzobnin-zabbix-app v4.3.1 zip successfully to /var/lib/grafana/plugins/alexanderzobnin-zabbix-app Please restart Grafana after installing or removing plugins. Refer to Grafana documentation for instructions if necessary.
Перезапускаем Grafana
systemctl restart grafana-server
В Grafana: Administration → Plugins
Включаем плагин
Настройка плагина
Немного про плагин. Разрабатывает его Александр Зобнин (github, twitter, который внезапно 😱 работает в Grafana Labs.
Документация здесь.
EOM
Обсуждение