скрипт мониторинга журнала, который нуждается в большем количестве функций - PullRequest
0 голосов
/ 13 июня 2019

Я написал ниже скрипт мониторинга журнала, чтобы egrep несколько слов и перенаправить вывод в текстовый файл, и он работает нормально, но я хочу добавить к нему еще несколько нижеприведенных функциональных возможностей, что очень полезно и не очень хорошо в нем. Поэтому, пожалуйста, помогите, если можете:)

  1. Я распаковываю все коды ошибок, так что я хочу вместо того, чтобы переписывать все коды ошибок, я должен grep для "HTTP / 1.1" 200 ", который является успешным кодом и в любой строке которого нет этого перенаправления вывода в выходной файл.
  2. игнорировать любую строку, которая имеет "/ akamai / sureroute"
  3. сейчас я использую cronjob для запуска этого скрипта каждые 5 минут, поэтому мой скрипт будет отправлять одну и ту же ошибку снова и снова, поэтому я хочу, чтобы скрипт не отправлял одну и ту же ошибку более 3 раз. (на основе отметки времени).
  4. например. если сервер не работает, я не хочу, чтобы сообщения об ошибках 1000, поэтому, если есть более 100 сообщений об ошибках, сценарий должен отправить только 1 письмо.

=============

find /home/bharat/ -type f -name "apache_logs.txt" |while read file
  do
    RESULT=$(egrep "[^0](400|401|403|404|405|406|407|408|409|410|411|412|413|414|415|416|417|418|422|425|426|428|429|431|451|500|501|502|503|504|505|511)" $file)
      if [[ ! -z $RESULT ]]
         then
            echo "Error(s) in $file on $HOSTNAME at "$(date)": $RESULT">> email_result.txt
     fi
  done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...