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/07/24 12:11]
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 147: 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 200: 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]]
  
  
 ===== Настройка мониторинга ===== ===== Настройка мониторинга =====
  
 +  * !!! Однажды Setup не заработал в firefox !!!
   * [[https://​www.zabbix.com/​documentation/​current/​ru/​manual/​quickstart|Zabbix Documentation. Быстрый старт]]   * [[https://​www.zabbix.com/​documentation/​current/​ru/​manual/​quickstart|Zabbix Documentation. Быстрый старт]]
   * Login: Admin; Pass: zabbix   * Login: Admin; Pass: zabbix
Line 399: 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...]]   * [[https://​www.zabbix.com/​forum/​zabbix-help/​445808-display-an-items-previous-value|Display an items previous value...does not work...]]
Line 600: 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 684: 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 746: 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 776: 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 797: Line 809:
 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: ​last(/​ya.ru/​net.tcp.service.perf[https],#​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 821: Line 833:
  
 === Пример с макросами и 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 831: Line 846:
  
 === Пример с текстовым элементом === === Пример с текстовым элементом ===
 +Zabbix 5
 <​code>​ <​code>​
 Name: Host {HOST.NAME} nmap change Name: Host {HOST.NAME} nmap change
Line 953: 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 969: 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 986: Line 1004:
 </​code>​ </​code>​
  
-  * Windows ​examples+  * [[Управление ПО в Linux#​Список desktop приложений]] 
 + 
 +<​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#​Список установленного ПО]]   * [[PowerShell#​Список установленного ПО]]
  
Line 1008: 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>​
 +
 === Автоматическое добавление === === Автоматическое добавление ===
  
Line 1026: 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 1033: 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 1047: 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 SNMP+             6.XX Cisco IOS by SNMP
       Set host inventory mode: Automatic       Set host inventory mode: Automatic
     Add     Add
Line 1143: 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 1207: Line 1239:
   * Пример разработки собственного скрипта для LLD   * Пример разработки собственного скрипта для LLD
   * [[Обработка XML файлов]]   * [[Обработка XML файлов]]
 +  * [[https://​stackoverflow.com/​questions/​12524437/​output-json-from-bash-script|Output JSON from Bash script]]
  
 <​code>​ <​code>​
Line 1290: 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}                   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 1411: 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 1430: 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>​
сервис_zabbix.txt · Last modified: 2023/10/03 18:15 by val