Мне нужно отслеживать статус ссылки физических интерфейсов в zabbix, и интересно, если есть внутренняя проверка zabbix для этого, или мне нужно написать свое. Если да, то как определить, подключен ли кабель к сетевой карте, и есть напряжение в интерфейсе.Как отслеживать статус ссылки на сетевую карту в zabbix
ответ
Нет, такой проверки нет. Вы можете достичь этого, используя UserParameter. Что касается того, как, зависит от ОС, которая запускает агент. В linux вы можете использовать mii-tool или ethtool для проверки периодически. Или вы можете сделать некоторые сценарии и подключиться к D-Bus, если вы используете NetworkManager. Или вы можете контролировать системные журналы, драйверы обычно регистрируют обнаружение ссылок в журнал ядра.
В окнах я понятия не имею. Вероятно, netsh или ipconfig с некоторыми findstr могут заставить вас опросить статус. Или powershell. Спросите на сервере, я уверен, у вас будут точные ответы.
Так что да UserParameter это (даже в Zabbix 3.0), и его достаточно легко настроить, по крайней мере, на современных Linux-боксах. Путем параметризации UserParameter (если вы следуете ...), можно определить один параметр для поддержки мониторинга нескольких сетевых адаптеров; вот как:
- На целевом окне найдите папку агента, где определения UserParamter хранятся, как-л
/etc/zabbix/zabbix_agentd.d/
Создание нового файла для определения или изменить существующий; Я сделал это:
cat > /etc/zabbix/zabbix_agentd.d/userparameter_niclink.conf << EOF UserParameter=net.if.link[*],cat /sys/class/net/$1/carrier EOF
- Restart агент, например:
service zabbix-agent restart
- В Zabbix UI, создать элемент против хозяина следующим образом:
- Тип: Zabbix агент (активный при необходимости).
- Ключ: имеет фактический NIC для мониторинга в скобках, например:
net.if.link[em1]
, - Тип информации: Числовой (без знака); Тип данных: Десятичный
- Показать значение: как "государственная служба" (отображает их как "вверх/вниз")
- Применение: Сетевые интерфейсы
Это его; перейти к последним данным; подождите 30 секунд или около того, и ваше состояние NIC должно начать заполняться. Также может быть полезно определить триггер против элемента, который будет предупрежден, если ссылка опустится.
Пример: other ways to detect a NIC link's state; приведенный выше cat /sys/class/net/${nic}/carrier
хорошо работает для меня (сервер Ubuntu 14.04, физический сетевой адаптер).
@ sxc731 является правильным, не существует такого существующего товара в net.if
ключах.
Если вы хотите сделать это решение универсальным, вы можете использовать правила обнаружения для обнаружения сетевых интерфейсов. Это найдет все интерфейсы, также виртуальный, мост и т. Д. Но вы можете использовать регулярные выражения для соответствия только физическим интерфейсам. Я развертывал это в своей работе с несколькими ОС на многих серверах.Вот мой подход:
- Создайте или используйте существующий шаблон Zabbix.
- В Администрирование -> меню General, перейдите регулярных выражений и выполните следующие действия:
- Добавить регулярное выражение
Physical network interface discovery
. - Использовать регулярное выражение
^em[0-9]{1,}|p[0-9]{1,}p[0-9]{1,}|eth[0-9]{1,}|ens[0-9]{1,}$
.
- Добавить регулярное выражение
- Создайте правило для своего шаблона с ключом
net.if.discovery
. - Создать фильтр с макросом
{#PHYSNET}
и регулярным выражением@Physical network interface discovery
. - Добавить элемент прототипа с ключом
net.if.link[{#PHYSNET}]
и вызвать, если вам это нужно. - Создайте UserParameter на клиентских серверах Zabbix (пример в конце).
Существует одна проблема с использованием cat /sys/class/net/$1/carrier
в качестве UserParameter. Если сетевой интерфейс не работает (например, с ip link set eth0 down
), результатом команды cat
является Недопустимый аргумент.
Я лично использую этот один вкладыш для UserParameter:
UserParameter=net.if.link[*], if [ $(cat /sys/class/net/$1/operstate) = "up" ]; then cat /sys/class/net/$1/carrier; else echo "0"; fi;
Ресурсы:
- 1. Python - Проверить сетевую карту
- 2. Как отслеживать ссылки на объект?
- 3. Агрегирование поездок в поточную сетевую карту данных
- 4. Добавить сольную псевдо-сетевую карту в докере
- 5. Как отслеживать онлайн-статус пользователя?
- 6. Как сменить пакет перед отправкой его на сетевую карту
- 7. Zabbix: возможно ли отслеживать произвольную строковую переменную?
- 8. Как отслеживать статус процесса в Tibco?
- 9. Как отслеживать статус пользователей приложений в Xamarin.Forms
- 10. Как включить сетевую карту с помощью PowerShell в C#?
- 11. Как отслеживать ссылки на веб-сайте
- 12. Как сохранить статус ссылки на странице обновления
- 13. Как отслеживать статус входа по PHP?
- 14. Получение ссылки на неизменяемую карту
- 15. Как я могу отслеживать неудачную работу rsync с Zabbix?
- 16. Отслеживать все ссылки на объекты в C#
- 17. Как отслеживать каждый статус отправленного SMS?
- 18. Systray как отслеживать статус меню при нажатии?
- 19. zabbix поиск строки на триггере
- 20. Отслеживать исходящие ссылки на localhost app
- 21. Как автоматически отслеживать ссылки в org-mode на gnus-сообщения?
- 22. Отслеживать показ ссылок на ссылки, но поддерживать SEO-дружественные ссылки?
- 23. Доступ к данным, проходящим через сетевую карту с использованием C++
- 24. Мониторинг приложений на Zabbix
- 25. Как отслеживать статус пользователей по статическому изображению в android?
- 26. Получить сетевую интерфейсную карту Intel Поддерживаемый номер очереди дескриптора очереди
- 27. Как отслеживать ссылки Mailchimp из тегов слияния
- 28. Мониторинг SOAP с zabbix
- 29. Как контролировать виртуальные IP-адреса в Zabbix?
- 30. Отслеживать ссылки, которые вызывают 404
Как IMPRO я использую следующую строку в '/ etc/zabbix/zabbix_agentd.d/userparameter_niclink.conf': ' UserParameter = net.if.link [*], если [-r/sys/class/net/$ 1/перевозчик]; затем cat/sys/class/net/$ 1/carrier; else echo 0; fi' Это предотвращает переход элемента в состояние «неподдерживаемого». – dsteinkopf