Мониторим memcached с помощью monit в Centos 7

Аватар пользователя Алексей

Я не буду рассказывать как устновить memcached и monit в системе. Всё это делается с помощью yum. В принципе и заметка не имеет особого смысла, так как в "man monit" всё подробно описано.
Однако все конфиги monit-a в сети, которые мне попадались, приведены с использованием pid-файла и начинаются со строки:
check process memcached with pidfile /var/run/memcached/memcached.pid

Что в 7-ом Centos не работает из коробки. Нужно или настраивать сам memcached (его конфиг находится в /etc/sysconfig/memcached), либо применить джедайскую технику в monit ;о)


check process memcached with match memcached

Таким образом мы ищем процесс в списке процессов по регекспу.
Ну и полезный инструмент для проверки регекспа:
# monit procmatch "memcached"

List of processes matching pattern "memcached":
------------------------------------------
/usr/bin/memcached -u memcached -p 11211 -m 48 -c 1024
------------------------------------------
Total matches: 1
#

Заодно приведу сам конфиг /etc/monit.d/memcached.

check process memcached with match memcached
start program = "/usr/bin/systemctl start memcached"
stop program = "/usr/bin/systemctl stop memcached"
if failed host 127.0.0.1 port 11211 protocol MEMCACHE then restart
if cpu > 70% for 2 cycles then alert
if cpu > 98% for 5 cycles then restart
if 2 restarts within 3 cycles then timeout

Tags: