PDA

View Full Version : Настройка триггера при мониторинге лог-ф


nitrogear
12-06-2009, 11:58
Я настроил мониторинг лог файла на обнаружение таких строк (поиск шаблона "Invalid user"):
Jun 12 10:57:54 sneak sshd[81715]: Invalid user rpcuser from 122.1.87.43
При мониторингке лог-файла, насколько я понял, last value устанавливается не через указанный период опроса, а только при обнаружении в лог-файл нужной строки.
Каким образом настроить триггер, чтобы он срабатывал по событию нахождения нужной мне строки?
И как в этом случае сбрасывать триггер обратно?

dotneft
14-06-2009, 14:44
Я настроил мониторинг лог файла на обнаружение таких строк (поиск шаблона "Invalid user"):
Jun 12 10:57:54 sneak sshd[81715]: Invalid user rpcuser from 122.1.87.43
При мониторингке лог-файла, насколько я понял, last value устанавливается не через указанный период опроса, а только при обнаружении в лог-файл нужной строки.
Каким образом настроить триггер, чтобы он срабатывал по событию нахождения нужной мне строки?
И как в этом случае сбрасывать триггер обратно?

использовать regexp или iregexp

nitrogear
15-06-2009, 09:01
использовать regexp или iregexp
Имеется ввиду что ключ vfs.file.regexp[file, regexp] устанавливает last value при каждом опросе?

nitrogear
16-06-2009, 14:02
Дело в том, что regexp будет находить первое вхождение в указанном файле, в то время как log ищет нужную строку в новых записях.
Как же быть в данном случае?

dotneft
16-06-2009, 15:40
Дело в том, что regexp будет находить первое вхождение в указанном файле, в то время как log ищет нужную строку в новых записях.
Как же быть в данном случае?

1)создаете итем с типом лог. Например error.log
2) создаете триггер {Template_Linux:error.log.iregexp(rpcuser)}

Наверное так:)

Думаю можно еще использовать .regexp(), .str()

iregexp - Не чувствительная к регистру проверка
regexp - Видимо чувствительная:)
str - ищет в возвращенном результате подстроку.

Ну а подробнее в мануале ка кэто использовать (стр 126-127):)

nitrogear
17-06-2009, 11:43
1)создаете итем с типом лог. Например error.log
2) создаете триггер {Template_Linux:error.log.iregexp(rpcuser)}
Наверное так:)

Это мне ясно - вопрос в другом.
last value для ключа типа log устанавливается не каждый раз во время опроса (как с любым другим ключом), а только когда появляется новая запись в логе.
В итоге получается если произошло интересующее меня событие, то триггер (настроенный на поиск строки по str, к примеру), взведется и будет оставаться в таком положении.
Я просматриваю /var/log/auth.log на предмет попыток подбора паролей по ssh. Как только такое обнаруживается, взводится триггер и выполняется блокировка адреса, с которого производится подбор. Проблема в том, что триггер так и остается включенным.
Пока решил проблему так - добавил в скрипт, запускаемый по триггеру запись в /var/log/auth.log строчки, которая сбрасывает состояние триггера.
Это конечно костыль, хотелось бы чтобы разработчики что-то придумал как можно средствами заббикса решить подобную проблему.