This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
zabbix_logs [2025/11/07 15:32] val |
zabbix_logs [2026/02/20 10:55] (current) val |
||
|---|---|---|---|
| Line 26: | Line 26: | ||
| # ###apt install rsyslog | # ###apt install rsyslog | ||
| - | # cat /var/log/syslog | egrep -i 'error' | + | # cat /var/log/syslog | grep -i 'error' |
| # cat /var/log/syslog | egrep -v 'DHCPACK|DHCPREQUEST|Wrote.*leases|sessionclean|ALLOWED|run-parts.*report' | # 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: Error message in syslog | + | Name: Error log in syslog |
| Type: Zabbix Agent(active) | Type: Zabbix Agent(active) | ||
| - | Key: logrt[/var/log/syslog,(?i)error] | + | Key: log[/var/log/syslog,rror] или log[/var/log/syslog,(?i)error] |
| History: 1d | History: 1d | ||
| Item: | Item: | ||
| - | Name: Unknown message in syslog | + | Name: Unknown log in syslog |
| Type: Zabbix Agent(active) | Type: Zabbix Agent(active) | ||
| - | Key: logrt[/var/log/syslog] | + | Key: log[/var/log/syslog] |
| Preprocessing: | Preprocessing: | ||
| Name: Does not match regular expression | Name: Does not match regular expression | ||
| Line 51: | Line 61: | ||
| Trigger: | Trigger: | ||
| - | Name: Error|Unknown message in syslog on {HOST.NAME} | + | Name: Error|Unknown log in syslog on {HOST.NAME} |
| Severity: Warning | Severity: Warning | ||
| - | Expression: nodata(/Zabbix server/logrt[/var/log/syslog,(?i)error],1m)=0 | + | Expression: nodata(/Zabbix server/log[/var/log/syslog,rror],1m)=0 |
| - | Expression: nodata(/Zabbix server/logrt[/var/log/syslog],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> | ||