Monit — свободная программа для системного мониторинга для Linux
Monit — свободная программа для системного мониторинга. Как Nagios и Cacti, но значительно более простая в освоении (15 минут), легкая (500 Кб) и не имеющая внешних зависимостей. С помощью Monit можно браузером зайти на удаленный компьютер с Linux, получить полный доступ к системной информации и убедиться в отсутствии проблем.
Возможности Monit
- Проактивность. Monit не только выявляет проблемы, но и пытается предупредить их. Например, если будет замечено, что один из системных процессов «упал», то Monit самостоятельно попытается его перезапустить.
- Процессы. Monit умеет следить за списком фоновых процессов и сразу же отправит на email уведомление, если кто-то попытается запустить что-нибудь «лишнее» или какой-нибудь процесс наоборот аварийно завершится.
- Файлы. Monit следит за появлением/исчезновением файлов, считает контрольные суммы, контролирует время доступа к файлам. Эти функции крайне полезны с точки зрения безопасности, так как любое внешнее вмешательство будет сразу обнаружено.
- Сеть. Monit контролирует все входящие и исходящие сетевые соединения. Администратор дистанционно может увидеть, какие порты в данный момент открыты, кто подключен к системе, какие задачи выполняются удаленными пользователями.
- Ресурсы. Еще одна важнейшая функция Monit — контроль за расходом ресурсов. Контролируется загрузка CPU, расход оперативной памяти и свободное место на диске. Администратор может задать лимиты и при попытке эти лимиты превысить, Monit отправит уведомление администратору.
Установка Monit в Ubuntu
Откройте терминал и установите пакет monit из штатного репозитория:
sudo aptitude install monit
Настройка Monit
Самым первым делом нужно обеспечить безопасность. Важно не только создать надежный пароль, но и защитить его от перехвата. Поэтому, сначала стоит создать сертификаты:
mkdir /var/certs
cd /etc/pki/tls/certs
./make-dummy-cert monit.pem
cp monit.pem /var/certs
chmod 0400 /var/certs/monit.pem
И прописать их в главном конфигурационном файле:
set httpd
port 2812
ssl enable
pemfile /etc/certs/monit.pem
allow user:password
Теперь можно запускать:
service monit start
Зайдя теперь браузером на порт 2812 можно попасть в админку. В самом начале браузер предупредит о том, что сертификат недействителен, но это сообщение можно проигнорировать (либо купить настоящий сертификат).
В последние годы в хакерской среде стало чрезвычайно модно заражать серверы и устанавливать на них системы майнинга криптовалют. Monit может помочь в выявлении таких случаев.
Комментарии
Чингачгук
26 марта, 2015 - 17:14
А почему обязательно Aptitude? Можно же ставить через APT или Ubuntu Software Center (мне, например, не нравится Aptitude)
pomodor
26 марта, 2015 - 17:32
Без разницы
Чингачгук
26 марта, 2015 - 21:15
Aptitude лучше разрешает зависимости, т.к. умнее, а ещё имеет интерактивный режим, чего apt лишён. Впрочем, apt из-за своей простоты лучше подходит для скриптов.
А Ubuntu Software Center вообще непонятно что.
pomodor
31 марта, 2015 - 15:20
Насчет умнее не заметил. Но если не ошибаюсь, разработчики Debian уже который год отчаянно призывают всех использовать именно aptitude, но пока народ как-то не сильно торопится.
Чингачгук
28 марта, 2015 - 09:19
Может лучше просто Setup.exe запускать? ;)
Чингачгук
9 августа, 2016 - 23:46
"можно браузером зайти на удаленный компьютер с Linux" — это для каких целей программка ? :)
jtad
10 августа, 2016 - 03:31
спасибо за статью, познакомился с еще одной полезной программой. Для начала добавил мониторинг температуры cpu
можно добавлять sh скрипты, значит возможности безграничные.
Monit создал systemd юнит с типом simple — надо поменять на forking, иначе как демон не стартует. Что особенно заинтересовало — вход по https. Там кстати ошибка в пути
но это мелочи :)
Я с ssl еще не имел дело, не могу найти в чем проблема: хочу зайти по https — monit делает харакири, в логах следующее
SSL: read error — error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca
[CEST Aug 10 00:24:00] error : SSL: write I/O error — Connection reset by peer
[CEST Aug 10 00:24:08] info : Shutting down Monit HTTP server
[CEST Aug 10 00:24:09] info : Monit HTTP server stopped
[CEST Aug 10 00:24:09] info : Monit daemon with pid [9943] stopped
Не сталкивались с такой ошибкой?
Texnoline
10 августа, 2016 - 08:53
Перед запуском веб-сервера monit, надо создать отдельно: ssl-сертификат, ключ от него и DH-файл в одном объекте. Это как раз и есть pm-файл.
Пример шаблона сертификата:
----- BEGIN:monit.cnf —
# create RSA certs — Server
RANDFILE = ./openssl.rnd
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
[ req_dn ]
countryName = Country Name (2 letter code)
countryName_default = RU
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = NorthWest
localityName= Locality Name (eg, city)
localityName_default= Saint Petersburg
organizationName= Organization Name (eg, company)
organizationName_default= AnyOne LLC
organizationalUnitName= Organizational Unit Name (eg, section)
organizationalUnitName_default= Net
commonName= Common Name (FQDN of your server)
commonName_default= liberatum.ru
emailAddress= Email Address
emailAddress_default= info@liberatum.ru
[ cert_type ]
nsCertType = server
— END:monit.cnf -----
Затем, создать сам сертификат:
openssl req -new -x509 -days 720 -nodes \
-config ./monit.cnf -out /etc/monit/monit.pem \
-keyout /var/certs/monit.pem
# Генерируем число Диффи-Хеллмана и прячем его в тот же файл
openssl gendh 512 >> /etc/monit/monit.pem
# проверяем читаемость сертификата
openssl x509 -subject -dates -fingerprint -noout -in /etc/monit/monit.pem
# Поскольку в файле лежит серкретный ключ сертификата — уменьшим права доступа
chmod 400 /etc/monit/monit.pem
Перезапуск monit!:)
jtad
10 августа, 2016 - 10:53
texnoline спасибо за ответ. Вечером попробую, отпишусь
jtad
10 августа, 2016 - 18:06
блин, не выходит. Выдает постоянно ошибку
Я и на сайте monina нашел эту инструкцию и в инете 2 часа искал — что не делаю результат один и тотже. Думаю придется больше про ssl сертификаты почитать , а то в принципе наобум делаю
Комментировать