Легковесное Open Source приложение для мониторинга параметров системы написанное на Perl.
Приступаем к настройке:
Подключаем репозиторий:
# nano /etc/apt/sources.list.d/monitorix.list
deb http://apt.izzysoft.de/ubuntu generic universe
Импортируем ключ izzysoft.de:
# wget http://apt.izzysoft.de/izzysoft.asc
# apt-key add izzysoft.asc
# rm izzysoft.asc
Устанавливаем monitorix:
# apt-get update && apt-get install monitorix
Переходим по ссылке:
http://you_domain_name:8080/monitorix
Генерируем htpasswd:
# apt-get install apache2-utils
# htpasswd -c -d /var/lib/monitorix/htpasswd user
Опция с – создать новый файл, d – шифрование пароля методом CRYPT;
monitorix.conf:
Про настройку конфигурационного файла monitorix.conf можно почитать тут - Manual Reference Pages
Включаем авторизацию по паролю:
# nano /etc/monitorix/monitorix.conf
<auth>
enabled = y
msg = Monitorix: Restricted access
htpasswd = /var/lib/monitorix/htpasswd
</auth>
Готово..
Nginx:
Подключаем статистику для Nginx:
Для отображения Nginx Status Page, необходимо, чтобы nginx был собран с таким модулем - with-http_stub_status_module, этот модуль, предоставляет доступ к базовой информации о состоянии сервера.
Сама страничка статистики будет находиться тут - http://you_domain_name.ru/nginx_status
Проверяем:
# nginx -V 2>&1 | grep -o with-http_stub_status_module
Если все ОК!, то идем дальше:
Вариант - подходит когда в /etc/nginx/sites-enabled используется (включен), один конфиг.
# nano /etc/nginx/sites-available/you_domain_name.ru
- в самый конец server {...} добавляем,
location /nginx_status {
stub_status on;
access_log off;
allow you_ip_of_domen;
deny all;
}
- рестартуем nginx,
# /etc/init.d/nginx restart
- для проверки в браузере, комментируем (#) 2е последние переменные,
http://you_domain_name.ru/nginx_status
Вариант - подходит когда в /etc/nginx/sites-enabled используется более одного конфига сайта.
# nano /etc/nginx/conf.d/nginx_status.conf
- Не забываем про "include /etc/nginx/conf.d/*.conf;" в nginx.conf
- добавляем,
server {
listen localhost:80;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
- рестартуем nginx,
# /etc/init.d/nginx restart
- проверяем,
# curl localhost/nginx_status
После подготовки Nginx, можно приступить к включению статистики в Monitorix.
Monitorix Nginx stats:
# nano /etc/monitorix/monitorix.conf
- нас интересуют эти переменные,
nginx = y
<nginx>
url = http://localhost/nginx_status
port = 80
rule = 24100
rigid = 0, 0, 0
limit = 100, 100, 100
</nginx>
- Значение url = ,
- для 1 варианта, http://you_domen.ru/nginx_status
- для 2 варианта, http://localhost/nginx_status
- Рестартуем демон,
# /etc/init.d/monitorix restart
Собственно все. Осталось проверить результаты на страничке мониторинга =)
Nginx Proxy:
Проксируем веб-сервер <httpd_builtin> через Nginx:
# nano /etc/monitorix/monitorix.conf
- меняем
host = you_domain_name
- на
localhost
Далее создаем конфиг сайта:
# nano /etc/nginx/sites-available/mon.unix.center
server {
listen 80;
server_name you_domain_name;
error_log off;
access_log off;
root /var/lib/monitorix/www;
location /monitorix {
auth_basic "Restricted";
auth_basic_user_file /var/lib/monitorix/htpasswd;
include proxy_params;
proxy_pass http://localhost:8085/monitorix;
allow 127.0.0.0/8;
location ~ ^/monitorix/(.+\.png)$ {
alias /var/lib/monitorix/www/$1;
}
}
}
- Параметр include proxy_params; подключает в конфиг /etc/nginx/proxy_params
И включаем наш конфиг:
# ln -s /etc/nginx/sites-available/mon.unix.center /etc/nginx/sites-enabled/mon.unix.center
- рестартуем демон nginx
# /etc/init.d/nginx restart
Еще системы для мониторинга:
| Zabbix | Cacti | Munin | Linux-dash | Grafana | (Icinga2 | Nagios) | (Observium | LibreNMS ) | Opennms | Netdata |