Назад | Перейти на главную страницу

МОНИТ: Мониторинг файла журнала при подсчете и изменении отметки времени

Я хочу отслеживать файл журнала, и меня интересуют только строки «Получен новый блок». Мне нужно два разные скрипты для мониторинга

Все остальные строки здесь не представляют интереса и их можно игнорировать. Я пытался найти какие-либо примеры, чтобы объединить это, но мне все еще не удалось, поэтому я надеюсь, что вы можете мне помочь.

журнал-фрагмент

{"level":"warn","message":"Main queue","timestamp":"2016-04-30 19:49:33","data":50}
{"level":"info","message":"Checking blockchain on 11.22.33.44:1234","timestamp":"2016-04-30 19:49:33"}
{"level":"warn","message":"Balance queue","timestamp":"2016-04-30 19:49:39","data":50}

{"level":"info","message":"Received new block id: 12345678901234567890 height: 8761 round: 87 slot: 3350818 reward: 100000000","timestamp":"2016-04-30 19:49:41"}

{"level":"info","message":"Removing peer POST http://11.22.33.44:1234/peer/transactions","timestamp":"2016-04-30 19:49:42"}
{"level":"warn","message":"Main queue","timestamp":"2016-04-30 19:49:43","data":94}
{"level":"warn","message":"Main queue","timestamp":"2016-04-30 19:49:43","data":93}
{"level":"warn","message":"Main queue","timestamp":"2016-04-30 19:49:43","data":52}
{"level":"warn","message":"Main queue","timestamp":"2016-04-30 19:49:43","data":51}
{"level":"warn","message":"Main queue","timestamp":"2016-04-30 19:49:43","data":50}
{"level":"info","message":"Checking blockchain on 11.22.33.44:1234","timestamp":"2016-04-30 19:49:44"}
{"level":"info","message":"Removing peer POST http://11.22.33.44:1234/peer/blocks","timestamp":"2016-04-30 19:49:46"}

{"level":"info","message":"Received new block id: 12345678901234567890 height: 8762 round: 87 slot: 3350819 reward: 100000000","timestamp":"2016-04-30 19:49:50"}

monitrc

set daemon 120            # check services at 2-minute intervals
set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
set mailserver SMTP.MAILHOSTER.COM port 587         # primary mailserver
     username "LoginUsername" password "LoginPassword"
     using ssl
     with timeout 30 seconds
set eventqueue
      basedir /var/lib/monit/events # set the base directory where events will be stored
      slots 100                     # optionally limit the queue size
set   mail-format {
        from: SEND@MAILHOSTER.COM
        subject: ALARM on Test-Server -- $EVENT $SERVICE
        message: $EVENT Service $SERVICE
        Date:        $DATE
        Action:      $ACTION
        Host:        $HOST
        Description: $DESCRIPTION

        Bye,
        Monit
}
set alert RECEIVE@example.net       # receive all alerts
include /etc/monit/conf.d/*
If no change occurs for 30 seconds THEN alarm

Вы настроили запуск monit каждые 30 секунд? Monit не предназначен для такой метрики, так как он проверяет каждые (2) минуты из конфигурации по умолчанию. Также обнаружение того, что временная метка не менялась каждые 30 секунд, не то же самое, что проверка каждую секунду, если она не старше 30 секунд.

Также для такого конкретного случая используйте собственный сценарий со всей вашей логикой, а затем действуйте в соответствии с кодом выхода. видеть https://mmonit.com/monit/documentation/monit.html#PROGRAM-STATUS-TESTING