Zabbix-agent2 проблемы с запуском сервиса: различия между версиями
Перейти к навигации
Перейти к поиску
Admin (обсуждение | вклад) (Новая страница: «'''Проблема''' <pre> Не запускается zabbix-agent2, потому что не может создать pid файл в не существую...») |
Admin (обсуждение | вклад) |
||
| Строка 43: | Строка 43: | ||
Была так же ситуация, когда пропал или по какой то причине не был создан файл | Была так же ситуация, когда пропал или по какой то причине не был создан файл | ||
/usr/lib/tmpfiles.d/zabbix_agent2.conf | /usr/lib/tmpfiles.d/zabbix_agent2.conf | ||
| + | </pre> | ||
| − | + | '''Решение''' | |
| + | <pre> | ||
### Вариант 1 | ### Вариант 1 | ||
# если сервер подключен к домену в котором создана учетка zabbix, то можно вручную запустить сервис | # если сервер подключен к домену в котором создана учетка zabbix, то можно вручную запустить сервис | ||
Текущая версия на 13:49, 23 июля 2025
Проблема
Не запускается zabbix-agent2, потому что не может создать pid файл в не существующем каталоге /var/run/zabbix Если каталог создать, агент запускается, но после перезагрузки сервера каталог снова исчезает
Причина
При старте, сервис zabbix-agent2 должен создать pid файл vi /etc/zabbix/zabbix_agent2.conf --------------------------------------- PidFile=/var/run/zabbix/zabbix_agent2.pid --------------------------------------- ls -lh /var/run lrwxrwxrwx. 1 root root 6 Mar 14 2024 /var/run -> ../run т.е. фактически сервис пытается создать pid файл в каталоге /run/zabbix каталог /run/zabbix отсутствует, соответственно pid файл не может быть создан содержимое каталога /run очищается при каждой перезагрузке. Сервис systemd-tmpfiles-setup при старте создает все необходимые файлы и каталоги в очищаемых каталогах. При установке zabbix-agent2 добавляет к конфигурации systemd-tmpfiles-setup, то что ему необходимо создавать при старте системы vi /usr/lib/tmpfiles.d/zabbix_agent2.conf --------------------------------------- d /run/zabbix 0755 zabbix zabbix - - --------------------------------------- Сервис systemd-tmpfiles-setup не видит учетки zabbix, поэтому не может создать каталог /run/zabbix для которого эта учетка указана как владелец, при этом сервис получает статус failed. cat /etc/passwd | grep zabbix systemctl status systemd-tmpfiles-setup Как так вышло? (в моем случае) При установке zabbix-agent2, установщик не смог создать локальную учетную запись zabbix, т.к. сервер был подключен к домену FreeIPA в котором была создана учетная запись zabbix. Сервис агента успешно запустился под доменной учетной записью. Сервис systemd-tmpfiles-setup стартует раньше доменных сервисов и не видит учетки zabbix, поэтому не создает каталог владельцем которого указана не существующая учетка. Была так же ситуация, когда пропал или по какой то причине не был создан файл /usr/lib/tmpfiles.d/zabbix_agent2.conf
Решение
### Вариант 1 # если сервер подключен к домену в котором создана учетка zabbix, то можно вручную запустить сервис # поскольку доменные сервисы уже поднялись, учетка zabbix будет доступна и сервис сможет созать нужный каталог, после чего сервис zabbix-agent2 сможет запуститься systemctl start systemd-tmpfiles-setup # чтобы проблема не возникала при каждой перезагрузке, нужно задать зависимость сервиса systemd-tmpfiles-setup от доменных (это как идея, не проверял) ### Вариант 2 # Удалить из домена учетную запись zabbix, переустановить zabbix-agent2 или создать локальную учетную запись zabbix ### Переустановка yum remove zabbix-agent2 rm -rf /etc/zabbix rm -rf /var/log/zabbix rm -f /usr/lib/tmpfiles.d/zabbix_agent2.conf rm -f /etc/sysconfig/zabbix-agent2 yum install zabbix-agent2 # далее настройте заново, все что необходимо ### Пересоздание учетной записи и связанные с этим корректировки # проверка пользователя и группы cat /etc/passwd | grep zabbix cat /etc/group | grep zabbix # если не существует создаем группу zabbix и пользователя zabbix # uid и gid определяем по следующему алгоритму grep -E '9[0-9][0-9]' /etc/passwd | cut -d ':' -f 3 | sort -u # смотрим с конца, выбираем первый не занятый uid grep -E '9[0-9][0-9]' /etc/group | cut -d ':' -f 3 | sort -u # смотрим с конца, выбираем первый не занятый gid groupadd --gid <gid> zabbix useradd --uid <uid> --gid <gid> --comment 'Zabbix Monitoring System' --home /var/lib/zabbix --shell /sbin/nologin zabbix # проверка конфигурации на создание временного каталога cat /usr/lib/tmpfiles.d/zabbix_agent2.conf --------------------------------------- d /run/zabbix 0755 zabbix zabbix - - --------------------------------------- ls -lh /usr/lib/tmpfiles.d/zabbix_agent2.conf -rw-r--r--. 1 root root 37 Sep 23 17:36 /usr/lib/tmpfiles.d/zabbix_agent2.conf # если не существует, создаем # проверка прав на каталог логов ls -lha /var/log/zabbix # если необходимо, исравляем chown -R zabbix:zabbix /var/log/zabbix/ chmod 755 /var/log/zabbix/ chmod 664 /var/log/zabbix/*