====== Установка Grafana в Debian ====== Исходные данные * Debian 12 (Bookworm) * nginx/1.22.1 * MariaDB 10.11 * Версия Grafana 10.0.3 (август 2023) ===== Установка ===== Делаем всё [[https://grafana.com/docs/grafana/latest/installation/debian/|по инструкции]] с сайта 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 Добавляем ([[https://grafana.com/docs/grafana/latest/introduction/oss-details/|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? [[https://grafana.com/blog/2020/01/13/how-to-migrate-your-configuration-database/|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 Примеры здесь - [[https://grafana.com/tutorials/run-grafana-behind-a-proxy/|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 {{:linux:grafana:grafana_welcome_1.png?direct|}} Логин и пароль по-умолчанию **admin/admin**. {{:linux:grafana:grafana_welcome_2.png?direct|}} 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 в качестве источника данных. Нужен плагин [[https://github.com/alexanderzobnin/grafana-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 Включаем плагин {{:linux:grafana:grafana_zabbix_enable.png?direct|}} Настройка плагина {{:linux:grafana:grafana_zabbix_configure.png?direct|}} Немного про плагин. Разрабатывает его Александр Зобнин ([[https://github.com/alexanderzobnin|github]], [[https://twitter.com/alexanderzobnin|twitter]], который внезапно 😱 работает в Grafana Labs. Документация [[https://alexanderzobnin.github.io/grafana-zabbix/|здесь]]. EOM {{tag>linux debian grafana zabbix}}