LINUX.ORG.RU

shell скрипт для мониторинга

 ,


0

1

Граждане, нужна помощь. Пилю мониторинг, суть такова:

zabbix пишет все аварии в файл zabbix.log. Он пишет их в виде:

упал // sw01// время

поднялся //sw01//время

упал //sw02//время

Задача в том, чтобы написать скрипт, который будет формировать отчёт по данным из zabbix.log. Выполнять проверку, если количество записей упал свич такой-то = кол-ву записей поднялся свич такой-то, то ничего не пишется в фал (допустим mail.log). Если кол-во записей упал > чем поднялся, в фал mail.log пишется строка упал свич такой-то. Понимаю, что нужно грепать, а вот дальше... Причем, по одному узлу может быть несколько записей упал поднялся, нужно, чтобы в mail.log писалась только одна строка.

Заранее спасибо.

★★

Последнее исправление: nixit (всего исправлений: 2)

нужна помощь

что делал, что получилось, что нет? Где скрипт? За тебя его писать бесплатно никто не будет. А платно - это в раздел Job

lazyklimm ★★★★★
()

нужно смотреть только последнюю строку по каждому свичу

Sorcerer ★★★★★
()

Какие скрипты, это прошлый век. Модные пацаны так не делают. Открываешь этот файл в екселе, потом пара кликов мыши, пара простых формул и вуаля отчет готов. И шефу показать не стыдно.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)

В заббиксе после «упал» всегда следует «поднялся» (я исключаю статус «unknown» в старых zabbix)

Что это за отчет получится? В нем будет ТЕКУЩАЯ авария на момент генерации отчета. Может проще в сам заббикс посмотреть?

Chumka ★★★
()
Ответ на: комментарий от Chumka

Да, именно так.

Зачем лишний раз нагружать адмЫна?

Я не прошу НАПИСАТЬ за меня скрипт. Я прошу подсказать алгоритм.

А вообще, лор - такой лор.

nixit ★★
() автор топика
Ответ на: комментарий от lazyklimm

Пока, не придумал ничего лучше, чем перебор по порядку всех строк и поиск им соответствия, через grep. Но, нужно добавить ещё проверку, чтобы исключить одинаковые строки по одному узлу.

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Какие вопросы такой и лор.

Ты хочешь сделать скриптом то что в забиксе реализовано в триггерах и оповещении.

Продолжай писать велосипеды, лор в помощь, чё.

greek_31 ★★
()
Ответ на: комментарий от greek_31

Ок. Если это можно сделать средствами заебикса, как? Срабатывает тригер, приходит оповещение. Я пишу их в файл. Решило проблему, если бы можно было писать в файл «Последние события».

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Попроси своего «адмЫна», чтобы он настроил тебе отправку уведомлений на почту - и всегда будешь знать, когда, что и где упало.

strangeman ★★★★
()
Ответ на: комментарий от nixit

Также заббикс умеет слать оповещения через скрипт, ну и напиши скрипт, пишущий в файл (погугли по документации), если уж хочется именно так.

strangeman ★★★★
()

вариант 1

awk -F'[ /]*' '{s[$2]=$1; t[$2]=$3}; END {for (k in s) {print k,t[k],s[k]}}' file.log
вариант 2
tac file.log | awk -F'[ /]*' '!s[$2] {print $2,$3,$1; s[$2]=1}'

sdio ★★★★★
()
Ответ на: комментарий от nixit

Нене. Раз надо видеть только последнее состояние - зачем писать в файл все? Ну и пишите последнее состояние. Я просто не понимаю проблемы.

strangeman ★★★★
()
Ответ на: комментарий от nixit

Напиши триггер на мониторинг смены состояния по нужному тебе таймауту. Если состояние не меняется, то ...

greek_31 ★★
()

Что мешает держать в фоне

tail -0f zabbix.log | awk '
{ ... ; system(...) }
'
и не разбирать файл каждый раз? Хотя, конечно, это наверняка костыли.

quantum-troll ★★★★★
()
Ответ на: комментарий от nixit

Смотри в zabbix, раздел Триггеры - вот тебе и твой отчет.

Если хочешь получать на почту каждую аварию - настрой Action в zabbix и Media у нужного пользователя

Chumka ★★★
()

костыль какой-то. добавляешь проверку icmpping, и заббикс сам будет хранить по ней историю, по всем хостам - как настроишь. он же по ней сам может и графики рисовать, и отчеты делать.

Komintern ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.