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/07/24 12:11]
val [Настройка триггеров]
сервис_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 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>​
 +
 === Автоматическое добавление === === Автоматическое добавление ===
  
-  ​* [[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 1033: 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 1047: 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 SNMP+             6.XX Cisco IOS by SNMP
       Set host inventory mode: Automatic       Set host inventory mode: Automatic
     Add     Add
Line 1143: 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 1207: Line 1241:
   * Пример разработки собственного скрипта для LLD   * Пример разработки собственного скрипта для LLD
   * [[Обработка XML файлов]]   * [[Обработка XML файлов]]
 +  * [[https://​stackoverflow.com/​questions/​12524437/​output-json-from-bash-script|Output JSON from Bash script]]
  
 <​code>​ <​code>​
Line 1290: 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 1411: 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 1430: 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>​
сервис_zabbix.1658653873.txt.gz · Last modified: 2022/07/24 12:11 by val