Как стать автором
Обновить

Даем почву для авто обнаружения пользователей Linux для Zabbix

Время на прочтение2 мин
Количество просмотров5.3K

Давайте рассмотрим вопрос о авто обнаружении в Zabbix не предусмотренных разработчиками, но очень нужные для решения ряда задач.

Система мониторинга Zabbix обладает возможностью авто обнаружения различных объектов, например из коробки система умеет обнаруживать файловые системы: vfs.fs.get или сетевые интерфейсы: net.if.discovery.

Но что делать если нужно обнаруживать те объекты для которых разработчик не заложил инструмента?

Рассмотрим задачу.

Требуется наладить мониторинг потребляемых ресурсов памяти и процессора каждым пользователем системы Linux в отдельности.

Мониторить по отдельно взятому пользователю не сложно, - разработчик Zabbix дает нам инструмент для взятия метрики по процессору:

proc.cpu.util[,USER]

Так ж по памяти:

proc.mem[,USER]

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

Перейдем к самому обнаружению пользователей LLD (Low Level Discovery)

Примем за данность что список пользователей содержится в файле:

/etc/passwd

Но там текст совсем не подходящий для Zabbix LLD. Для начала выведем только пользователей:

awk -F: '{print $1}' /etc/passwd

И получим просто список пользователей.

Для работы Zabbix LLD необходимо подать данные в JSON формате. Для обертки простого списка в JSON используем следующее:

echo "["|tr -d '\r\n'; awk -F: ' {print "{\"{#USER}\":" "\""$1"\"}," }' /etc/passwd | tr -d '\r\n'| sed 's/.$//'; echo "]" "]"

Если нам потребуется взять пользователей только определенной группы, например номер 1005 то скрипт придется немного изменить:

echo "["|tr -d '\r\n'; awk -F: ' /1005/ {print "{\"{#USER}\":" "\""$1"\"}," }' /etc/passwd | tr -d '\r\n'| sed 's/.$//'; echo "]" "]"

В обнаружение остается добавить нужные прототипы метрик, графиков основываясь на макросе {#USER}.

Пользуйтесь :-)

Подводя итог отмечу, что такой подход можно применить для Zabbix LLD практически любой сущности в Linux вселенной.

Теги:
Хабы:
Всего голосов 4: ↑3 и ↓1+4
Комментарии13

Публикации

Истории

Работа

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн