Как стать автором
Обновить

Комментарии 4

А почему критичная LA 20? А если на сервере 2 x E7-8890V3 по 18 реальных ядер на брата?

А почему в логах реагируете только на те проблемы, которые раньше уже стречали. Правильней «не мониторить известные некритичные сообщение и реагировать на все известные критичные сообщение и на все неизвестные сообщение».

ps aux | grep foo | grep -v grep можно заменить на ps aux | grep [f]oo

Ну я уж молчу про то, что в одном файле смешивается bash и html, а в одной строке awk и cut, причем подряд, а links по вашей версии есть на каждом сервере.
Спасибо за комментарии.
На самом деле, это только примеры.
Под каждый проект и сервер есть свои собственные настройки и условия.
Скрипт тоже приведён как пример.
Скрипт далеко не универсален в том виде, что есть и по сути это самопал под конкретную систему и конкретные задачи. Шаг влево шаг вправо и он уже не будет работать.
Например вы определяете версию 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 я пожалуй, на curl заменю

а по поводу файлов /root/.mysql и .postgresql — это просто принятая у нас система флагов.
при назначении контейнеру роли сервера БД, эти флаги создаются в контенере.

А по поводу проверки наличия открытого стнадартного порта — вот это уже ужас-ужас.

В конфиге сервера у нас обычно стоит skip-networking
А что делать, если порт не открыт? У нас на хосте нету сервера БД вообще, или сервер БД упал?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий