This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
сервис_zabbix [2022/12/21 13:49] val [Мониторинг по протоколу SNMP] |
сервис_zabbix [2023/06/05 13:31] val [Web сценарии] |
||
---|---|---|---|
Line 35: | Line 35: | ||
#drop database zabbix; | #drop database zabbix; | ||
create database zabbix character set utf8 collate utf8_bin; | create database zabbix character set utf8 collate utf8_bin; | ||
- | grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; | + | |
+ | #debian11 | ||
+ | #grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; | ||
+ | |||
+ | #ubuntu20 | ||
+ | #create USER zabbix@localhost identified by 'zabbix'; | ||
+ | #grant all privileges on zabbix.* to zabbix@localhost; | ||
</code><code> | </code><code> | ||
# mysql < zabbix.sql | # mysql < zabbix.sql | ||
Line 41: | Line 47: | ||
# zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz | mysql -uzabbix -pzabbix zabbix | # zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz | mysql -uzabbix -pzabbix zabbix | ||
- | # cat /etc/zabbix/zabbix_server.conf | + | # cat /etc/zabbix/zabbix_server.conf.d/corpX.conf |
</code><code> | </code><code> | ||
- | ... | ||
DBHost=localhost | DBHost=localhost | ||
DBName=zabbix | DBName=zabbix | ||
Line 147: | Line 152: | ||
# chown -R zabbix:zabbix /var/lib/zabbix | # chown -R zabbix:zabbix /var/lib/zabbix | ||
- | # vim /etc/zabbix/zabbix_proxy.conf | + | # cat /etc/zabbix/zabbix_proxy.conf |
</code><code> | </code><code> | ||
... | ... | ||
Line 687: | Line 692: | ||
* [[https://www.zabbix.com/documentation/4.0/ru/manual/web_monitoring/example|Сценарий из реальной жизни]] | * [[https://www.zabbix.com/documentation/4.0/ru/manual/web_monitoring/example|Сценарий из реальной жизни]] | ||
+ | * [[https://stackoverflow.com/questions/58641673/zabbix-web-scenario-debug|Zabbix web scenario debug]] | ||
=== Исследование приложения === | === Исследование приложения === | ||
+ | |||
+ | * !!! [[https://stackoverflow.com/questions/15603561/how-can-i-debug-a-http-post-in-chrome|How can I debug a HTTP POST in Chrome?]] | ||
+ | |||
<code> | <code> | ||
Шаг 1. | Шаг 1. | ||
Line 749: | Line 758: | ||
{token1} regex:name="_token" value="(.{32})" | {token1} regex:name="_token" value="(.{32})" | ||
- | Required string: Roundcube Webmail | + | Required string: rcmloginsubmit |
Required status codes: 200 | Required status codes: 200 | ||
| | ||
Line 779: | Line 788: | ||
_token: {token2} | _token: {token2} | ||
| | ||
- | Required string: Roundcube Webmail | + | Required string: rcmloginsubmit |
Required status codes: 200 | Required status codes: 200 | ||
</code> | </code> | ||
==== Настройка триггеров ==== | ==== Настройка триггеров ==== | ||
+ | |||
+ | * [[https://www.zabbix.com/documentation/current/en/manual/config/triggers/trigger|Configuring a trigger]] | ||
=== Примеры простых целочисленных триггеров === | === Примеры простых целочисленных триггеров === | ||
Line 824: | Line 835: | ||
=== Пример с макросами и Recovery expression === | === Пример с макросами и Recovery expression === | ||
+ | |||
+ | !!! Добавить в поле "Operational data" информацию о текущем и максимальном количестве адресов | ||
+ | |||
<code> | <code> | ||
Name: On {HOST.NAME} dhcp subnet is full | Name: On {HOST.NAME} dhcp subnet is full | ||
Line 957: | Line 971: | ||
<code> | <code> | ||
Configuration - Actions - Auto registration | 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 |
- | Action operations: Add to host groups: Windows clients # or Linux client | + | Action operations: |
- | Link to templates: Windows by Zabbix agent active # or Linux by Zabbix agent active | + | Add to host groups: Windows clients # or Linux clients |
+ | Link to templates: Windows by Zabbix agent active # or Linux by Zabbix agent active | ||
Template OS Windows list installed soft Active # work in linux too)) | Template OS Windows list installed soft Active # work in linux too)) | ||
Set host inventory mode: Automatic | Set host inventory mode: Automatic | ||
Line 997: | Line 1012: | ||
</code><code> | </code><code> | ||
UserParameter=listinstalledsoft,ls /usr/share/applications | awk -F '.desktop' ' { print $1}' - | UserParameter=listinstalledsoft,ls /usr/share/applications | awk -F '.desktop' ' { print $1}' - | ||
+ | # UserParameter=listinstalledsoft,ls /usr/share/applications /usr/local/share/applications | awk -F '.desktop' ' { print $1}' - | ||
</code> | </code> | ||
Line 1033: | Line 1049: | ||
# service zabbix-server restart | # service zabbix-server restart | ||
</code> | </code> | ||
+ | |||
=== Автоматическое добавление === | === Автоматическое добавление === | ||
Line 1047: | Line 1064: | ||
SNMP OID .1.3.6.1.2.1.1.5.0 | SNMP OID .1.3.6.1.2.1.1.5.0 | ||
или | или | ||
- | SNMPv2-MIB::sysName.0 | + | SNMPv2-MIB::sysName.0 !!! Требуется установка MIB |
Add | Add | ||
- | Update interval: 5m | + | Update interval: 3m |
- | Device uniqueness criteria: IP address | + | |
+ | Host name: SNMPv2 agent ... !!! Остальные варианты требуют PTR записи | ||
Enabled: yes | Enabled: yes | ||
Line 1222: | Line 1241: | ||
* Пример разработки собственного скрипта для LLD | * Пример разработки собственного скрипта для LLD | ||
* [[Обработка XML файлов]] | * [[Обработка XML файлов]] | ||
+ | * [[https://stackoverflow.com/questions/12524437/output-json-from-bash-script|Output JSON from Bash script]] | ||
<code> | <code> | ||
Line 1305: | Line 1325: | ||
Trigger prototypes | Trigger prototypes | ||
+ | |||
Name: On {HOST.NAME} in the DHCP pool {#POOLNAME} | Name: On {HOST.NAME} in the DHCP pool {#POOLNAME} | ||
+ | или | ||
+ | Name: On {HOST.NAME} in the DHCP pool {#POOLNAME} used more {$DHCP.POOLS.MAX.PERCENT} percent | ||
+ | | ||
Expression: {Template App DHCP Pools:dhcp.pools.shared-network[{#POOLNAME},used].last()}/{Template App DHCP Pools:dhcp.pools.shared-network[{#POOLNAME},defined].last()}*100 > {$DHCP.POOLS.MAX.PERCENT} | Expression: {Template App DHCP Pools:dhcp.pools.shared-network[{#POOLNAME},used].last()}/{Template App DHCP Pools:dhcp.pools.shared-network[{#POOLNAME},defined].last()}*100 > {$DHCP.POOLS.MAX.PERCENT} | ||
last(/Template App DHCP Pools/dhcp.pools.shared-network[{#POOLNAME},used])/last(/Template App DHCP Pools/dhcp.pools.shared-network[{#POOLNAME},defined])*100 > {$DHCP.POOLS.MAX.PERCENT} | last(/Template App DHCP Pools/dhcp.pools.shared-network[{#POOLNAME},used])/last(/Template App DHCP Pools/dhcp.pools.shared-network[{#POOLNAME},defined])*100 > {$DHCP.POOLS.MAX.PERCENT} | ||
Line 1426: | Line 1450: | ||
Список имен узлов | Список имен узлов | ||
- | server:~# /root/zab_get_hosts.sh | jq '.result | .[] | { host: .host} | tostring' | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5 | + | server:~# /root/zab_get_hosts.sh | jq '.result | .[] | .name' |
</code> | </code> | ||
==== Получение списка карт и их элементов из Zabbix ==== | ==== Получение списка карт и их элементов из Zabbix ==== | ||
<code> | <code> | ||
- | server.corp1.un:~# cat /root/zab_get_maps.sh | + | server.corpX.un:~# cat /root/zab_get_maps.sh |
</code><code> | </code><code> | ||
#!/bin/sh | #!/bin/sh | ||
Line 1445: | Line 1469: | ||
\"auth\": \"${AUTH}\", | \"auth\": \"${AUTH}\", | ||
\"id\": 2 | \"id\": 2 | ||
- | } " http://127.0.0.1/zabbix/api_jsonrpc.php | jq | + | } " http://127.0.0.1/zabbix/api_jsonrpc.php |
+ | </code><code> | ||
+ | server.corpX.un:~# /root/zab_get_maps.sh | jq -c '.result | .[] | {name: .name, id: .sysmapid}' | ||
</code> | </code> | ||
- | |||
==== Пример изменения конфигурации через Zabbix API ==== | ==== Пример изменения конфигурации через Zabbix API ==== | ||
<code> | <code> |