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
сервис_zabbix [2022/02/15 08:11]
val [Мониторинг с использованием Zabbix agents]
сервис_zabbix [2023/10/03 18:15] (current)
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 591: 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 675: 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 737: Line 756:
     {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 767: 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 777: 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 798: 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 818: Line 846:
  
 === Пример с текстовым элементом === === Пример с текстовым элементом ===
 +Zabbix 5
 <​code>​ <​code>​
 Name: Host {HOST.NAME} nmap change Name: Host {HOST.NAME} nmap change
Line 825: 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 835: 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 932: 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 948: 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 965: 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 974: 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+UserParameter=listinstalledsoft,​C:​\bin\listinstalledsoft.bat ​| findstr /v "​^$"​
  
 UnsafeUserParameters=1 UnsafeUserParameters=1
Line 987: Line 1036:
 @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>​
 +
 === Автоматическое добавление === === Автоматическое добавление ===
  
-  ​* [[https://​www.zabbix.com/​documentation/​3.0/​manual/​discovery/​network_discovery/rule|Configuring a network ​discovery ​rule]]+ 
 +  ​* [[https://​www.zabbix.com/​documentation/​current/en/​manual/​discovery/​network_discovery|Network ​discovery]] ​см. Discovery status 
  
 <​code>​ <​code>​
 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 1012: 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 criteriaIP address  ​+ 
 +  ​Host nameSNMPv2 agent ...            !!! Остальные варианты требуют PTR записи 
   Enabled: yes   Enabled: yes
  
Line 1026: Line 1080:
       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 1044: Line 1103:
   * [[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 1094: Line 1156:
 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 1114: Line 1176:
   * [[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 1178: Line 1241:
   * Пример разработки собственного скрипта для LLD   * Пример разработки собственного скрипта для LLD
   * [[Обработка XML файлов]]   * [[Обработка XML файлов]]
 +  * [[https://​stackoverflow.com/​questions/​12524437/​output-json-from-bash-script|Output JSON from Bash script]]
  
 <​code>​ <​code>​
Line 1261: 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}
       Severity: Warning       Severity: Warning
 </​code>​ </​code>​
Line 1276: Line 1345:
 ===== 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 1381: 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 1400: 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>​
Line 1424: Line 1494:
 } " 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.1644901881.txt.gz · Last modified: 2022/02/15 08:11 by val