User Tools

Site Tools


сервис_zabbix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
сервис_zabbix [2022/02/14 11:29]
val [Простые проверки]
сервис_zabbix [2023/10/03 16:11]
val [Мониторинг по протоколу SNMP]
Line 26: Line 26:
  
 # less /​usr/​share/​doc/​zabbix-server-mysql/​README.Debian # less /​usr/​share/​doc/​zabbix-server-mysql/​README.Debian
-</​code>​ 
  
-  * В Debian10 потребуется [[Сервис MySQL#​Управление параметрами сервера]] MySQL innodb_strict_mode=OFF 
- 
-<​code>​ 
 # cat zabbix.sql # cat zabbix.sql
 </​code><​code>​ </​code><​code>​
 #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 43:
 # 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 90:
 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 133:
 # 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 148:
 # 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 194: Line 201:
 ===== Обновление Zabbix ===== ===== Обновление Zabbix =====
  
-  * [[https://​www.zabbix.com/​documentation/​current/​manual/​installation/​upgrade/​packages/​debian_ubuntu#Steps required for a successful upgrade Zabbix]] +  ​* [[https://​bestmonitoringtools.com/​upgrade-zabbix-to-the-latest-version/​|Upgrade Zabbix (5.0, 5.2, 5.4) to 6.0 like a Pro (+6.0 to 6.4 guide)]] 
-  * [[https://​www.zabbix.com/​documentation/​current/​ru/​manual/​installation/​upgrade/​packages/​debian_ubuntuбновление с Zabbix]]+  ​* [[https://​www.zabbix.com/​documentation/​current/​manual/​installation/​upgrade/​packages/​debian_ubuntu|Steps required for a successful upgrade Zabbix]] 
 +  * [[https://​www.zabbix.com/​documentation/​current/​ru/​manual/​installation/​upgrade/​packages/​debian_ubuntu|Требуемые шаги для успешного обновления Zabbix]] 
 +  * [[https://​www.zabbix.com/​documentation/​current/​en/​manual/​installation/​upgrade|Zabbix ​Documentation Upgrade procedure]]
  
  
 ===== Настройка мониторинга ===== ===== Настройка мониторинга =====
  
-  * [[https://​www.zabbix.com/​documentation/​4.0/​ru/​manual/​quickstart|Zabbix Documentation ​4.0. Быстрый старт]]+  ​* !!! Однажды Setup не заработал в firefox !!! 
 +  ​* [[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 368: Line 379:
 {ITEM.NAME1} ({HOST.NAME1}:​{ITEM.KEY1}): ​ {ITEM.NAME1} ({HOST.NAME1}:​{ITEM.KEY1}): ​
  
-Current:+==CURRENT==
  
 {ITEM.VALUE1} {ITEM.VALUE1}
  
-Previous:+==PREVIOUS==
  
 {{HOSTNAME}:​{TRIGGER.KEY}.last(#​2)} {{HOSTNAME}:​{TRIGGER.KEY}.last(#​2)}
Line 392: Line 403:
 {{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 484: Line 499:
  
 speedtest-cli --csv $A | cut -d','​ -f $F speedtest-cli --csv $A | cut -d','​ -f $F
 +</​code><​code>​
 +# /​etc/​zabbix/​externalscripts/​speedtest.sh upload
 +
 +# /​etc/​zabbix/​externalscripts/​speedtest.sh download
 </​code><​code>​ </​code><​code>​
 Cofiguration->​Hosts->​server.corpX.un Cofiguration->​Hosts->​server.corpX.un
Line 492: Line 511:
     Type of information:​ Numeric (float)     Type of information:​ Numeric (float)
     Units: Бит/​сек     Units: Бит/​сек
 +    Update interval: 30m
 +
 ...    ​ ...    ​
     Name: speedtest upload     Name: speedtest upload
Line 585: Line 606:
     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 669: Line 690:
  
   * [[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 728: Line 753:
   Variables   Variables
     {token1} regex:​name="​_token"​ value="​([0-9A-Za-z]{32})"​     {token1} regex:​name="​_token"​ value="​([0-9A-Za-z]{32})"​
-     +Можно проще:
-Попробовать:+
     {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 747: Line 771:
  
   Variables   Variables
-    {token2}: regex:​name="​_token"​ value="​([0-9A-Za-z]{32})"+    {token2}: regex:​name="​_token"​ value="​(.{32})"
     ​     ​
   Follow redirects: YES   Follow redirects: YES
Line 762: Line 786:
     _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 772: Line 798:
 Host: server.corpX.un Host: server.corpX.un
     Name: gate.isp.un is unreachable     Name: gate.isp.un is unreachable
-    Expression: {server.corpX.un:​icmpping[gate.isp.un].last()}=0+    Expression: {server.corpX.un:​icmpping[gate.isp.un].last()}=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
  
 Host: ya.ru  Host: ya.ru 
     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].max(#2)}=0 
 +    Expression: max(/​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 793: Line 822:
 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 813: Line 846:
  
 === Пример с текстовым элементом === === Пример с текстовым элементом ===
 +Zabbix 5
 <​code>​ <​code>​
 Name: Host {HOST.NAME} nmap change Name: Host {HOST.NAME} nmap change
Line 820: Line 854:
   или   или
 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 830: Line 871:
 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 927: Line 969:
 <​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 943: Line 986:
 StartAgents=0 StartAgents=0
 ServerActive=server ServerActive=server
-Hostname=CLIENTN+#Hostname=CLIENTN
 </​code>​ </​code>​
  
 === Использование UserParameter === === Использование UserParameter ===
  
-  * Пример для Linux/Unix+== Примеры для Linux == 
   * [[Сервис DHCP#​Статистика DHCP сервера]]   * [[Сервис DHCP#​Статистика DHCP сервера]]
  
Line 960: Line 1004:
 </​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 969: Line 1023:
 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 | findstr /v "​^$"​
  
 UnsafeUserParameters=1 UnsafeUserParameters=1
Line 975: Line 1031:
 UserParameter=runcommand[*],​$1 UserParameter=runcommand[*],​$1
 UserParameter=lmstat[*],​C:​\Progra~1\PTC\flexnet\bin\lmutil lmstat -a -c $1 UserParameter=lmstat[*],​C:​\Progra~1\PTC\flexnet\bin\lmutil lmstat -a -c $1
 +</​code><​code>​
 +C:​\>​notepad C:​\bin\listinstalledsoft.bat
 +</​code><​code>​
 +@echo off
 +
 +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"​
 +
 </​code>​ </​code>​
 ==== Мониторинг по протоколу SNMP ==== ==== Мониторинг по протоколу SNMP ====
  
-  * Необходима [[Сервис SNMP#​Установка snmp консоли]]+  * Была необходима [[Сервис SNMP#​Установка snmp консоли]]
  
 <​code>​ <​code>​
 # service zabbix-server restart # service zabbix-server restart
 </​code>​ </​code>​
 +
 === Автоматическое добавление === === Автоматическое добавление ===
  
Line 990: Line 1055:
 Configuration->​Discovery Configuration->​Discovery
 Discovery rules Discovery rules
-  Name: Local network+  Name: Local network ​   ​или ​   Cisco Router Discovery
   IP range: 172.16.1.190-199,​ 192.168.X.51-60   IP range: 172.16.1.190-199,​ 192.168.X.51-60
   Checks: ​   Checks: ​
Line 997: Line 1062:
     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 criteriaIP address  ​+ 
 +  ​Host nameSNMPv2 agent ...            !!! Остальные варианты требуют PTR записи 
   Enabled: yes   Enabled: yes
  
Line 1011: Line 1078:
       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 1029: Line 1101:
   * [[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 1079: Line 1154:
 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 1099: Line 1174:
   * [[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 1163: Line 1239:
   * Пример разработки собственного скрипта для LLD   * Пример разработки собственного скрипта для LLD
   * [[Обработка XML файлов]]   * [[Обработка XML файлов]]
 +  * [[https://​stackoverflow.com/​questions/​12524437/​output-json-from-bash-script|Output JSON from Bash script]]
  
 <​code>​ <​code>​
Line 1246: Line 1323:
  
     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 1261: Line 1343:
 ===== 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 1366: Line 1448:
  
 Список имен узлов Список имен узлов
-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 1385: Line 1467:
     \"​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>​
Line 1409: Line 1492:
 } " 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 "Super MAP"+server.corp1.un:​~#​ /​root/​zab_set_map_name.sh 2 "ISP1"
 </​code>​ </​code>​
сервис_zabbix.txt · Last modified: 2023/10/03 18:15 by val