Comments 4
А почему критичная LA 20? А если на сервере 2 x E7-8890V3 по 18 реальных ядер на брата?
А почему в логах реагируете только на те проблемы, которые раньше уже стречали. Правильней «не мониторить известные некритичные сообщение и реагировать на все известные критичные сообщение и на все неизвестные сообщение».
Ну я уж молчу про то, что в одном файле смешивается bash и html, а в одной строке awk и cut, причем подряд, а links по вашей версии есть на каждом сервере.
А почему в логах реагируете только на те проблемы, которые раньше уже стречали. Правильней «не мониторить известные некритичные сообщение и реагировать на все известные критичные сообщение и на все неизвестные сообщение».
ps aux | grep foo | grep -v grep
можно заменить на
ps aux | grep [f]oo
Ну я уж молчу про то, что в одном файле смешивается bash и html, а в одной строке awk и cut, причем подряд, а links по вашей версии есть на каждом сервере.
+2
Скрипт далеко не универсален в том виде, что есть и по сути это самопал под конкретную систему и конкретные задачи. Шаг влево шаг вправо и он уже не будет работать.
Например вы определяете версию links, вот только непонятно зачем? Например в Links 2.7 или 2.8 нет опции -eval, где Вы её взяли?
Я уже не говорю о том, что наличие mysql и postgresql Вы определяете по наличию файлов /root/.mysql и /root/.postgresql — вообще жуть, не проще ли сделать проверку по наличию открытого стандартного порта? (netstat -ltupn |grep 3306)
А кучу повторяющихся файлов типа "/tmp/highload-report.flag" вынести как параметр в отдельный файл конфигурации, например так:
CONFFILE="/etc/highload-report.conf"
if [! -f ${CONFFILE} ]
then
echo «Please place config file:${CONFFILE}»
exit
else
. ${CONFFILE}
fi
В общем жуть.
Например вы определяете версию links, вот только непонятно зачем? Например в Links 2.7 или 2.8 нет опции -eval, где Вы её взяли?
Я уже не говорю о том, что наличие mysql и postgresql Вы определяете по наличию файлов /root/.mysql и /root/.postgresql — вообще жуть, не проще ли сделать проверку по наличию открытого стандартного порта? (netstat -ltupn |grep 3306)
А кучу повторяющихся файлов типа "/tmp/highload-report.flag" вынести как параметр в отдельный файл конфигурации, например так:
CONFFILE="/etc/highload-report.conf"
if [! -f ${CONFFILE} ]
then
echo «Please place config file:${CONFFILE}»
exit
else
. ${CONFFILE}
fi
В общем жуть.
0
Ну да. это скрипт под конкретный темплейт контейнера.
Ему не надо быть универсальным.
Код в него добавляли несколько лет несколько разных человек, поэтому такое спаггети и получилось
links я пожалуй, на curl заменю
а по поводу файлов /root/.mysql и .postgresql — это просто принятая у нас система флагов.
при назначении контейнеру роли сервера БД, эти флаги создаются в контенере.
А по поводу проверки наличия открытого стнадартного порта — вот это уже ужас-ужас.
В конфиге сервера у нас обычно стоит skip-networking
А что делать, если порт не открыт? У нас на хосте нету сервера БД вообще, или сервер БД упал?
Ему не надо быть универсальным.
Код в него добавляли несколько лет несколько разных человек, поэтому такое спаггети и получилось
links я пожалуй, на curl заменю
а по поводу файлов /root/.mysql и .postgresql — это просто принятая у нас система флагов.
при назначении контейнеру роли сервера БД, эти флаги создаются в контенере.
А по поводу проверки наличия открытого стнадартного порта — вот это уже ужас-ужас.
В конфиге сервера у нас обычно стоит skip-networking
А что делать, если порт не открыт? У нас на хосте нету сервера БД вообще, или сервер БД упал?
0
Only those users with full accounts are able to leave comments. Log in, please.
Обработка логов с помощью monit.d