interface31.ru Open in urlscan Pro
176.28.21.70  Public Scan

URL: https://interface31.ru/tech_it/2022/03/monitorix-prostoy-i-legkiy-monitoring-dlya-linux.html
Submission: On November 17 via manual from RU — Scanned from FR

Form analysis 1 forms found in the DOM

GET https://interface31.ru/cgi-bin/mt-search.cgi

<form method="get" id="search" action="https://interface31.ru/cgi-bin/mt-search.cgi">
  <div>
    <input type="text" name="search" class="search-text" value="" placeholder="Найти...">
    <input type="hidden" name="IncludeBlogs" value="1">
    <input type="hidden" name="limit" value="20">
    <button type="submit" name="button">
      <img alt="Найти" src="/mt-static/support/theme_static/bootstrap3/img/search-icon.png">
    </button>
  </div>
</form>

Text Content

 * Главная
 * Форум
 * Контакты
 * О блоге
 * 
 * 
 * 
 * 


ЗАПИСКИ IT СПЕЦИАЛИСТА

Технический блог специалистов ООО"Интерфейс"

 * Главная
 * Monitorix - простой и легкий мониторинг для Linux


MONITORIX - ПРОСТОЙ И ЛЕГКИЙ МОНИТОРИНГ ДЛЯ LINUX

 * Автор: Уваров А.С.
 * 23.03.2022

Говоря о системах мониторинга, многие системные администраторы сразу
представляют себе мощные централизованные системы наподобие Zabbix, внедрение
которых требует времени и ресурсов. Но это неверное представление, существуют
простые и легкие приложения, позволяющие собирать и визуализировать статистику
для одиночного узла. Да, их возможности гораздо скромнее, но тем не менее даже
простой мониторинг - это лучше чем никакого. Одна из таких систем - Monitorix -
простое и легкое решение, которое поможет вам быть в курсе происходящего на
вашем сервере.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания
можно на углубленном курсе по администрированию MikroTik. Автор курса,
сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет
лабораторные работы и контролирует прогресс каждого своего студента. В три раза
больше информации, чем в вендорской программе MTCNA, более 20 часов практики и
доступ навсегда.


Annonce

Сразу предупредим - не стоит ждать это этой системы многого, а ее внешний вид
способен отпугнуть молодое поколение администраторов. Для избалованных
современным вебом, с его интерактивностью, Monitorix может показаться чем-то
древним и архаичным, но любая медаль имеет две стороны. Современные технологии -
это хорошо, но экономное использование ресурсов не входит в число их сильных
сторон.

В основе Monitorix лежат совершенно противоположные подходы, исходящие из того,
что мониторинг должен быть максимально легким и не отнимать ресурсов
контролируемого узла. Это достигается тем, что все графики - это обычные
изображения, обновляемые с некоторым промежутком времени, а данные пишутся в RRD
(Round-robin Database, кольцевая база данных) размер которой остается всегда
неизменной. Благодаря этому Monitorix может успешно использоваться даже на очень
слабых компьютерах, включая VPS начального уровня и одноплатные ПК, наподобие
Raspberry Pi и их аналогов.

Monitorix представлен в репозиториях начиная с Debian 10 и Ubuntu 20.04 LTS, для
более ранних систем можно воспользоваться репозиторием разработчика. Также вы
можете подключить данный репозиторий, если хотите использовать самую последнюю
версию пакета, так как он достаточно активно развивается, и версия в штатных
репозиториях может не содержать некоторых модулей.

Все представленные ниже команды следует выполнять с правами root или через sudo.

Начнем с подключения репозитория разработчика, если вы хотите установить версию
из репозиториев системы этот шаг можно пропустить. Прежде всего установим
необходимые пакеты:

apt install apt-transport-https

Затем подключим репозиторий:

echo deb https://apt.izzysoft.de/ubuntu generic universe > /etc/apt/sources.list.d/monitorix.list

Скачаем и установим ключ для него:

wget -qO - https://apt.izzysoft.de/izzysoft.asc | apt-key add -

Теперь обновим список пакетов и установим систему мониторинга:

apt update
apt install monitorix

Готово, система установлена и работает! Действительно быстро и просто.

Monitorix имеет собственный веб-сервер и для перехода в интерфейс нужно просто
набрать в любом браузере:

http://server:8080/monitorix

Где server - это FQDN-имя или IP-адрес сервера. По умолчанию веб-сервер слушает
все интерфейсы, включая localhost. При входе предлагается выбрать период
отображения: час, неделю, месяц, год.

Если вы хотите получить период поменьше, то это тоже несложно сделать, просто
замените в адресной строке 1day на 1hour, например:

http://192.168.111.2:8080/monitorix-cgi/monitorix.cgi?mode=localhost&graph=all&when=1hour&color=black

Как видим - система работает и даже начала собирать и отображать некоторые
данные, это хорошо, но без настройки оставлять ее не следует.



Все настройки системы мониторинга находятся в файле
/etc/monitorix/monitorix.conf и дополнительных файлах расположенных в директории
/etc/monitorix/conf.d, при этом расположенные в дополнительных файлах настройки
перекрывают опции из основного файла.

Мы категорически не советуем вносить изменения в основной конфигурационный файл
и вот почему: при выходе новой версии могут быть добавлены новые модули, и вы
столкнетесь с необходимостью либо заменить текущий конфигурационный файл на файл
от поставщика и заново настраивать продукт, либо оставить собственный файл,
оставшись без новых модулей. Ну или руками объединять оба файла.

Поэтому создадим новый файл настроек в /etc/monitorix/conf.d и будем копировать
туда нужные части из основного файла, причем копировать можно не все опции, а
только необходимые, не забывая про открывающие и закрывающие теги секций. В
нашем случае это будет 01_monitorix.conf.

nano /etc/monitorix/conf.d/01-monitorix.conf

Эта команда откроет на редактирование файл в редакторе nano, а при его
отсутствии - предварительно создаст, если вам более по душе редактор Midnight
Commander, то замените в команде nano на mcedit.

Monitorix хорошо документирован и вы всегда можете обратиться к разделу
документации на официальном сайте, потому как наша статья не претендует на
освещение всех возможностей продукта, а только расскажет о общих принципах
настройки.

Начнем с глобальных параметров, они не являются обязательными, но добавляют
удобства. Добавим в наш файл следующие опции:

title = Monitoring Ubuntu server
hostname = Ubuntu-GW-0
theme_color = white

Первая строка задает описание, которое будет показано в наименовании вкладки
браузера, вторая - имя хоста в системе мониторинга, если оно не указано, то
будет показан IP-адрес. Третья строка - тема, доступны два варианта, черная -
black и белая - white. Сохраним наш файл и перезапустим систему мониторинга:

systemctl restart monitorix

После чего обновим страницу в браузере:



Изменения - налицо, таким образом мы можем скопировать в наш файл любой параметр
из общего конфигурационного файла и переопределить его значение.

Следующая важная секция - это настройки веб-сервера, приведем данный блок
целиком:

<httpd_builtin>
     enabled = y
     host =
     port = 8080
     user = nobody
     group = nobody
     log_file = /var/log/monitorix-httpd
     hosts_deny =
     hosts_allow =
     autocheck_responsiveness = y
     <auth>
           enabled = n
           hosts_deny = all
           msg = Monitorix: Restricted access
           htpasswd = /var/lib/monitorix/htpasswd
      </auth>
</httpd_builtin>

По умолчанию встроенный веб-сервер включен и слушает на всех интерфейсах, это
значит, что мониторинг может быть доступен с любого адреса, что нежелательно,
поэтому сразу ограничим доступный адрес в опции host, там следует указывать
только внутренние адреса, адреса VPN-интерфейсов или localhost, в этом случае
доступ можно будет получить через SSH-туннель. Адрес привязки можно указать
только один.

Информация! Более подробно про то, что такое SSH-туннели и как с ними работать
вы можете прочитать в нашей статье: SSH-туннели на службе системного
администратора

Добавим это значение в опцию host, чтобы не копировать весь блок, вы можете
сделать так:

<httpd_builtin>
      host = 192.168.222.1
</httpd_builtin>

Также вы можете изменить порт работы веб-сервера, расположение логов и указать
узлы, которые могут иметь доступ, либо доступ которым запрещен. Для этого
предусмотрены опции hosts_deny и hosts_allow, в них можно использовать адреса,
разделенные запятыми, либо специальное слово all, обозначающее любые узлы.

При проверке доступа действует следующая логика: сначала проверяется список
разрешенных узлов, если адрес там есть - ему предоставляется доступ, затем
список запрещенных узлов, при совпадении адресов доступ блокируется. Адресам, не
попавшим ни в один список доступ разрешен.

Таким образом, если мы хотим ограничить доступ к мониторингу только компьютерам
администраторов, то добавим такую настройку:

hosts_deny = all
 hosts_allow = 192.168.222.101, 192.168.222.145

В этом случае доступ будут иметь только явно указанные узлы, всем остальным
подключение будет запрещено.

Для дополнительной безопасности можно включить дополнительную аутентификацию.
Однако следует учитывать, что используемая Basic authentication не является
безопасной, так как передает учетные данные в открытом виде. Поэтому
рассматривать ее как средство защиты для доступа к мониторингу со стороны
интернета не следует.

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

apt install apache2-utils

Затем с помощью утилиты htpasswd создадим данные для аутентификации, так как
файл с учетными данными не существует, то первый запуск выполним с
дополнительным ключом -с, который создает файл или перезаписывает существующий.

htpasswd -c -d /var/lib/monitorix/htpasswd ivanov

Ключ -d задает нужный способ шифрования, затем указывается файл для хранения
учетных данных и имя пользователя. Все последующие добавления производятся
командой:

htpasswd -d /var/lib/monitorix/htpasswd petrov

Обратите внимание, что из-за используемого способа шифрования учитываются только
первые восемь символов вводимого пароля.

Для включения аутентификации полностью скопируйте в секцию <httpd_builtin>
дополнительную секцию <auth>:

<auth>
    enabled = y
    hosts_deny = all
    msg = Monitorix: Restricted access
    htpasswd = /var/lib/monitorix/htpasswd
 </auth>





Monitorix имеет модульную структуру, что позволяет добиться нужной гибкости
сохраняя нетребовательность к ресурсам, если модуль не включен, то он не
загружается, не собирает данные, не тратит ресурсы. За управление модулями
отвечает секция <graph_enable>, ее нет смысла копировать целиком, достаточно
просто указать те модули, состояние которых вы хотите изменить (включить или
выключить), например:

<graph_enable>
    process = y
    serv = n
</graph_enable>


Часть модулей будет работать сразу, часть требует дополнительных настроек.
Возьмем, к примеру, модуль NET, по умолчанию он выглядит так:

# NET graph
# -----------------------------------------------------------------------------
<net>
    max = 10
    list = eth0
    <desc>
       eth0 = FastEthernet LAN, 0, 10000000
    </desc>
    gateway = eth0
</net>

Вряд ли он отражает текущее положение дел, поэтому скопируем его в наш файл и
приведем к надлежащему виду, с учетом реальных сетевых интерфейсов, например:

# NET graph
# -----------------------------------------------------------------------------
<net>
    max = 10
    list = ens33, ens37, wg0
    <desc>
       ens33 = Ethernet WAN, 0, 10000000
       ens37 = Ethernet LAN, 0, 10000000
       wg0 = WireGuard VPN, 0, 10000000
     </desc>
     gateway = ens37
</net>

В опции list перечисляем интерфейсы, которые мы хотим контролировать, а во
вложенной секции <desc> задаем их описания, это не обязательно, но значительно
улучшает восприятие информации.

Либо возьмем еще один модуль PROCESS, который позволяет контролировать целый ряд
параметров выбранных процессов. По умолчанию там задан целый список процессов,
половины которых у вас может и не быть, давайте добавим сюда свои. Прежде всего
нужно определиться с именами процессов, для этого выполните команду:

ps -eo pid,comm,command

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

В нашем случае мы хотим контролировать SSH, сервер 1С и WireGuard, поэтому
скопируем и приведем секцию к следующему виду:

# PROCESS graph
# -----------------------------------------------------------------------------
<process>
    <list>
       0 = sshd, rphost, wg-crypt-wg0
    </list>
    <desc>
       sshd = SSH
       rphost = 1C Server
       wg-crypt-wg0 = WireGuard
    </desc>
    rigid = 2, 0, 0, 0, 0, 0, 0, 0
    limit = 100, 1000, 1000, 1000, 1000, 1000, 1000, 1000
</process>

Здесь тоже нет ничего сложного, в секции <list> перечисляем имена процессов, в
секции <desc> - их описания, которые будут выводиться на графиках.

Подобным образом настраиваются любые модули, полный список значений и их
варианты вы можете посмотреть в официальной документации. Набор модулей также
следует подбирать исходя из реальных потребностей, так для физических серверов
можно рекомендовать включение модулей, отвечающих за контроль оборудования,
таких как LMSENS, DISK или NVME, в то время как в виртуальных средах смысл в них
полностью отсутствует.

Поле действий тут самое обширное, модулей много, поэтому настраивайте свою
систему мониторинга так, как нужно именно вам.

Еще одной важной возможностью является поддержка многими модулями сигналов
тревоги - секций <alerts>, их использование может отличаться от модуля к модулю,
но смысл один - при достижении некоторых пороговых значений в течении некоторого
времени выполнить определенный скрипт. Рассмотрим на примере модуля LMSENS.

<alerts>
    temp0 = 900, 80, /path/to/script1.sh, above
    temp0 = 3600, 70-80, /path/to/script2.sh
    fan0 = 3600, 800, /path/to/script3.sh, below 
</alerts>

Записи данной секции состоят из четырех параметров: промежутка времени,
порогового значения, выполняемого скрипта и четвертой, необязательной опции,
которая может принимать значения above - выше или below - ниже. Разберем записи
из примера. Первая из них контролирует датчик temp0 и если его значения превысят
80 градусов на протяжении 15 минут - будет выполнен скрипт script1.sh. Вторая
запись вызовет срабатывание скрипта script2 .sh если температура в течении часа
будет в пределах 70-80 градусов, а третья выполнит скрипт script3.sh если датчик
fan0 в течении часа будет фиксировать скорость оборотов вентилятора ниже 800
об/мин.

Описывать различные модули можно еще долго, но общий принцип работы с Monitorix
и принципы его тонкой настройки должны быть понятны уже сейчас. Документация
проекта подробная и содержит множество примеров, поэтому никаких затруднений при
настройке у вас возникнуть не должно.

В заключение остановимся на ряде опций, расположенных ниже заголовка:

# ========================================================================
# ====== Probably you don't need to touch anything below this line ======
# ========================================================================

В большинстве случаев это так, и вам там не нужно ничего трогать. Но если вы не
чужды прекрасного и у вас есть собственный взгляд на то, как должен выглядеть
Monitorix, то почему бы и нет?

Так секция <theme> задает основные настройки для темной и светлой тем, такие как
цвета фона, графиков и надписей. Допустим, вам не нравится радикальный черный
цвет фона, и вы хотите сменить его на что-то более спокойное, нет ничего проще:

<theme>
   <black>
      main_bg = 2e3436 
   </black>
</theme>

Это переопределит стандартные настройки и перезапустив Monitorix вы сразу
увидите результат.

Поменять таким образом можно если не все, то многое, настроив отображение
системы мониторинга исключительно по собственному вкусу. Секция <graph_size>
задает размеры изображения графиков, так если у вас FHD или 2K монитор, то
можете сделать их гораздо крупнее, единственный совет - соблюдайте уже
установленные пропорции, иначе есть шанс сломать всю верстку страницы.

Ну и наконец <graph_title> и <graphs> содержат наименования модулей и графиков,
а так как Linux и Monitorix полноценно поддерживают UTF-8, то никто не мешает
вам выполнить перевод интерфейса на родной язык, заменив английские описания
русскими.

В заключение хочется вспомнить одну старую поговорку, ведь если встречать по
одежке, то можно подумать, что перед нами что-то достаточно древнее и
ограниченное в своих возможностях. На самом деле Monitorix очень гибкая и в тоже
время простая система со множеством возможностей, которая не стоит на месте, а
постоянно развивается. Надеемся данный материал будет вам полезен и мониторинг
станет вам ближе.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания
можно на углубленном курсе по администрированию MikroTik. Автор курса,
сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет
лабораторные работы и контролирует прогресс каждого своего студента. В три раза
больше информации, чем в вендорской программе MTCNA, более 20 часов практики и
доступ навсегда.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:



Или подпишись на наш Телеграм-канал:




 * КАТЕГОРИИ:

 * Ubuntu Server и Debian,
 * Мониторинг,
 * Системному администратору

 * ТЕГИ:

 * Debian,
 * Monitorix,
 * Ubuntu Server,
 * Мониторинг

--------------------------------------------------------------------------------


Loading Comments
Please enable JavaScript to view the comments powered by Disqus.


ПОИСК




НАШ КАНАЛ В TELEGRAM




Новости, анонсы, короткие заметки об IT, разговоры за жизнь и не только. Общение
без галстуков. Подпишись, чтобы ничего не пропустить!


КАТЕГОРИИ

 * 1С Предприятие 7.7 (13)
 * 1С Предприятие 8.x (90)
 * Active Directory (28)
 * Linux - начинающим (42)
 * MikroTik (40)
 * OS-обзор (46)
 * Ubuntu Server и Debian (178)
 * UNIX-like (43)
 * Windows 7 (30)
 * Windows 8 (26)
 * Windows 10 (35)
 * Windows Server (103)
 * Windows XP (9)
 * Админу на заметку (31)
 * Антивирусы и безопасность в сети (47)
 * Виртуализация (33)
 * Для дома, для семьи (17)
 * Железо (78)
 * За рубежом (10)
 * Мониторинг (5)
 * Общие вопросы (19)
 * Сайтостроение (26)
 * Сети и интернет (202)
 * Системному администратору (380)
 * Службы каталогов (32)
 * Страницы истории (6)
 * Тестовая лаборатория (70)
 * Хранение и защита данных (101)
 * Электронная почта (21)


ПОДДЕРЖАТЬ ПРОЕКТ!

ДАЖЕ СКРОМНЫЙ ВЗНОС ПОМОЖЕТ ЧАЩЕ ВЫПУСКАТЬ НОВЫЕ СТАТЬИ!




РЕКЛАМА


Annonce



ПОСЛЕДНИЕ КОММЕНТАРИИ

 * Григорий
   
   Это я все сам умею... Благодарю... нам снабжение по ЦОС отбили. выпала школа
   из программы....
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 1 hour
   ago

 * Александр
   
   Напишите мне в телеграмм @k......... , помогу сделать виртуальную машину,
   образы дисков,...
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 2 hours
   ago

 * Григорий
   
   а вот насчет лабораторий, это что? там программы какие то? можно по
   подробнее? это где...
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 3 hours
   ago

 * Александр
   
   Человек хочет использовать старый софт, ещё и время переводить. Виртуальная
   машна идеально...
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 3 hours
   ago

 * Александр
   
   Ставрополь, Ставропольский край - пришли по проекту «Цифровая образовательная
   среда», скажу даже...
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 3 hours
   ago

 * Григорий
   
   в школе то? отвечать будет ГОРОНО. и Город, деньги они выделяют.
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 3 hours
   ago

 * Григорий
   
   ух ты, это в каком регионе? у нас одну закупку отменили, даже установку WIFI
   в школе тормознули....
   
   Альт Образование 10 или чему учат в школе - Записки IT специалиста · 18 hours
   ago


ОБЛАКО ТЕГОВ

 * 1С Предприятие 8.х
 * Active Directory
 * Debian
 * DHCP
 * DNS
 * E-mail
 * HDD
 * iptables
 * Linux
 * Microsoft
 * MikroTik
 * Squid
 * SSD
 * SSL
 * Ubuntu
 * Ubuntu Server
 * VPN
 * Web-сервер
 * Windows 10
 * Windows 7
 * Windows 8
 * Windows Server
 * Windows Server 2012
 * Автоматизация
 * Антивирус
 * Безопасность
 * Виртуализация
 * Диагностика
 * Производительность
 * Рабочее место
 * Развертывание
 * Сетевые технологии
 * Службы каталогов
 * Торговое оборудование
 * Файловый сервер


СТАТИСТИКА

 


 * Главная
 * Форум
 * Контакты
 * О блоге
 * 
 * 
 * 
 * 

© 2009-2022 ООО "Интерфейс" Все права защищены. Правила перепечатки материалов.

Наверх