Bullseye: zabbix

Оставлю это здесь, вдруг кому-то пригодится:

Чтобы zabbix-agent забирал топики по инструкции https://wirenboard.com/wiki/Zabbix, надо поставить sudo

apt install sudo

и в /etc/sudoers добавить

zabbix  ALL= NOPASSWD: /usr/bin/mosquitto_sub

в настройках агента добавить sudo:

UserParameter=mqtt.value[*],sudo mosquitto_sub -t '$1' -C 1

Можно добавить еще идентификатор клиента (помогает видеть кто коннектится на стороне сервера) и явно указать QoS (хотя default = 0 - но мало ли кому какой захочется)
UserParameter=mqtt.value[*],sudo mosquitto_sub -q 0 -i zabbix_agentd -C 1 -t ‘$1’

Но если нужны более точные данные - лучше использовать zabbix_agent2 и ключ mqtt.get .

1 лайк

Все ж правильней так:

echo 'zabbix ALL=NOPASSWD:/usr/bin/mosquitto_sub' > /etc/sudoers.d/zabbix
1 лайк

Вот да. Надо в документацию добавить, что способ предпочтительней.

Спасибо за наводку, использование zabbix_agent2 действительно гораздо удобнее, хотя и приходится каждый топик отдельно прописывать.
Пришлось отключить

systemctl disable mnt-sdcard.automount

так как агент постоянно дергает /dev/sdcard и возвращается с ошибкой, так как карточки нет. Существует ли более изящный способ избавиться от такого поведения агента?

А, собственно, зачем дергает? Оно прописано после discovery на zabbix?

Никаких специальных настроек я не делал. По умолчанию дергает каждую минуту. Логи:

14-03-2023 15:51:46.950 [init.scope]	dev-mmcblk1p1.device: Job dev-mmcblk1p1.device/start failed with result 'timeout'.
14-03-2023 15:51:46.949 [init.scope]	systemd-fsck@dev-mmcblk1p1.service: Job systemd-fsck@dev-mmcblk1p1.service/start failed with result 'dependency'.
14-03-2023 15:51:46.948 [init.scope]	mnt-sdcard.mount: Job mnt-sdcard.mount/start failed with result 'dependency'.
14-03-2023 15:51:46.947 [init.scope]	Dependency failed for /mnt/sdcard.
14-03-2023 15:51:46.943 [init.scope]	Dependency failed for File System Check on /dev/mmcblk1p1.
14-03-2023 15:51:46.942 [init.scope]	Timed out waiting for device /dev/mmcblk1p1.
14-03-2023 15:51:46.939 [init.scope]	dev-mmcblk1p1.device: Job dev-mmcblk1p1.device/start timed out.
14-03-2023 15:51:44.835 [init.scope]	mnt-sdcard.automount: Got automount request for /mnt/sdcard, triggered by 23836 (zabbix_agent2)

Логи агента:

2023/03/14 15:51:44.829801 received passive check request: 'vfs.fs.get' from '192.168.15.2'
2023/03/14 15:51:44.830318 [1] processing update request (1 requests)
2023/03/14 15:51:44.830507 [1] adding new request for key: 'vfs.fs.get'
2023/03/14 15:51:44.830644 [1] created direct exporter task for plugin 'VfsFs' itemid:0 key 'vfs.fs.get'
2023/03/14 15:51:44.830946 executing direct exporter task for key 'vfs.fs.get'
2023/03/14 15:51:45.834026 [VfsFs] cannot discern stats for the mount /mnt/sdcard: operation on mount '/mnt/sdcard' timed out
2023/03/14 15:51:45.835585 executed direct exporter task for key 'vfs.fs.get'
2023/03/14 15:51:45.835857 sending passive check response: '[{"fsname":"/","fstype":"ext4","bytes":{"total":1023303680,"free":163545088,"used":789295104,"pfree":17.1639577521096,"pused":82.8360422478904},"inodes":{"total":65536,"free":36665,"used":28871,"pfree":55.94635009765625,"pused":44.05364990234375}},{"fsname":"/dev","fstype":"devtmpfs","bytes":{"total":1046454272,"free":1046454272,"used":0,"pfree":100,"pused":0},"inodes":{"total":187383,"free":185943,"used":1440,"pfree":99.23152046877252,"pused":0.7684795312274859}},{"fsname":"/dev/shm","fstype":"tmpfs","bytes":{"total":1055367168,"free":1055367168,"used":0,"pfree":100,"pused":0},"inodes":{"total":187639,"free":187638,"used":1,"pfree":99.99946706175156,"pused":0.0005329382484451526}},{"fsname":"/run","fstype":"tmpfs","bytes":{"total":422150144,"free":418824192,"used":3325952,"pfree":99.21214002949624,"pused":0.7878599705037601},"inodes":{"total":819200,"free":817741,"used":1459,"pfree":99.8218994140625,"pused":0.1781005859375}},{"fsname":"/run/lock","fstype":"tmpfs","bytes":{"total":5242880,"free":5242880,"used":0,"pfree":100,"pused":0},"inodes":{"total":187639,"free":187636,"used":3,"pfree":99.99840118525466,"pused":0.001598814745335458}},{"fsname":"/mnt/data","fstype":"ext4","bytes":{"total":58937348096,"free":54034550784,"used":1878441984,"pfree":96.64041953219312,"pused":3.359580467806879},"inodes":{"total":3678208,"free":3677954,"used":254,"pfree":99.99309446339088,"pused":0.006905536609131403}},{"fsname":"/var/log","fstype":"ext4","bytes":{"total":58937348096,"free":54034550784,"used":1878441984,"pfree":96.64041953219312,"pused":3.359580467806879},"inodes":{"total":3678208,"free":3677954,"used":254,"pfree":99.99309446339088,"pused":0.006905536609131403}},{"fsname":"/run/user/0","fstype":"tmpfs","bytes":{"total":211070976,"free":211070976,"used":0,"pfree":100,"pused":0},"inodes":{"total":51531,"free":51513,"used":18,"pfree":99.96506956977353,"pused":0.03493043022646562}}]' to '192.168.15.2'
2023/03/14 15:51:46.940139 [VfsFs] mount '/mnt/sdcard' has become available

Просмотрите штатный дискавери шаблона агента. Ну это же сервер опрашивает, не само же…

Судя по логу именно так - дергается встроенный плагин ‘VfsFs’

Дергается активной проверкой. Про это я и говорю - на сервере нужно отключить.