This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
zabbix_-_построение_топологии_сети [2018/09/10 13:50] val [Zabbix API] |
zabbix_-_построение_топологии_сети [2019/06/10 14:32] (current) val [Zabbix API] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Zabbix - построение топологии сети ====== | ====== Zabbix - построение топологии сети ====== | ||
| + | |||
| + | ===== Запись ===== | ||
| + | |||
| + | * [[https://youtu.be/ZrNScBG9TnU|Zabbix: топология сети наглядно и автоматически]] | ||
| ===== История вопроса ===== | ===== История вопроса ===== | ||
| Line 74: | Line 78: | ||
| copy running-config startup-config | copy running-config startup-config | ||
| + | |||
| + | |||
| </code> | </code> | ||
| Line 81: | Line 87: | ||
| * Настройка коммутаторов | * Настройка коммутаторов | ||
| <code> | <code> | ||
| + | conf t | ||
| snmp-server community public RO | snmp-server community public RO | ||
| + | end | ||
| + | wr | ||
| + | |||
| + | |||
| </code> | </code> | ||
| * [[Сервис SNMP#Установка snmp консоли]] | * [[Сервис SNMP#Установка snmp консоли]] | ||
| * [[Сервис SNMP#Варианты использования snmp консоли в режиме чтения]] | * [[Сервис SNMP#Варианты использования snmp консоли в режиме чтения]] | ||
| + | |||
| + | <code> | ||
| + | # service zabbix-server restart | ||
| + | </code> | ||
| + | |||
| * [[Сервис Zabbix#Автоматическое добавление]] устройств в Zabbix | * [[Сервис Zabbix#Автоматическое добавление]] устройств в Zabbix | ||
| ===== Модуль 5. Создание карты сети ===== | ===== Модуль 5. Создание карты сети ===== | ||
| Line 91: | Line 107: | ||
| * [[https://www.zabbix.com/documentation/3.0/ru/manual/config/visualisation/maps/map|Zabbix Documentation Настройка карты сети]] | * [[https://www.zabbix.com/documentation/3.0/ru/manual/config/visualisation/maps/map|Zabbix Documentation Настройка карты сети]] | ||
| - | !!! Без линий связи | + | !!! Можно, для примера, добавить одну линию связи |
| <code> | <code> | ||
| Line 127: | Line 143: | ||
| * Настройка коммутаторов | * Настройка коммутаторов | ||
| <code> | <code> | ||
| + | conf t | ||
| ip host server 192.168.1.100 | ip host server 192.168.1.100 | ||
| ip rcmd rsh-enable | ip rcmd rsh-enable | ||
| ip rcmd remote-host root server root enable | ip rcmd remote-host root server root enable | ||
| + | end | ||
| + | wr | ||
| + | |||
| + | |||
| </code> | </code> | ||
| Line 141: | Line 162: | ||
| server.corp1.un:~# rsh switch1 -n show cdp nei | dos2unix | grep switch | tr -s " " | cut -d " " -f1,2,3,9,10 | server.corp1.un:~# rsh switch1 -n show cdp nei | dos2unix | grep switch | tr -s " " | cut -d " " -f1,2,3,9,10 | ||
| + | или | ||
| + | server.corp1.un:~# rsh switch1 -n show cdp nei | dos2unix | tr '\n' ' ' | sed 's/switch/\nswitch/g' | grep switch | tr -s " " | cut -d " " -f1,2,3,9,10 | ||
| </code> | </code> | ||
| Line 232: | Line 255: | ||
| server.corp1.un:~# /root/zab_get_hosts.sh | jq '.result | .[] | {hostid: .hostid, host: .host} | tostring' | grep switch | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5,9 | server.corp1.un:~# /root/zab_get_hosts.sh | jq '.result | .[] | {hostid: .hostid, host: .host} | tostring' | grep switch | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5,9 | ||
| </code> | </code> | ||
| - | Добавляем конвеер в конец скрипта и записываем результат в файл: | + | Добавляем конвейер в конец скрипта и записываем результат в файл: |
| <code> | <code> | ||
| server.corp1.un:~# /root/zab_get_hosts.sh | tee list_hostid_host.txt | server.corp1.un:~# /root/zab_get_hosts.sh | tee list_hostid_host.txt | ||
| Line 247: | Line 270: | ||
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| - | |||
| - | AUTH=\"$1\" | ||
| curl -s -k -X POST -H 'Content-Type: application/json-rpc' -d " | curl -s -k -X POST -H 'Content-Type: application/json-rpc' -d " | ||
| Line 255: | Line 276: | ||
| \"method\": \"map.get\", | \"method\": \"map.get\", | ||
| \"params\": { | \"params\": { | ||
| - | \"output\": \"extend\", | + | \"selectLinks\": \"extend\", |
| - | \"selectSelements\": \"extend\", | + | \"selectSelements\": \"extend\" |
| }, | }, | ||
| \"auth\": \"${AUTH}\", | \"auth\": \"${AUTH}\", | ||
| Line 262: | Line 283: | ||
| } " http://127.0.0.1/zabbix/api_jsonrpc.php | \ | } " http://127.0.0.1/zabbix/api_jsonrpc.php | \ | ||
| #jq | #jq | ||
| + | ###zabbix3 | ||
| jq '.result | .[] | .selements | .[] | {elementid: .elementid, selementid: .selementid} | tostring' | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5,9 | jq '.result | .[] | .selements | .[] | {elementid: .elementid, selementid: .selementid} | tostring' | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5,9 | ||
| + | ###zabbix4 | ||
| + | #jq '.result[1].selements[] | {elements, selementid} | tostring' | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f7,11 | ||
| </code><code> | </code><code> | ||
| server.corp1.un:~# /root/zab_get_maps.sh | tee list_hostid_selementid.txt | server.corp1.un:~# /root/zab_get_maps.sh | tee list_hostid_selementid.txt | ||
| Line 275: | Line 299: | ||
| <code> | <code> | ||
| - | server.corp1.un:~# cat rsh_get_links.sh | + | server.corp1.un:~# cat /root/rsh_get_links.sh |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 309: | Line 333: | ||
| Простой пример изменения конфигурации через Zabbix API | Простой пример изменения конфигурации через Zabbix API | ||
| <code> | <code> | ||
| - | server.corp1.un:~# cat zab_set_map_name.sh | + | server.corp1.un:~# cat /root/zab_set_map_name.sh |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 330: | Line 354: | ||
| server.corp1.un:~# /root/zab_set_map_name.sh 2 "Super MAP" | server.corp1.un:~# /root/zab_set_map_name.sh 2 "Super MAP" | ||
| </code><code> | </code><code> | ||
| - | server.corp1.un:~# cat zab_set_link_name.sh | + | server.corp1.un:~# cat /root/zab_set_link_name.sh |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 349: | Line 373: | ||
| done < $SELEMENTS_LABEL | done < $SELEMENTS_LABEL | ||
| - | LINKS=`echo $LINKS | rev | cut -c 2- | rev` | + | #LINKS=`echo $LINKS | rev | cut -c 2- | rev` |
| + | #LINKS=`echo -n ${LINKS::-1}` | ||
| JSON=" | JSON=" | ||