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 14:40] 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 253: | Line 276: | ||
\"method\": \"map.get\", | \"method\": \"map.get\", | ||
\"params\": { | \"params\": { | ||
+ | \"selectLinks\": \"extend\", | ||
\"selectSelements\": \"extend\" | \"selectSelements\": \"extend\" | ||
}, | }, | ||
Line 259: | 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 346: | 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=" |