20 інструментів і сервісів для моніторингу серверів Linux
Моніторинг серверів допоможе уникнути потенційно катастрофічних ситуацій. Якщо ви не знаєте, що відбувається з вашою мережею і серверами, то ви, як пілот із зав’язаними очима, далеко не полетите. Спеціальні інструменти розв’язують цю проблему. Але який з них обрати?
Ми підготували цілий список сервісів для моніторингу. З їх допомогою ви можете підібрати той інструмент, який підійде саме вам.
Список інструментів і сервісів для моніторингу
/1 Better Uptime
Better Uptime — цей інструмент безперервно контролює сервер. Його основне завдання — попередити вас, коли сервер вийде з ладу через будь-які невідповідності.
Ви можете встановити попередження на випадок:
- якщо ОЗП/диски/ЦП досягають певного рівня,
- збою завдання cron,
- збою резервного копіювання бази даних тощо.
Це повний сервіс моніторингу інфраструктури. Ви навіть можете додати членів команди та скласти список чергових. Чергового можна повідомити через електронну пошту, SMS або через телефон. Ви можете почати використовувати Better Uptime безплатно, але для додаткових функцій може знадобитися реєстрація облікового запису Pro.
/2 Webmin
Webmin — це вебпанель управління з відкритим вихідним кодом для системного адміністрування, в першу чергу для Unix-подібних систем. За допомогою цього інструменту ви можете легко управляти своєю системою графічно, і навіть у віддаленому форматі.
/3 Grafana на Prometheus
Grafana дозволяє запитувати, візуалізувати та попереджати про логи та показники, що зростають, незалежно від того, де вони зберігаються. Сервіс служить вебінтерфейсом, а Prometheus — сервером.
Prometheus — це відомий набір інструментів для моніторингу та оповіщення систем з відкритим вихідним кодом.
Ви можете імпровізувати в дуеті з Dockprom і InfluxDB.
/4 Cockpit
Cockpit — графічний інструмент адміністрування серверів Linux на основі браузера. Встановивши Cockpit на вашому сервері, ви можете отримати доступ до сервера з браузера і виконувати повсякденні завдання по адмініструванню.
/5 Monit
Monit — це невелика утиліта з відкритим вихідним кодом для управління і моніторингу систем Unix. У неї є всі функції, необхідні для системного моніторингу та усунення помилок. Більшість дистрибутивів Unix включають Monit.
Утиліта може усувати проблеми, що виникли. Наприклад, якщо sendmail не запущено, Monit може автоматично запустити агент. Ви можете використовувати додаток для спостереження за процесами демонів або аналогічними програмами, запущеними на localhost. Утиліта Monit може відстежувати файли, каталоги та файлові системи на предмет змін (міток часу, контрольної суми або розміру).
/6 Netdata
Netdata — безплатний агент моніторингу з відкритим вихідним кодом, з яким ви зможете усувати проблеми, пов’язані з уповільненням і аномаліями у своїй інфраструктурі. Після установки Netdata у вас буде доступ до тисяч показників на сотнях інтерактивних діаграм, які оновлюються кожну секунду. Агент може автоматично виявляти та збирати метрики ваших улюблених сервісів.
/7 Linux Dash
Linux Dash — це проста і красива вебпанель моніторингу серверів з відкритим вихідним кодом, яка містить всі загальні показники сервера. Сервіс надає інформацію про:
- статус системи,
- мережі,
- облікові записи користувачів,
- додатки, що існують.
Linux Dash показує статистику вашого сервера, включаючи оперативну пам’ять, процесор, дисковий простір, мережеву інформацію, встановлене ПЗ, запущені процеси та інше.
/8 OpenNMS
OpenNMS — це перша у світі прикладна платформа для управління мережею корпоративного рівня. Модель з відкритим вихідним кодом називається OpenNMS Horizon, а модель на основі передплати — OpenNMS Meridian.
/9 LibreNMS
LibreNMS — це багата система мережевого моніторингу з відкритим вихідним кодом. Вона включає підтримку широкого спектра мережевого обладнання та операційних систем, включаючи Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP і багато інших.
/10 Munin
Munin — це інструмент моніторингу, доступний через вебінтерфейс. Він опитує всі ваші сервери та запам’ятовує те, що бачив. Вся інформація представлена у вигляді графіків. Munin має відкритий вихідний код.
Використовуючи Munin, ви можете легко контролювати продуктивність своїх комп’ютерів, мереж, SAN, додатків і всього, що спаде на думку.
/11 Supervisord
Supervisord — це система управління процесами клієнт/сервер, заснована на Python. Вона дає можливість користувачам управляти рядом процесів в UNIX-подібних операційних системах. Supervisor налаштовується за допомогою простого файлу конфігурації в стилі INI, який легко вивчити. Працює Supervisor практично з усім, крім Windows. Система протестована і підтримується Linux, Mac OS X, Solaris і FreeBSD.
/12 Cabot
Cabot — це безплатна платформа для моніторингу інфраструктури з відкритим вихідним кодом. Вона поєднала в собі кращі функції PagerDuty, Server Density, Pingdom і Nagios, при цьому виключила їх вартість і складність використання. Cabot готова до роботи з Docker, а процес розгортання займає 5 хвилин.
/13 Glances
Glances нагадує вам про головну команду, яку можна запустити через вебінтерфейс. Це багатоплатформовий інструмент для моніторингу системи, написаний на Python. Він також може працювати в режимі клієнт/сервер з віддаленим моніторингом через термінал, вебінтерфейс або API. Статистичні дані також можна експортувати в файли або в зовнішні бази даних часу/значення. Glances доступний в багатьох дистрибутивах Linux, тому ви зможете встановити його, використовуючи свій улюблений менеджер пакетів.
/14 Monitorix
Спочатку Monitorix був розроблений для систем Red Hat, Fedora і CentOS Linux, але сьогодні він працює в різних дистрибутивах GNU/Linux і навіть в інших системах UNIX (таких, як FreeBSD, OpenBSD та NetBSD).
Це безплатний додаток з відкритим вихідним кодом. Він здатен відстежувати якомога більше сервісів і системних ресурсів. Звичайно, він підходить для виробничих серверів, а його простота і невеликий розмір дозволяють розгортати його на вбудованих пристроях.
/15 Nixstats
Nixstats — це потужна і проста у використанні платформа моніторингу, що дозволяє відстежувати продуктивність сервера і час безвідмовної роботи вебсайтів. Платформа не вимагає складного налаштування. Почати роботу можна за допомогою однорядкової команди для установки агента моніторингу на всі ваші сервери.
/16 Cacti
Cacti — це надійне середовище для оперативного моніторингу та управління збоями з відкритим вихідним кодом, що розширюється. Додаток збирає статистичні дані за певний час і показує їх у вигляді графіків. У більшості випадків Cacti використовує стандартні шаблони для показу статистики по:
- завантаженню процесора,
- виділенню оперативної пам’яті,
- кількості запущених процесів,
- використанню вхідного/вихідного трафіку.
/17 Zenoss Server Monitoring
Zenoss Server Monitoring виходить за рамки традиційного підходу до роздільного моніторингу розрізнених типів пристроїв (наприклад серверів). Він дозволяє контролювати всі сервери як частина повного ІТ-стека хмарної та локальної інфраструктури, щоб забезпечити оптимальну продуктивність додатків.
Zenoss має ZenPacks плагіни, які можна налаштовувати та розширювати. Для збору даних про працездатність і продуктивність в реальному часі від будь-якої системи або додатку, ZenPacks використовує стандартні API-інтерфейси та протоколи (включаючи SNMP, WMI, SSH і багато інших). Зараз існує понад 400 пакетів ZenPack, які охоплюють фізичні системи, контейнери, хмарні розгортання і додатки.
/18 ntopng
ntopng забезпечує високошвидкісний вебаналіз трафіку і збір потоків як портативну версію наступного покоління ntop. ntop — зонд мережевого трафіку, який відстежує використання мережі на основі libpcap/PF_RING.
ntopng доступний в чотирьох версіях:
- Спільнота (відкритий вихідний код).
- Професійний.
- Підприємство М.
- Підприємство L.
/19 Open Source Monitoring Framework Shinken
Shinken пропонує фреймворк для моніторингу з відкритим вихідним кодом. Він має самодостатній вебінтерфейс, який включає власний вебсервер (незалежний від Apache). Вебінтерфейс Shinken запускається одночасно з фреймворком Shinken і налаштовується з використанням основного файлу конфігурації Shinken шляхом установки декількох основних параметрів.
/20 Observium
Observium — це платформа моніторингу мережі з автоматичним виявленням, що підтримує широкий спектр апаратних платформ і операційних систем, включаючи: Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, F5, Brocade, Citrix Netscaler, NetApp і багато інших. Observium прагне надати потужний, але простий та інтуїтивно зрозумілий інтерфейс для оцінки працездатності й статусу вашої мережі.
Що обираєте ви?
Цей вичерпний список різноманітних інструментів для моніторингу серверів повинен допомогти вам визначитися з вибором.
Якщо у вас є додаткові інструменти, якими ви можете поділитися зі спільнотою, або будь-які пропозиції — пишіть коментар. Нам цікаво дізнатися вашу думку.
Продовжуємо набір курс «DevOps з нуля», на якому ти опануєш всі необхідні технології DevOps-інженера: Linux, Ansible, Docker, Kubernetes, Jenkins, AWS, Terraform, GitHub, CI/CD.