User Tools

Site Tools


zabbix_logs

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_logs [2025/11/07 11:44]
val
zabbix_logs [2026/02/20 10:55] (current)
val
Line 1: Line 1:
 ====== Использование Zabbix для мониторинга журналов,​ или, как не пропустить что-то неожиданное ====== ====== Использование Zabbix для мониторинга журналов,​ или, как не пропустить что-то неожиданное ======
 +
 +  * [[https://​www.zabbix.com/​documentation/​6.0/​ru/​manual/​config/​items/​itemtypes/​log_items|Руководство по Zabbix Мониторинг файлов журналов]]
 +  * [[https://​www.zabbix.com/​documentation/​current/​en/​manual/​regular_expressions]]
 +  * [[https://​habr.com/​ru/​articles/​737058/​|Логи из Linux в Zabbix. Подробнейшая инструкция]]
 +  * [[https://​www.zabbix.com/​forum/​zabbix-help/​457279-trying-to-make-a-trigger-of-a-monitored-logfile|Trying to make a trigger of a monitored logfile]]
  
 ===== Реклама ===== ===== Реклама =====
Line 21: Line 26:
 # ###apt install rsyslog # ###apt install rsyslog
  
-# cat /​var/​log/​syslog | egrep -'aaa|bbb|ccc'+# cat /​var/​log/​syslog | grep -'error'
  
 +# cat /​var/​log/​syslog | egrep -v '​DHCPACK|DHCPREQUEST|Wrote.*leases|sessionclean|ALLOWED|run-parts.*report'​
 +
 +# cat /​etc/​zabbix/​zabbix_agentd.conf
 +</​code><​code>​
 +...
 +ServerActive=server
 +...
 +</​code><​code>​
 # usermod -aG adm zabbix # usermod -aG adm zabbix
 +
 +# hostname
 +abcd.corpX.un
  
 # service zabbix-agent restart # service zabbix-agent restart
 +
 +Host: abcd.corpX.un
  
 Item: Item:
-  Name: Log syslog+  Name: Error log in syslog
   Type: Zabbix Agent(active)   Type: Zabbix Agent(active)
-  Key: logrt[/​var/​log/​syslog]+  Key: log[/​var/​log/​syslog,​rror] ​ или ​ log[/​var/​log/​syslog,​(?​i)error] 
 +  History: 1d 
 + 
 +Item: 
 +  Name: Unknown log in syslog 
 +  Type: Zabbix Agent(active) 
 +  Key: log[/​var/​log/​syslog] 
 +  Preprocessing:​ 
 +    Name: Does not match regular expression 
 +    Parameters: DHCPACK|DHCPREQUEST|Wrote.*leases|sessionclean|ALLOWED|run-parts.*report 
 +    Custom on fail: Discard Value
  
 Trigger: Trigger:
 +  Name: Error|Unknown log in syslog on {HOST.NAME}
 +  Severity: Warning
 +  Expression: nodata(/​Zabbix server/​log[/​var/​log/​syslog,​rror],​1m)=0
 +  Expression: nodata(/​Zabbix server/​log[/​var/​log/​syslog,​(?​i)error],​1m)=0
 +  Expression: nodata(/​Zabbix server/​log[/​var/​log/​syslog],​1m)=0
 +  ​
 +
 +</​code>​
 +
 +===== DeepSeek =====
 +
 +<​code>​
 +Разбор текущей конфигурации:​
 +1. Подготовка системы (bash команды)
 +bash
 +# ###apt install rsyslog
 +Установка rsyslog (обычно уже есть)
 +
 +bash
 +# cat /​var/​log/​syslog | grep -i '​error'​
 +Ручной поиск ошибок (для проверки)
 +
 +bash
 +# cat /​var/​log/​syslog | egrep -v '​DHCPACK|DHCPREQUEST|Wrote.*leases|sessionclean|ALLOWED|run-parts.*report'​
 +Просмотр syslog без "​шумных"​ сообщений (DHCP, сессии и т.д.)
 +
 +bash
 +# usermod -aG adm zabbix
 +Критически важно! Добавляем пользователя zabbix в группу adm, чтобы он мог читать /​var/​log/​syslog (обычно права 640, root:adm)
 +
 +2. Проблема в текущих Item'​ах
 +У тебя два item'​а,​ но в триггере почему-то три выражения:​
 +
 +Item 1:
 +
 +text
 +Key: log[/​var/​log/​syslog,​rror]
 +Это ищет строки содержащие "​rror"​ (опечатка?​ Должно быть "​error"?​)
 +
 +Item 2:
 +
 +text
 +Key: log[/​var/​log/​syslog]
 +Preprocessing:​ Does not match regular expression
 +Это собирает ВСЕ строки,​ но отбрасывает те, что попадают под regex.
 +
 +3. Оптимизированная версия
 +Вот как лучше настроить:​
 +
 +bash
 +# /​etc/​zabbix/​zabbix_agentd.conf
 +# Убедись,​ что активные проверки включены
 +ServerActive=zabbix.server.com
 +Hostname=abcd.corpX.un
 +HostMetadata=linux
 +Лучше сделать один item:
 +
 +text
 +Item:
 +  Name: Syslog errors and warnings
 +  Type: Zabbix Agent (active)
 +  Key: log[/​var/​log/​syslog,"​(?​i)(error|fail|critical|alert)",,,​skip,,​]
 +  Type of information:​ Log
 +  History: 7d
 +Или два отдельных (для разделения важности):​
 +
 +text
 +# Item для реальных ошибок
 +Item:
 +  Name: Syslog - Errors
 +  Type: Zabbix Agent (active)
 +  Key: log[/​var/​log/​syslog,"​(?​i)error|fail|critical",,,​skip,,​]
 +  Type: Log
 +  History: 7d
 +
 +# Item для всего остального (с фильтрацией шума)
 +Item:
 +  Name: Syslog - Other important messages
 +  Type: Zabbix Agent (active)
 +  Key: log[/​var/​log/​syslog]
 +  Preprocessing:​
 +    - Name: Does not match regular expression
 +      Parameters: DHCPACK|DHCPREQUEST|Wrote.*leases|sessionclean|ALLOWED|run-parts.*report|cron.*CMD|systemd.*Started
 +    - Name: Custom on fail
 +      Parameters: Discard value
 +4. Правильный триггер
 +yaml
 +Trigger:
 +  Name: Error in syslog on {HOST.NAME}
 +  Severity: Average ​ # или Warning
 +  Expression: |
 +    min(/Zabbix server/​log[/​var/​log/​syslog,"​(?​i)error|fail|critical"​],​5m) > 0
 +Или для обоих типов:
 +
 +yaml
 +Trigger:
 +  Name: New error in syslog on {HOST.NAME}
 +  Severity: High
 +  Expression: |
 +    min(/Zabbix server/​log[/​var/​log/​syslog,"​(?​i)error"​],​5m) > 0
 +
 +Trigger:
 +  Name: New important message in syslog on {HOST.NAME}
 +  Severity: Info
 +  Expression: |
 +    min(/Zabbix server/​log[/​var/​log/​syslog,"​(?​i)warn|unknown|invalid"​],​5m) > 0
 +    and
 +    min(/Zabbix server/​log[/​var/​log/​syslog,"​(?​i)error|fail|critical"​],​5m) = 0
 +5. Дополнительные полезные настройки
 +В zabbix_agentd.conf можно добавить:​
 +
 +bash
 +# Увеличить буфер для логов
 +BufferSize=1000
 +
 +# Специфичные для логов параметры
 +LogRemoteCommands=0
 +HostInterface=abcd.corpX.un
 +Проверка прав:
 +
 +bash
 +# После usermod нужно проверить:​
 +id zabbix
 +# Должно показать:​ uid=... gid=... groups=...,​adm
 +
 +# Перезапуск агента
 +systemctl restart zabbix-agent
 +
 +# Проверка лога агента
 +tail -f /​var/​log/​zabbix/​zabbix_agentd.log
 +Еще полезные regex для фильтрации:​
 +
 +text
 +# Исключить совсем уж шумные сообщения
 +DHCPACK|DHCPREQUEST|Wrote.*leases|sessionclean|ALLOWED|run-parts.*report|cron.*CMD|systemd.*Started|systemd.*Stopped|User Slice|Session|Removed
  
 </​code>​ </​code>​
  
zabbix_logs.1762505046.txt.gz · Last modified: 2025/11/07 11:44 by val