====== Установка 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}}