This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_zabbix [2025/05/21 14:05] val [Мониторинг по протоколу SNMP] |
сервис_zabbix [2025/06/16 13:48] (current) val [Low-Level Discovery (LLD)] |
||
---|---|---|---|
Line 151: | Line 151: | ||
# cat /etc/zabbix/zabbix_proxy.conf | # cat /etc/zabbix/zabbix_proxy.conf | ||
</code><code> | </code><code> | ||
- | ... | + | #... |
Hostname=gate | Hostname=gate | ||
- | ConfigFrequency=60 | + | |
+ | #v6 | ||
+ | #ConfigFrequency=60 | ||
+ | #v7 | ||
+ | #ProxyConfigFrequency=60 | ||
+ | | ||
Server=server | Server=server | ||
DBName=/var/lib/zabbix/zabbix.db | DBName=/var/lib/zabbix/zabbix.db | ||
Line 634: | Line 639: | ||
#MY_RES=`speedtest -f csv` | #MY_RES=`speedtest -f csv` | ||
#MY_DOWNLOAD=`echo $MY_RES | cut -d',' -f6` | #MY_DOWNLOAD=`echo $MY_RES | cut -d',' -f6` | ||
- | #Y_UPLOAD=`echo $MY_RES | cut -d',' -f7` | + | #MY_UPLOAD=`echo $MY_RES | cut -d',' -f7` |
zabbix_sender -z 127.0.0.1 -p 10051 -s server.corpX.un -k speedtest.download -o $MY_DOWNLOAD | zabbix_sender -z 127.0.0.1 -p 10051 -s server.corpX.un -k speedtest.download -o $MY_DOWNLOAD | ||
Line 979: | Line 984: | ||
<code> | <code> | ||
- | Configuration - Actions - Auto registration | + | Alerts|Configuration - Actions - Auto registration |
Name: Add Windows clients # or Add Linux clients | Name: Add Windows clients # or Add Linux clients | ||
Conditions: Host name contains CLIENT # or client (lowercase) for linux | Conditions: Host name contains CLIENT # or client (lowercase) for linux | ||
Line 1072: | Line 1077: | ||
<code> | <code> | ||
- | Configuration->Discovery | + | Data collection/Configuration->Discovery |
Discovery rules | Discovery rules | ||
Name: Local network или Cisco Router Discovery | Name: Local network или Cisco Router Discovery | ||
Line 1089: | Line 1094: | ||
Enabled: yes | Enabled: yes | ||
- | Configuration->Actions | + | Alert/Configuration->Actions |
Event source: Discovery | Event source: Discovery | ||
- | Name: Action add snmp device to zabbix | + | Name: Action add Cisco device to zabbix |
Conditions: | Conditions: | ||
Received value: like или contains router | Received value: like или contains router | ||
Line 1262: | Line 1267: | ||
* Пример разработки собственного скрипта для LLD | * Пример разработки собственного скрипта для LLD | ||
+ | |||
+ | * Сервис DHCP [[Сервис DHCP#Статистика DHCP сервера]] | ||
* [[Обработка XML файлов]] | * [[Обработка XML файлов]] | ||
* [[https://stackoverflow.com/questions/12524437/output-json-from-bash-script|Output JSON from Bash script]] | * [[https://stackoverflow.com/questions/12524437/output-json-from-bash-script|Output JSON from Bash script]] | ||
+ | |||
+ | * Язык программирования Python [[Язык программирования Python#Zabbix LLD приложение]] | ||
<code> | <code> | ||
Line 1270: | Line 1279: | ||
#!/bin/bash | #!/bin/bash | ||
- | echo -n '{"data":[' | + | echo -n '[' |
str=`/usr/bin/dhcpd-pools -c /etc/dhcp/dhcpd.conf -f x | \ | str=`/usr/bin/dhcpd-pools -c /etc/dhcp/dhcpd.conf -f x | \ | ||
Line 1278: | Line 1287: | ||
echo -n ${str::-1} | echo -n ${str::-1} | ||
- | echo -n ']}' | + | echo -n ']' |
</code><code> | </code><code> | ||
gate# /etc/zabbix/dhcp-pools-discovery.sh | jq | gate# /etc/zabbix/dhcp-pools-discovery.sh | jq | ||
Line 1367: | Line 1376: | ||
===== API ===== | ===== API ===== | ||
+ | * [[https://www.zabbix.com/documentation/current/en/manual/api]] | ||
* [[Формат JSON]] | * [[Формат JSON]] | ||
* [[https://www.zabbix.com/documentation/1.8/ru/api/getting_started|Zabbix Documentation Начало работы с Zabbix API]] | * [[https://www.zabbix.com/documentation/1.8/ru/api/getting_started|Zabbix Documentation Начало работы с Zabbix API]] | ||
Line 1373: | Line 1383: | ||
* [[https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/36900-api-key-lifetime|api key lifetime]] | * [[https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/36900-api-key-lifetime|api key lifetime]] | ||
+ | * Для и до 6-й версии "user": "Admin", | ||
<code> | <code> | ||
server:~# apt install curl | server:~# apt install curl | ||
Line 1382: | Line 1392: | ||
"method": "user.login", | "method": "user.login", | ||
"params": { | "params": { | ||
- | "user": "Admin", | + | "username": "Admin", |
"password": "zabbix" | "password": "zabbix" | ||
}, | }, | ||
Line 1400: | Line 1410: | ||
* Получение списка узлов и шаблонов из Zabbix | * Получение списка узлов и шаблонов из Zabbix | ||
+ | До 7-й версии, включительно | ||
<code> | <code> | ||
server:~# curl -s -k -X POST -H 'Content-Type: application/json-rpc' -d ' | server:~# curl -s -k -X POST -H 'Content-Type: application/json-rpc' -d ' | ||
Line 1411: | Line 1422: | ||
... | ... | ||
</code> | </code> | ||
+ | От 7-й и старше | ||
<code> | <code> | ||
- | ... | + | curl -s -k -X POST -H 'Content-Type: application/json-rpc' -H 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -d '{ |
- | "method": "template.get", | + | "jsonrpc": "2.0", |
- | ... | + | "method": "host.get", |
+ | "params": {}, | ||
+ | "id": 2 | ||
+ | }' http://127.0.0.1/zabbix/api_jsonrpc.php | jq | ||
</code> | </code> | ||
Line 1496: | Line 1511: | ||
</code> | </code> | ||
==== Пример изменения конфигурации через Zabbix API ==== | ==== Пример изменения конфигурации через Zabbix API ==== | ||
+ | |||
+ | * Язык программирования Python [[Язык программирования Python#Zabbix API приложение]] | ||
+ | |||
<code> | <code> | ||
server.corp1.un:~# cat /root/zab_set_map_name.sh | server.corp1.un:~# cat /root/zab_set_map_name.sh | ||
Line 1516: | Line 1534: | ||
} " http://127.0.0.1/zabbix/api_jsonrpc.php | } " http://127.0.0.1/zabbix/api_jsonrpc.php | ||
</code><code> | </code><code> | ||
- | server.corp1.un:~# /root/zab_set_map_name.sh 2 "ISP1" | + | server.corp1.un:~# /root/zab_set_map_name.sh 2 "ISP 1" |
</code> | </code> |