Начало работы с Monit для мониторинга серверов — CloudSavvy IT
Monit — это программа мониторинга сервера, которая может проверять процессы, запущенные в вашей системе, чтобы убедиться, что они всегда подключены к сети и работают в разумных пределах ЦП и памяти. Он также поставляется с веб-интерфейсом для мониторинга вашей системы.
Что делает Monit?
По сути, Monit проверяет данный процесс каждые две минуты (по умолчанию), чтобы увидеть, как он работает. Он ведет журнал использования ресурсов и может принять меры в случае возникновения ошибки. Это включает в себя перезапуск сбойных процессов и перезапуск процессов, используя слишком много ресурсов.
Monit полностью определяет свое поведение через конфигурационные файлы. Вот пример конфигурации по умолчанию для MySQL:
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
check process mysql with pidfile /var/run/mysqld/mysqld.pid start program = «/usr/sbin/service mysql start» with timeout 60 seconds stop program = «/usr/sbin/service mysql stop» with timeout 60 seconds if totalmem > 400 MB for 5 cycles then alert if totalmem > 600 MB for 5 cycles then restart if cpu > 50% for 5 cycles then alert if cpu > 90% for 5 cycles then restart if 3 restarts within 5 cycles then timeout
Monit настроен для мониторинга запущенного процесса MySQL. Если он выходит из строя, он может запустить его снова, используя start program = конфигурации. Если MySQL начинает использовать слишком много ресурсов, он может быть перезапущен автоматически, хотя сначала вы будете предупреждены по электронной почте.
Хофманнита: нищета, аборт, продажность парня, равнодушие матери и главная ошибка её жизни.
Он также может быть настроен для мониторинга вашей системы в целом, и может предупредить вас, если ваш сервер испытывает необычную нагрузку.
check system wp01 if loadavg(5min) > 1 then alert if memory usage > 90% for 5 cycles then alert if cpu usage (user) > 90% for 5 cycles then alert
Все мониторы Monit доступны для просмотра из веб-интерфейса, который по умолчанию работает через порт 2812.
Кроме того, вы можете просматривать данные для нескольких хостов в одном месте с помощью Утилита M / Monit, которая требует лицензии, но свободна, чтобы попробовать.
СВЯЗАННЫЕ С: Как настроить слабые уведомления для нехватки дискового пространства на вашем сервере
Установка и настройка Monit
Установите Monit из менеджер пакетов вашего дистрибутива; для систем на основе Debian, таких как Ubuntu, это будет:
sudo apt-get install monit
Monit должен поставляться с конфигурацией по умолчанию, обычно расположенной по адресу ~/.monitrc , Если этого не произошло (как в случае установки MacOS), вы можете найти файлы конфигурации по умолчанию Вот,
Веб-интерфейс Monit настроен для работы через порт 2812. Это нормально, но по умолчанию он полностью открыт с паролем по умолчанию. Мы хотим заблокировать его для авторизованного IP-адреса и
Мониторинг цен конкурентов | Анализ конкурентов | Как увеличить продажи в товарном бизнесе.
set httpd port 2812 allow your_ip allow admin:password
Измените этот пароль, конечно. Есть еще несколько вариантов конфигурации для веб-интерфейса, но пока это хорошо.
Monit может быть настроен для мониторинга отдельных процессов. Обычно это делается с помощью файла PID процессов (часто находится в /var/run/ ), в котором хранится текущий PID запущенного экземпляра этого процесса, поскольку PID будет меняться при каждом перезапуске процесса.
check process nginx with pidfile /var/run/nginx.pid start program = «/etc/init.d/nginx start» stop program = «/etc/init.d/nginx stop»
Вам нужно передать Monit команду, чтобы запустить и остановить ваш процесс. Он должен автоматически перезапускаться, если процесс останавливается, без дополнительной настройки, но если вы хотите перезапустить на основе использования ресурсов, вам придется указать это самостоятельно с несколькими if заявления:
check process nginx with pidfile /var/run/nginx.pid start program = «/etc/init.d/nginx start» stop program = «/etc/init.d/nginx stop» if totalmem > 600 MB for 5 cycles then restart if cpu > 90% for 5 cycles then restart if 3 restarts within 5 cycles then timeout
Monit будет отправлять оповещения всякий раз, когда что-то перезапускается, поэтому вы будете уведомлены, если что-то не так.
Когда вы закончите настройку, перезагрузите демон monit:
monit reload
И начать мониторинг с:
monit start all
Это также должно запустить веб-интерфейс, который можно использовать для проверки правильности работы Monit, обычно работающей на порту 2812.
Это базовая конфигурация для запуска Monit из коробки, но у Monit гораздо больше синтаксиса. Вы можете прочитайте полное руководство на все, что Monit может сделать, чтобы узнать больше.
Настройка оповещений
Monit может быть настроен на отправку оповещений по электронной почте при возникновении серьезных проблем или при перезапуске процессов. Вам необходимо добавить конфигурацию для вашего почтового сервера:
Первый блок определяет почтовый сервер для использования. Самый простой способ будет просто использовать smtp.gmail.com с учетной записью Gmail, хотя вы можете установить Postfix на свой сервер для локального запуска или использовать корпоративную службу электронной почты.
Во второй строке Monit отправляет оповещения в очередь, если по какой-либо причине почтовый сервер недоступен.
Очевидно, вам также необходимо установить адрес электронной почты, на который он отправляет:
Кроме того, поскольку Monit имеет возможность запускать сценарии с exec Команда, вы можете настроить пользовательские оповещения, как вы хотите. Например, вы можете настроить скрипт для отправки вам уведомлений Slack, сохранить его как /usr/local/bin/slack-webhook.sh и запускайте его всякий раз, когда nginx меняет PID или перезапускается Monit:
check process nginx with pidfile /var/run/nginx.pid start program = «/etc/init.d/nginx start» stop program = «/etc/init.d/nginx stop» if changed pid then exec «/bin/bash -c ‘PROCESS=Nginx /usr/local/bin/slack-webhook.sh'» if 1 restart within 1 cycle then exec «/bin/bash -c ‘PROCESS=Nginx /usr/local/bin/slack-webhook.sh'»
Обратите внимание, что все пути должны быть полностью определены, включая /bin/bash и пути к исполняемым файлам в вашем локальном bin , И после того, как вы закончите изменять файлы конфигурации, вам нужно будет снова перезагрузить Monit.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Источник: myroad.club
Установка и настройка Monit
Monit – это вспомогательная программа, которая автоматически отслеживает и управляет серверными программами (что гарантирует их постоянную работу), а также контролирует расширения, размер файлов и контрольную сумму. Кроме того, monit поставляется с базовым веб-интрефейсом, позволяющим управлять процессами. Данное руководство охватывает установку и основы настройки этой программы.
Установка monit
Monit проще всего устанавливается с помощью apt-get:
sudo apt-get install monit
После загрузки monit внесите в конфигурационный файл программы и процессы, которые нужно отслеживать.
sudo nano /etc/monit/monitrc
Monit можно запустить с помощью следующей команды (которая затем переведет эту программу в фоновый режим):
Команда monit status выведет подробные сведения о программе:
The Monit daemon 5.3.2 uptime: 1h 25m
System ‘myhost.mydomain.tld’
status Running
monitoring status Monitored
load average [0.03] [0.14] [0.20] cpu 3.5%us 5.9%sy 0.0%wa
memory usage 26100 kB [10.4%] swap usage 0 kB [0.0%] data collected Thu, 30 Aug 2012 18:35:00
Настройка Monit
Программа monit очень проста в использовании и поставляется с достаточно неплохими настройками. По умолчанию она проверяет сервисы каждые две минуты и сохраняет данные в лог-файле /var/log/monit.log.
Данные настройки можно отредактировать в начале конфигурационного файла (строки set daemon и set logfile соответственно).
Веб-сервис monit
Monit поставляется с собственным веб-сервером, запущенном на порту 2812. Чтобы настроить веб-интерфейс, найдите и раскомментируйте раздел настроек, который начинается с set httpd port 2812. После этого нужно внести IP или доменное имя сервера в качестве адреса (строка use address), разрешить все подключения и создать пользователя и пароль Monit.
set httpd port 2812
use address 12.34.56.789 # only accept connection from localhost
allow 0.0.0.0/0.0.0.0 # allow localhost to connect to the server and
allow admin:monit # require user ‘admin’ with password ‘monit’
Внеся эти изменения, перезапустите monit, чтоб программа заново прочитала конфигурационный файл, после чего веб-интерфейс будет доступен.
Готово! Теперь можно использовать веб-интерфейс monit, открыв example.com:2812.
Для входа используйте только что созданные учетную запись и пароль. Экран будет выглядеть примерно так:
Настройка мониторинга программ
Настроив веб-сервис, можно внести программы, которые нужно отслеживать, в конфигурационный файл /etc/monit/monitrc. Чтобы просто обеспечить постоянную работу программы, используйте команды /etc/init.d (для остановки или запуска программ).
Вот некоторые примеры конфигурации:
check process apache with pidfile /run/apache2.pid
start program = «/etc/init.d/apache2 start» with timeout 60 seconds
stop program = «/etc/init.d/apache2 stop»
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
start program = «/etc/init.d/mysql start»
stop program = «/etc/init.d/mysql stop»
check process nginx with pidfile /var/run/nginx.pid
start program = «/etc/init.d/nginx start»
stop program = «/etc/init.d/nginx stop»
Заключительные действия
Все внесенные в файл программы будут отслеживаться и в случае необходимости автоматически запускаться при помощи monit.
Управлять программами можно как при помощи веб-интерфейса, так и через командную строку.
Завершив настройку, проверьте синтаксис:
Исправив возможные ошибки синтаксиса, можно запустить все отслеживаемые программы:
Источник: www.8host.com
Русские Блоги
Как использовать систему мониторинга развертывания сервера Monit
Многие администраторы системы Linux полагаются на централизованную систему удаленного мониторинга (например, Nagios или Cacti), чтобы проверить здоровье своей сетевой инфраструктуры. Хотя централизованный мониторинг позволяет администраторам проще, сколько машин и услуг рассматриваются, выделенный центр мониторинга явно является единственной точкой отказа. Если центр мониторинга зависает или из-за причины (такого как аппаратное или сетевое отказ) доступа, вы будете Потерять любую информацию о всей сетевой инфраструктуре.
Способ добавления избыточности в вашу систему мониторинга — установить отдельное программное обеспечение для мониторинга (в качестве резервного копирования), по крайней мере, на критическом / сервере COORE в сети. Это висит в централизованной системе мониторинга, у вас есть возможность получить здоровье сервера основного сервера через метод мониторинга резервного копирования.
Что такое монит?
MonitЭто инструмент для мониторинга систем Unix / Linux (таких как Linux, BSD, OSX, Solaris). Монись особенно прост в установке, а монит очень легкий (всего 500 КБ) и не полагается на любую стороннюю программу, плагин или библиотеку. Тем не менее, Монитор может быть компетентным за всесторонний мониторинг, мониторинг состояния процесса, файловой системой изменения мониторинга, уведомления по электронной почте и пользовательские действия для основных услуг. Легко установить, легкие реализации и мощные функции, пусть Monit становится идеальным инструментом мониторинга резервного копирования.
Я уже использовал монит в течение нескольких лет в некоторых машинах, и я очень доволен этим. Даже в качестве всесторонней системы мониторинга Monit также очень полезной и мощной для любого администратора системы Linux. В этом руководстве я покажу, как развернуть мониторинг (в качестве системы мониторинга резервного копирования) на локальном сервере для мониторинга общих служб. В процессе развертывания я только покажу только деталь, которую мы используем.
Аутентифицировать двойную тепловую резервную копию с сердцебиением + Монисьhttp://www.linuxidc.com/Linux/2014-12/110769.htm
Установка монита в Linux
Монись был включен в склад программного обеспечения в большинстве выпуска Linux.
Debian、UbuntuИли Linux Mint:
- $ sudo aptitude install monit
В CentOS / RHEL, вы должны сначала включитьEPELИли Repofogorge Software Warehouse.
- # yum install monit
Монись поставляется с идеальным профилем документа, который содержит много примеров. Основной файл конфигурации находится в /etc/monit.conf (Fedora / CentOS / RHEL), или / etc / monit / monitrc (Debian / Ubuntu / Mint). Существует две части: «Глобальные» и «услуги» в профиле Monit.
Глобальная конфигурация: страница веб-состояния (глобальная конфигурация: веб-страница веб)
Монись может использовать почтовую службу для отправки уведомления или использования страницы HTTP / HTTPS для отображения. Давайте будем использовать страницу веб-состояния, которая настроен следующим образом:
- Мониторы мониторов 1966 года.
- Доступ к странице веб-состояния зашифрован SSL.
- Войдите в систему как имя пользователя / пароль, используя Monituser / Romania.
- Доступ к доступу только через localhost, myhost.mydomain.ro и внутри ЛВС (192.168.0.0.0 / 16).
- Monit использует сертификат SSL в формате PEM.
После шагов я буду использовать основу на основеRed Hatсистема. Шаги в системах на основе Debian также похожи.
Во-первых, создайте самозаписанный сертификат (monit.pe) в / var / сертификат:
- # mkdir /var/certs
- # cd /etc/pki/tls/certs
- # ./make-dummy-cert monit.pem
- # cp monit.pem /var/certs
- # chmod 0400 /var/certs/monit.pem
Следующий фрагмент кода теперь находится в основном файле конфигурации Monit. Вы можете создать пустой файл конфигурации или изменять на основе вашего собственного профиля.
- set httpd port 1966and
- SSL ENABLE
- PEMFILE /var/certs/monit.pem
- allow monituser:romania
- allow localhost
- allow 192.168.0.0/16
- allow myhost.mydomain.ro
Глобальная конфигурация: уведомление по электронной почте (глобальная конфигурация: почтовое уведомление)
Затем мы создали уведомления по электронной почте. Мы делаем хотя бы один доступный SMTP-сервер, чтобы позволить Monit отправить почту. Это будет (изменено в зависимости от вашей реальной ситуации):
- Машинное наименование почтового сервера: SMTP.Monit.ro
- Монит используется: [email protected]
- Получатель электронной почты: [email protected]
- Порты SMTP, используемые почтовыми серверами: 587 (по умолчанию 25)
С вышеупомянутой информацией уведомления электронной почты могут быть настроены так:
- set mailserver smtp.monit.ro port 587
- set mail-format
- from: [email protected]
- subject: $SERVICE $EVENT at $DATE on $HOST
- message:Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
- Yours sincerely,
- Monit
- >
- set alert [email protected]
Как только вы можете видеть, Monit будет предоставлять несколько внутренних переменных ( $DATE 、 $EVENT 、 $HOST Подождите), вы можете настроить контент электронной почты в соответствии с вашими потребностями. Если вы хотите отправить электронное письмо от Monit, вам нужна программа, которая уже установлена с SendMail (например, Postfix или SSMTP).
Глобальная конфигурация: Monit Daemon (глобальная конфигурация: Monit Guard)
Далее настроен настроенный монит демон был настроен. Вы можете установить это на это:
- Первое обнаружение было выполнено через 120 секунд.
- Определите один раз в 3 минуты.
- Используйте Syslog для регистрации журнала.
Следующие сегменты кода могут соответствовать вышеуказанным потребностям.
- set daemon 120
- with start delay 240
- set logfile syslog facility log_daemon
Мы должны определить уникальный файл идентификатора для «idfile» и «EventQueue», так как почта Monit не может быть отправлена, потому что SMTP или сбой сети не отправляются; и убедитесь, что путь / var / monit присутствует. Затем используйте конфигурацию ниже.
- set idfile /var/monit/id
- set eventqueue
- basedir /var/monit
Тестовая глобальная конфигурация
Теперь раздел «Global» завершен. Профиль Monit выглядит так:
- # Global Section
- # status webpage and acl’s
- set httpd port 1966and
- SSL ENABLE
- PEMFILE /var/certs/monit.pem
- allow monituser:romania
- allow localhost
- allow 192.168.0.0/16
- allow myhost.mydomain.ro
- # mail-server
- set mailserver smtp.monit.ro port 587
- # email-format
- set mail-format
- from: [email protected]
- subject: $SERVICE $EVENT at $DATE on $HOST
- message:Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
- Yours sincerely,
- Monit
- >
- set alert [email protected]
- # delay checks
- set daemon 120
- with start delay 240
- set logfile syslog facility log_daemon
- # idfile and mail queue path
- set idfile /var/monit/id
- set eventqueue
- basedir /var/monit
Пришло время проверить нашу работу, вы можете проверить существующий профиль (/etc/monit.conf), запустив следующую команду:
- # monit -t
- Control file syntax OK
Если Monit предлагает какие-либо ошибки, проверьте файл конфигурации. К счастью, ошибка / предупреждающая информация может помочь вам найти проблемы, такие как:
- monit:Cannot stat the SSL server PEM file ‘/var/certs/monit.pem’—No such file or directory
- /etc/monit/monitrc:10:Warning: hostname did not resolve ‘smtp.monit.ro’
После того, как вы подтвердите, что файл конфигурации в порядке, вы можете начать демону Monit, а затем подождите от 2 до 3 минут:
- # service monit start
Если вы используете SystemD, запустите:
- # systemctl start monit
Откройте окно браузера сейчас, а затем доступа https://:1966 Отказ буду Замените название машины или IP-адрес машины, где находится монит.
Если вы используете самозаписанный сертификат SSL, вы увидите предупреждающее сообщение в вашем браузере. Продолжать доступ.
Вы увидите эту страницу после входа в систему.
В остальном это руководство мы продемонстрируем, как контролировать локальный сервер и общую службу. Ты сможешьОфициальная страница WikiУвидеть много полезных примеров. Большинство из них могут быть скопированы напрямую!
Конфигурация услуг: CPU / мониторинг памяти (конфигурация услуг: CPU, мониторинг памяти)
Давайте отслеживаем CPU локального сервера, а память занята. Скопируйте следующий сегмент кода в файл конфигурации.
- check system localhost
- if loadavg (1min)>10then alert
- if loadavg (5min)>6then alert
- if memory usage >75%then alert
- if cpu usage (user)>70%then alert
- if cpu usage (system)>60%then alert
- if cpu usage (wait)>75%then alert
Вы можете легко понять вышеуказанную конфигурацию. Самая верхняя проверка относится к каждому циклу мониторинга (120 секунд, установленные в глобальной конфигурации) по всему аппарату. Если какое-либо условие выполнено, демон Monit отправит тревогу с помощью сообщения.
Если элемент монитора не должен проверять каждый цикл, вы можете использовать следующий формат, который проверит среднюю нагрузку каждые 240 секунд.
- if loadavg (1min)>10for2 cycles then alert
Конфигурация службы: мониторинг службы SSH (конфигурация услуг: мониторинг сервиса SSH)
Сначала установлена ли наш SSHD в / usr / sbin / sshd:
- check file sshd_bin with path /usr/sbin/sshd
Мы также хотим проверить, существуют ли сценарии Startup SSHD:
- check file sshd_init with path /etc/init.d/sshd
Наконец, мы также хотим проверить, выживают ли демон SSHD и слушает 22 порция:
- check process sshd with pidfile /var/run/sshd.pid
- start program «/etc/init.d/sshd start»
- stop program «/etc/init.d/sshd stop»
- if failed port 22 protocol ssh then restart
- if5 restarts within 5 cycles then timeout
Мы можем объяснить вышеуказанную конфигурацию таким образом: мы проверяем, имеется ли процесс называется SSHD, и есть файл, который сохраняет свой PID (/var/run/sshd.pid). Если кто-то не существует, мы используем сценарий загрузки для перезапуска SSHD. Мы проверяем, есть ли процесс при прослушивании 22-портового и использовать протокол SSH. Если нет, мы все еще перезапускаем SSHD. Если самые последние 5 циклов наблюдения (5×120 секунд), по крайней мере, 5 раз, SSHD считается неиспользованным, мы больше не будем проверять.
Конфигурация сервиса: мониторинг службы SMTP (конфигурация услуги: мониторинг службы SMTP)
Теперь давайте настроим мониторинг удаленного SMTP-сервера (E.g., 192.168.111.102). Предположим, что SMTP-сервер работает SMTP, IMAP, SSH Service.
- check host MAIL with address 192.168.111.102
- if failed icmp type echo within 10 cycles then alert
- if failed port 25 protocol smtp then alert
- elseif recovered thenexec»/scripts/mail-script»
- if failed port 22 protocol ssh then alert
- if failed port 143 protocol imap then alert
Мы проверяем, отвечает ли удаленный хост на протокол ICMP. Если мы не получим ответ ICMP в течение 10 циклов, аварийный сигнал отправляется. Если вы контролируете протокол SMTP на 25-портеже, является ненормальным, отправляется тревоги. Если он успешно после отказа мониторинга, вы запускаете скрипт (/ скрипты / почтовый скрипт). Если вы убедитесь, что протокол IMAP на порту SSH или 143 на 22 порте не является нормальным, а сигнализация также отправляется.
В этом руководстве я продемонстрировал, как создать монику на локальном сервере, конечно, это просто мональная функция айсберга. Вы можете провести некоторое время, чтобы прочитать ручное руководство Monit (очень хорошо написано). Может сделать много вещей для любого администратора системы Linux и иметь очень красивый и простой для понимания синтаксиса. Если вы используете централизованную систему удаленного мониторинга с монитом, вы получите более надежную систему мониторинга. Как вы чувствуете монисты?
Источник: russianblogs.com
Monit — программа для мониторинга процессов
Monit — программа, которая позволит мониторить состояние сервера, и если нужно перезапускать процессы, которые аварийно завершились. Программа добавлена в различные дистрибутивы Linux — Ubuntu, Debian, CentOS и другие. Так же пакет присутствует в FreeBSD. Monit — незаменимый помощник системного администратора по отслеживанию состояния сервера. Например, можно отслеживать состояние сервера, который мы используем для своего сайта, или почтового сервера.
apt-get install monit
Запуск:
service monit start #или /etc/init.d/monit start
Файл конфигурации:
/etc/monit/monitrc
Мониторинг:
monit status
Перезагрузить конфиги после изменения:
monit reload
Настройка веб-интерфейса Monit (позволяет посмотреть состояние сервера через браузер). Добавить следующие строки в файл конфигурации /etc/monit/monitrc
#в файл /etc/monit/monitrc добавить следующее: set httpd port 2812 # порт можно указать свой use address 99.99.99.99 # указать свой IP — чтобы только ты смог получить доступ allow admin:password # защита паролем (admin — логин)
Настройка мониторинга PHP7.0-fpm (пример, аналогично можно настроить монитор любой программы). Добавить следующие строки в файл конфигурации /etc/monit/monitrc:
#Проверка PHP7.0-fpm check process php7.0-fpm with pidfile /var/run/php/php7.0-fpm.pid start program «/etc/init.d/php/php7.0-fpm start» stop program «/etc/init.d/php/php7.0-fpm stop» if cpu > 90% for 3 cycles then restart # если загрузка процессора более 90% в течение 3 проверок то перезапустить процесс. if totalmem > 600.0 MB for 3 cycles then restart # если используется больше 600 MB памяти то перезапустить процесс. if 5 restarts within 5 cycles then timeout # если 5 раз уже перезапускали процесс то сделать timeout.
Поиск по блогу:
- Администрирование (13)
- Linux Desktop (4)
- Лайфхак (7)
- Программное обеспечение (2)
- Статистика (2)
- CMS (1)
- Обновление phpMyAdmin в Vesta CP
- ISLC
- r.saver
- Проблемы использования сторонних счетчиков веб-аналитики
- Обновление phpmyadmin вручную на Ubuntu 18.04
Источник: ardeya.ru