This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервис_zabbix [2022/02/16 12:23] val [Настройка триггеров] |
сервис_zabbix [2023/03/16 15:55] (current) val [Мониторинг по протоколу SNMP] |
||
---|---|---|---|
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 89: | Line 94: | ||
http://server.corpX.un/zabbix/setup.php | http://server.corpX.un/zabbix/setup.php | ||
+ | !!! После работы визарда рекомендуется | ||
+ | |||
+ | # mv /usr/share/zabbix/setup.php /usr/share/zabbix/setup.php_stop | ||
+ | |||
+ | что бы никто его не повторил) | ||
</code><code> | </code><code> | ||
# less /etc/zabbix/zabbix.conf.php | # less /etc/zabbix/zabbix.conf.php | ||
Line 127: | Line 137: | ||
# mkdir /var/lib/zabbix | # mkdir /var/lib/zabbix | ||
+ | # В 6-й версии не нужно, БД будет создана автоматически | ||
# zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sqlite3 /var/lib/zabbix/zabbix.db | # zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sqlite3 /var/lib/zabbix/zabbix.db | ||
</code> | </code> | ||
Line 141: | 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 200: | Line 211: | ||
===== Настройка мониторинга ===== | ===== Настройка мониторинга ===== | ||
- | * [[https://www.zabbix.com/documentation/4.0/ru/manual/quickstart|Zabbix Documentation 4.0. Быстрый старт]] | + | * !!! однажды Setup заработал только в chrome !!! |
+ | * [[https://www.zabbix.com/documentation/current/ru/manual/quickstart|Zabbix Documentation. Быстрый старт]] | ||
* Login: Admin; Pass: zabbix | * Login: Admin; Pass: zabbix | ||
+ | |||
<code> | <code> | ||
- | http://server.corpX.un/zabbix/ | + | http://192.168.X.10/zabbix/ |
</code> | </code> | ||
==== Настройка уведомлений о событиях ==== | ==== Настройка уведомлений о событиях ==== | ||
Line 392: | Line 405: | ||
{{HOSTNAME}:{TRIGGER.KEY}.last(#2)} | {{HOSTNAME}:{TRIGGER.KEY}.last(#2)} | ||
</code> | </code> | ||
+ | |||
+ | Zabbix 6 | ||
+ | |||
+ | * [[https://www.zabbix.com/forum/zabbix-help/445808-display-an-items-previous-value|Display an items previous value...does not work...]] | ||
==== Простые проверки ==== | ==== Простые проверки ==== | ||
Line 591: | Line 608: | ||
Key: speedtest.download | Key: speedtest.download | ||
Type of information: Numeric (float) или Numeric (unsigned) | Type of information: Numeric (float) или Numeric (unsigned) | ||
- | Units: Бит/сек | + | Units: бит/с или bit/s |
Allowed hosts: 127.0.0.1 | Allowed hosts: 127.0.0.1 | ||
Preprocessing может понадобиться | Preprocessing может понадобиться | ||
Line 677: | Line 694: | ||
=== Исследование приложения === | === Исследование приложения === | ||
+ | |||
+ | * !!! [[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 772: | Line 792: | ||
==== Настройка триггеров ==== | ==== Настройка триггеров ==== | ||
+ | |||
+ | * [[https://www.zabbix.com/documentation/current/en/manual/config/triggers/trigger|Configuring a trigger]] | ||
=== Примеры простых целочисленных триггеров === | === Примеры простых целочисленных триггеров === | ||
Line 778: | Line 800: | ||
Name: gate.isp.un is unreachable | Name: gate.isp.un is unreachable | ||
Expression: {server.corpX.un:icmpping[gate.isp.un].last()}=0 Zabbix < 5.4 | Expression: {server.corpX.un:icmpping[gate.isp.un].last()}=0 Zabbix < 5.4 | ||
- | Expression: last(/server.corp13.un/icmpping[gate.isp.un])=0 Zabbix >= 5.4 | + | Expression: last(/server.corpX.un/icmpping[gate.isp.un])=0 Zabbix >= 5.4 |
Severity: High | Severity: High | ||
Name: RDP service on host is not available | Name: RDP service on host is not available | ||
Expression: {server.corpX.un:net.tcp.service[tcp,192.168.X.5,3389].last()}=0 | Expression: {server.corpX.un:net.tcp.service[tcp,192.168.X.5,3389].last()}=0 | ||
+ | Expression: last(/server.corpX.un/net.tcp.service[tcp,192.168.X.29,3389])=0 | ||
Severity: Warning | Severity: Warning | ||
Line 788: | Line 811: | ||
Name: HTTPS service on {HOST.NAME} is not available | Name: HTTPS service on {HOST.NAME} is not available | ||
Expression: {ya.ru:net.tcp.service.perf[https].last(#2)}=0 | Expression: {ya.ru:net.tcp.service.perf[https].last(#2)}=0 | ||
+ | Expression: last(/ya.ru/net.tcp.service.perf[https],#2)=0 | ||
Dependencies: Zabbix server: gate.isp.un is unreachable | Dependencies: Zabbix server: gate.isp.un is unreachable | ||
Line 799: | Line 823: | ||
Host: ya.ru | Host: ya.ru | ||
Name: HTTP service on {HOST.NAME} is slow | Name: HTTP service on {HOST.NAME} is slow | ||
+ | | ||
+ | Значение подобрать на основе графика | ||
+ | | ||
+ | Expression: {ya.ru:my.avg.perf.http.last()}>0.4 | ||
Expression: {ya.ru:net.tcp.service.perf[https].avg(5m)}>0.4 | Expression: {ya.ru:net.tcp.service.perf[https].avg(5m)}>0.4 | ||
+ | Expression: avg(/ya.ru/net.tcp.service.perf[https],5m)>0.4 | ||
- | |||
- | Expression: {ya.ru:my.avg.perf.http.last()}>0.4 | ||
- | |||
- | Значение подобрать на основе графика | ||
Severity: Warning | Severity: Warning | ||
</code> | </code> | ||
=== Пример с макросами и 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 819: | Line 847: | ||
=== Пример с текстовым элементом === | === Пример с текстовым элементом === | ||
+ | Zabbix 5 | ||
<code> | <code> | ||
Name: Host {HOST.NAME} nmap change | Name: Host {HOST.NAME} nmap change | ||
Line 826: | Line 855: | ||
или | или | ||
Expression: {val.bmstu.ru:my.nmap.diff()}=1 | Expression: {val.bmstu.ru:my.nmap.diff()}=1 | ||
+ | </code> | ||
+ | Zabbix 6 | ||
+ | <code> | ||
+ | Name: installed soft on host {HOST.NAME} change | ||
+ | Severity: Warning | ||
+ | |||
+ | Expression: (last(/Template OS Windows list installed soft Active/listinstalledsoft,#1)<>last(/Template OS Windows list installed soft Active/listinstalledsoft,#2))=1 | ||
</code> | </code> | ||
Line 836: | Line 872: | ||
Severity: Hight | Severity: Hight | ||
Expression: {server.corpX.un:web.test.fail[mail corpX].last()}>0 | Expression: {server.corpX.un:web.test.fail[mail corpX].last()}>0 | ||
+ | Expression: last(/server.corpX.un/web.test.fail[mail corpX])>0 | ||
</code> | </code> | ||
Line 933: | Line 970: | ||
<code> | <code> | ||
Configuration - Actions - Auto registration | Configuration - Actions - Auto registration | ||
- | Name: Add windows clients | + | Name: Add Windows clients # or Add Linux clients |
- | Conditions: Host name contains CLIENT | + | Conditions: Host name contains CLIENT # or client (lowercase) for linux |
- | Action operations: Add to host groups: windows clients | + | Action operations: |
- | Link to templates: Template OS Windows by Zabbix agent active | + | Add to host groups: Windows clients # or Linux clients |
- | Template OS Windows list installed soft Active | + | 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)) | ||
Set host inventory mode: Automatic | Set host inventory mode: Automatic | ||
</code> | </code> | ||
Line 949: | Line 987: | ||
StartAgents=0 | StartAgents=0 | ||
ServerActive=server | ServerActive=server | ||
- | Hostname=CLIENTN | + | #Hostname=CLIENTN |
</code> | </code> | ||
=== Использование UserParameter === | === Использование UserParameter === | ||
- | * Пример для Linux/Unix | + | == Примеры для Linux == |
* [[Сервис DHCP#Статистика DHCP сервера]] | * [[Сервис DHCP#Статистика DHCP сервера]] | ||
Line 966: | Line 1005: | ||
</code> | </code> | ||
- | * Windows examples | + | * [[Управление ПО в Linux#Список desktop приложений]] |
- | * [[PowerShell#Список установленного ПО]] !!! Попробовать вариант с форматированием | + | |
+ | <code> | ||
+ | linclient2:~# cat /etc/zabbix/zabbix_agentd.conf.d/listinstalledsoft.conf | ||
+ | </code><code> | ||
+ | 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> | ||
+ | |||
+ | == Примеры для Windows == | ||
+ | |||
+ | * [[PowerShell#Список установленного ПО]] | ||
<code> | <code> | ||
Line 975: | Line 1024: | ||
Timeout=30 | Timeout=30 | ||
- | UserParameter=listinstalledsoft,powershell -Command Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall; powershell -Command Get-ChildItem HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | + | #UserParameter=listinstalledsoft,powershell -Command Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall; powershell -Command Get-ChildItem HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall |
- | #UserParameter=listinstalledsoft,C:\bin\listinstalledsoft.bat | + | UserParameter=listinstalledsoft,C:\bin\listinstalledsoft.bat | findstr /v "^$" |
UnsafeUserParameters=1 | UnsafeUserParameters=1 | ||
Line 988: | Line 1037: | ||
@echo off | @echo off | ||
- | powershell -command "Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName | Format-Table -AutoSize -HideTableHeaders" | + | powershell -command "Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Get-ItemProperty | Where-Object 'DisplayName' | Sort-Object -Property DisplayName | Select-Object -Property DisplayName | Format-Table -AutoSize -HideTableHeaders" |
+ | powershell -command "Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Get-ItemProperty | Where-Object 'DisplayName' | Sort-Object -Property DisplayName | Select-Object -Property DisplayName | Format-Table -AutoSize -HideTableHeaders" | ||
- | powershell -command "Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName | Format-Table -AutoSize -HideTableHeaders" | ||
</code> | </code> | ||
==== Мониторинг по протоколу SNMP ==== | ==== Мониторинг по протоколу SNMP ==== | ||
- | * Необходима [[Сервис SNMP#Установка snmp консоли]] | + | * Была необходима [[Сервис SNMP#Установка snmp консоли]] |
<code> | <code> | ||
# service zabbix-server restart | # service zabbix-server restart | ||
</code> | </code> | ||
+ | |||
=== Автоматическое добавление === | === Автоматическое добавление === | ||
Line 1013: | Line 1063: | ||
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 1027: | Line 1079: | ||
Add | Add | ||
Operations: | Operations: | ||
- | Add to host groups: Discovered hosts | + | Add to host groups: Cisco devices !!! В Discovered hosts добавится автоматически !!! |
Link to templates: | Link to templates: | ||
3.XX Template SNMP Device | 3.XX Template SNMP Device | ||
4.XX Template Module Generic SNMPv2 | 4.XX Template Module Generic SNMPv2 | ||
4.XX Template Module Interfaces Simple SNMPv2 | 4.XX Template Module Interfaces Simple SNMPv2 | ||
- | 5.XX Template Net Cisco IOS SNMP !!!! Уменьшить период Discovery !!!! | + | 5.XX Template Net Cisco IOS SNMP !!! Уменьшить период Network interfaces discovery !!! |
+ | 6.XX Cisco IOS by SNMP | ||
Set host inventory mode: Automatic | Set host inventory mode: Automatic | ||
Add | Add | ||
</code> | </code> | ||
+ | |||
+ | === SNMPv3 === | ||
+ | |||
+ | * [[https://blog.zabbix.com/monitoring-network-hardware-with-snmpv3-in-zabbix/10093/|Monitoring network hardware with SNMPv3 in Zabbix]] | ||
==== Проверки через SSH ==== | ==== Проверки через SSH ==== | ||
Line 1045: | Line 1102: | ||
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/snmptrap|Zabbix Documentation SNMP трапы]] | * [[https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/snmptrap|Zabbix Documentation SNMP трапы]] | ||
* [[https://gist.github.com/jpawlowski/152abb4951f39ce1cfa0b1c5220b8635|SNMPTT installation on CentOS 7 for Zabbix integration]] | * [[https://gist.github.com/jpawlowski/152abb4951f39ce1cfa0b1c5220b8635|SNMPTT installation on CentOS 7 for Zabbix integration]] | ||
+ | * [[https://programmersought.com/article/39768892920/|How to deploy SNMP Traps in Centos8]] | ||
* [[https://www.zabbix.com/forum/zabbix-help/28463-catch-all-snmp-traps-with-general-event|catch all snmp traps with general event]] | * [[https://www.zabbix.com/forum/zabbix-help/28463-catch-all-snmp-traps-with-general-event|catch all snmp traps with general event]] | ||
+ | * [[https://blog.zabbix.com/snmp-traps-in-zabbix/8210/|SNMP Traps in Zabbix]] | ||
+ | * [[https://youtu.be/fVK2YWdTalQ|youtube SNMP Traps in Zabbix Tutorial]] | ||
<code> | <code> | ||
Line 1095: | Line 1155: | ||
Configuration | Configuration | ||
Templates | Templates | ||
- | Template App SSH Service | + | Template App SSH Service/SSH Service |
Full Clone | Full Clone | ||
- | Template App SSH Port Service | + | Template App SSH Port Service/SSH Port Service |
Add | Add | ||
Templates | Templates | ||
- | Template App SSH Port Service | + | Template App SSH Port Service/SSH Port Service |
Items | Items | ||
SSH service is running | SSH service is running | ||
Line 1115: | Line 1175: | ||
* [[https://www.zabbix.com/forum/in-russian/44171-perl-script-%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BF%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8-%D1%81%D0%B5%D1%82%D0%B8-%D0%B2-zabbix|Perl script Авторисования топологии сети в Zabbix]] | * [[https://www.zabbix.com/forum/in-russian/44171-perl-script-%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%82%D0%BE%D0%BF%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8-%D1%81%D0%B5%D1%82%D0%B8-%D0%B2-zabbix|Perl script Авторисования топологии сети в Zabbix]] | ||
* [[https://youtu.be/MEdVvZU18ek|Видеоурок - Самый простой, но очень полезный пример использования низкоуровнего обнаружения (LLD) в Zabbix]] | * [[https://youtu.be/MEdVvZU18ek|Видеоурок - Самый простой, но очень полезный пример использования низкоуровнего обнаружения (LLD) в Zabbix]] | ||
- | * [[Утилита jq]] | + | |
=== Штатные примеры === | === Штатные примеры === | ||
<code> | <code> | ||
- | server# zabbix_get -s gate -k vfs.fs.discovery | jq | + | server# zabbix_get -s gate -k vfs.fs.discovery |
- | ... | + | </code> |
+ | * [[Утилита jq]] | ||
+ | <code> | ||
server# zabbix_get -s gate -k vfs.fs.size[/,free] | server# zabbix_get -s gate -k vfs.fs.size[/,free] | ||
server# zabbix_get -s gate -k vfs.fs.size[/,total] | server# zabbix_get -s gate -k vfs.fs.size[/,total] | ||
Line 1179: | Line 1240: | ||
* Пример разработки собственного скрипта для LLD | * Пример разработки собственного скрипта для LLD | ||
* [[Обработка XML файлов]] | * [[Обработка XML файлов]] | ||
+ | * [[https://stackoverflow.com/questions/12524437/output-json-from-bash-script|Output JSON from Bash script]] | ||
<code> | <code> | ||
Line 1262: | Line 1324: | ||
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} | ||
Severity: Warning | Severity: Warning | ||
</code> | </code> | ||
Line 1277: | Line 1344: | ||
===== API ===== | ===== API ===== | ||
- | * [[https://ru.wikipedia.org/wiki/JSON|Материал из Википедии. 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 1382: | Line 1449: | ||
Список имен узлов | Список имен узлов | ||
- | 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 1401: | Line 1468: | ||
\"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> |