Grafana в systemd: почему не запускается
Grafana хранит свои настройки в базе (по умолчанию файловой) и падает, если к ней нет доступа. Остальные причины обычные: занятый порт, ошибка в файле настроек, недоступная внешняя база при её использовании.
О службе
По умолчанию Grafana держит настройки в файловой базе внутри каталога данных. Права на этот каталог — самая частая причина отказа после ручного вмешательства или восстановления из копии.
Файл настроек разбирается при запуске, и ошибка в нём останавливает службу. При использовании внешней базы добавляется зависимость: если та недоступна, Grafana не поднимется, и это стоит отразить в unit-файле.
Как устроена
| Порт по умолчанию | 3000 |
|---|---|
| Файл настроек | /etc/grafana/grafana.ini |
| Каталог данных | /var/lib/grafana, владелец grafana |
| Журнал | /var/log/grafana/grafana.log и журнал systemd |
Частые ошибки
6 записей базы отмечены за этой службой.
Сообщения журнала
- Address already in use при запуске службыПорт или адрес уже занят: bind() failed (98: Address already in use). Как найти владельца порта и что делать с остатками прежнего процесса.
- Permission denied в журнале службыОтказ в доступе у службы systemd: права на файл, каталоги по пути, пользователь службы, параметры изоляции, SELinux и AppArmor.
- Connection refused в журнале службыСоединение отклонено: служба не может подключиться к базе, кешу или другому сервису. Порядок запуска, адрес, брандмауэр.
Коды выхода
- status=1/FAILURE в systemdКод 1/FAILURE означает, что программа запустилась и сама завершилась с ошибкой. Как найти настоящую причину в журнале службы.
Ошибки служб
- Grafana: расширение не загружается из-за подписиРасширение не появляется в интерфейсе: не подписано или подпись не совпадает. Как разрешить осознанно.
- Панели и источники данных не подхватываются при запускеОписания источников и панелей не применяются: каталог недоступен службе или описания с ошибкой.
Коды выхода этой службы
Числа в status=N ниже 200 назначает сама программа, 200 и выше — systemd, когда не смог подготовить запуск.
| status | Что означает у этой службы | Куда смотреть |
|---|---|---|
1/FAILURE |
ошибка настроек, права на каталог данных или недоступная база. | разбор |
Диагностика
Состояние и код завершения.
systemctl status grafana-server --no-pager -lПодробные сообщения при запуске.
sudo tail -40 /var/log/grafana/grafana.logПрава на каталог данных.
sudo ls -ld /var/lib/grafanaКто занимает порт.
sudo ss -tlnp | grep 3000Параметры unit, которые тут важны
- User=работа от пользователя grafana
- After=при внешней базе нужен порядок запуска относительно неё
- StateDirectory=каталог данных с правильным владельцем
Источники
- Документация Grafana: настройка
- Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)