СправошнаяПоиск

Установка и настройка Monit в Ubuntu 20.04|18.04

Monit — это программа с открытым исходным кодом, используемая для мониторинга служб в системах Linux и обеспечения их постоянной доступности. Если по какой-либо причине программа закрывается, Monit попытается вернуть ее в оперативный режим и заставить постоянно оставаться в сети.

Monit также поставляется с веб-интерфейсом, который вы можете использовать для контроля и мониторинга состояния вашего приложения/процесса. В этом руководстве мы рассмотрим установку и настройку monit в Ubuntu 20.04|18.04.

Установка Monit на Ubuntu 20.04|18.04

Пакет Monit доступен в официальных репозиториях Ubuntu. Установите его с помощью команды:

 

sudo apt-get install monit

 

Чтобы запустить процесс, используйте команду systemctl, доступную в Ubuntu 20.04/18.04:

 

sudo systemctl enable --now monit

 

Проверьте, запущена ли служба:

 

$ sudo systemctl status monit
● monit.service - LSB: service and resource monitoring daemon
   Loaded: loaded (/etc/init.d/monit; generated)
   Active: active (running) since Wed 2018-06-06 19:29:37 UTC; 1min 45s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 1 (limit: 4704)
   CGroup: /system.slice/monit.service
           └─21382 /usr/bin/monit -c /etc/monit/monitrc
Jun 06 19:29:37 ubuntu18.04.computingforgeeks.com systemd[1]: Starting LSB: service and resource monitoring daemon...
Jun 06 19:29:37 ubuntu18.04.computingforgeeks.com monit[21366]:  * Starting daemon monitor monit
Jun 06 19:29:37 ubuntu18.04.computingforgeeks.com monit[21366]:    ...done.
Jun 06 19:29:37 ubuntu18.04.computingforgeeks.com systemd[1]: Started LSB: service and resource monitoring daemon.

 

Файлы конфигурации Monit находятся в каталоге  /etc/monit/ .  Основной файл конфигурации —  /etc/monit/monitrc . Этот файл сильно закомментирован, вы можете ссылаться на него для всех конфигов. По умолчанию все файлы, расположенные в  /etc/monit/conf.d/ и  /etc/monit/conf-enabled/  , читаются monit при его запуске, вы можете поместить свои конфигурации мониторинга процессов в этот каталог, чтобы все было организовано.

Включить мониторинг HTTP-интерфейса

Monit имеет встроенный HTTP-интерфейс, который можно использовать для просмотра состояния отслеживаемых служб и управления ими через веб-интерфейс. По умолчанию интерфейс monit HTTP не включен, включите его, раскомментировав следующие строки в   файле /etc/monit/monitrc .

 

set httpd port 2812 and
     use address localhost  # only accept connection from localhost
     allow localhost        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'

 

Вы можете изменить  admin:monit с именем пользователя и паролем, которые вы хотите использовать. Чтобы разрешить доступ с другого IP-адреса, добавьте его, как показано ниже:

 

allow 192.168.0.1

 

Перезапустите monit после внесения изменений:

 

$ sudo systemctl restart monit

 

или же
$ sudo monit reload

 

Проверить статус Monit

Ввод команды monit status отобразит подробную информацию о статусе monit.

 

$ sudo monit status
Monit 5.25.1 uptime: 0m
System 'ubuntu18.04.computingforgeeks.com'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.00] [0.01] [0.00]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 513.8 MB [13.0%]
  swap usage                   0 B [0.0%]
  uptime                       4d 21h 31m
  boot time                    Fri, 01 Jun 2018 22:25:13
  data collected               Wed, 06 Jun 2018 19:56:00

 

Чтобы проверить синтаксис файлов конфигурации, используйте:

 

$ sudo monit -t

 

Control file syntax OK

 

Проверьте сводку отслеживаемых процессов:

 

# monit  summary
Monit 5.25.1 uptime: 6m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name                    │ Status                     │ Type          │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ ubuntu18.04.computingforgeek... │ OK                         │ System        │
└─────────────────────────────────┴────────────────────────────┴───────────────┘

 

Мониторинг процессов/программ с помощью Monit

Я сделаю демонстрацию того, как контролировать процесс с помощью monit. На моем локальном компьютере у меня  запущены программы apache2  и  MariaDB . Я собираюсь создать настраиваемый файл конфигурации для них двоих в  /etc/monit/conf.d/custom.conf .

 

# Apache configuration
check process apache2 with pidfile /run/apache2/apache2.pid
    start program = "/bin/systemctl start apache2" with timeout 60 seconds
    stop program  = "/bin/systemctl stop apache2"
# MariaDB configuration
#
check process mariadb with pidfile /run/mysqld/mysqld.pid
    start program = "/bin/systemctl start mariadb" with timeout 60 seconds
    stop program  = "/bin/systemctl stop mariadb"
# Docker configuration
#
check process docker with pidfile /run/docker.pid
    start program = "/bin/systemctl start docker" with timeout 60 seconds
    stop program  = "/bin/systemctl stop docker"

 

Обратите внимание, что команды «запустить программу» и «остановить программу» должны указывать абсолютный путь, например, /bin/systemctl вместо systemctl.

Проверьте наличие синтаксических ошибок после внесения изменений:

 

# monit -t

 

Control file syntax OK

 

Если все в порядке, перезагрузите файл конфигурации monit, чтобы он прочитал новые изменения.

 

# monit reload

 

Reinitializing monit daemon

 

Теперь проверьте сводку списка отслеживаемых процессов:

 

~# monit summary
Monit 5.25.1 uptime: 41m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name                    │ Status                     │ Type          │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ ubuntu18.04.computingforgeek... │ OK                         │ System        │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ apache2                         │ OK                         │ Process       │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ mariadb                         │ OK                         │ Process       │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ docker                          │ OK                         │ Process       │
└─────────────────────────────────┴────────────────────────────┴───────────────┘

 

Чтобы запустить все отслеживаемые программы.

 

# monit start all

 

Доступ к веб-интерфейсу Monit:

Для доступа к веб-интерфейсу используйте URL:

 

http://[ip-адрес|домен]:2812

 

Войдите в систему с именем пользователя «admin» и паролем «monit».

Чтобы разрешить доступ к порту с удаленных IP-адресов на брандмауэре, запустите:

 

$ sudo ufw allow 2812

 

Rule added
Rule added (v6)