User Tools

Site Tools


zabbix_v2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
zabbix_v2 [2019/06/21 13:41]
val
zabbix_v2 [2019/06/21 15:54]
val [Лабораторные работы: Пример задачи, использующей Zabbix API]
Line 383: Line 383:
 Техническое задание:​ сканировать через nmap определенные узлы и уведомлять,​ если результаты сканирования изменились Техническое задание:​ сканировать через nmap определенные узлы и уведомлять,​ если результаты сканирования изменились
  
-  - Создать шаблон My Template Nmap с [[Сервис Zabbix#​Элементы типа trapper]] и триггером (см. [[Сервис Zabbix#​Пример с текстовым элементом]]),​ подключить его к узлам, которые надо мониторить . +Решение:
-  - Периодически получать список узлов с шаблоном My Template Nmap из Zabbix через [[Сервис Zabbix#​API]] +
-  - Периодически сканировать узлы (см. [[Сервис Zabbix#​Пример текстового элемента]])+
  
 +  - Создать шаблон "My Template Nmap" с [[Сервис Zabbix#​Элементы типа trapper]] и триггером (см. [[Сервис Zabbix#​Пример с текстовым элементом]]),​ подключить его к узлам, которые надо мониторить (перед подключение к узлу, удалить элемент my.nmap от предыдущих лабораторных работ).
 +  - Периодически получать список узлов с шаблоном My Template Nmap из Zabbix через [[Сервис Zabbix#​API]] (Выяснить templateids шаблона "My Template Nmap")
  
 +<​code>​
 +# cat /​root/​zab_get_hosts.sh
 +</​code><​code>​
 +#!/bin/sh
 +
 +curl -s -k -X POST -H '​Content-Type:​ application/​json-rpc'​ -d "
 +{
 +    \"​jsonrpc\":​ \"​2.0\",​
 +    \"​method\":​ \"​host.get\",​
 +    \"​params\":​ {
 +        \"​output\":​ [\"​hostid\",​ \"​host\"​],​
 +        \"​templateids\":​ [\"​10NNN\"​]
 +    },
 +    \"​auth\":​ \"​${AUTH}\",​
 +    \"​id\":​ 2
 +} " http://​127.0.0.1/​zabbix/​api_jsonrpc.php \
 +| jq '​.result | .[] | { host: .host} | tostring'​ \
 +| tr -d '​{}\\'​ | tr '"'​ ' ' | cut -d ' ' -f5 
 +</​code><​code>​
 +# /​root/​zab_get_hosts.sh | tee /​root/​hosts_nmap.txt
 +</​code>​
 +
 +  - Периодически сканировать узлы (см. [[Сервис Zabbix#​Пример текстового элемента]]) и передавать результаты сканирования в zabbix
 +
 +<​code>​
 +# cat nmap_2_zabbix.sh
 +</​code><​code>​
 +#!/bin/sh
 +
 +while read host
 +do
 +        echo $host
 +        zabbix_sender -z 127.0.0.1 -p 10051 -s $host -k my.nmap \
 +        -o "​$(/​etc/​zabbix/​externalscripts/​detect_host_nmap.sh $host)"​
 +done
 +</​code><​code>​
 +# /​root/​nmap_2_zabbix.sh < /​root/​hosts_nmap.txt
 +</​code>​
 +==== Вопросы ====
 +
 +  - Верно ли что Zabbix API можно использовать для управления результатами мониторинга?​
 +  - Верно ли что Zabbix API можно использовать для управления конфигурацией системы мониторинга?​
 ===== Модуль 11: Дополнительные возможности визуализации результатов мониторинга в Zabbix ===== ===== Модуль 11: Дополнительные возможности визуализации результатов мониторинга в Zabbix =====