Системы мониторинга сервера linux — решение которое должно быть у каждого системного администратора. При помощи системы мониторинга мы сможем получить информацию о состоянии системы за различные периоды времени, чего невозможно сделать консольными утилитами. Мы можем воспользоваться консольными утилитами для мониторинга состояния системы, только мы увидим текущее состояние системы, а что делать если нам нужно увидеть нагрузку на CPU или количество запросов к веб серверу в определенный период? В этой статье я постараюсь кратко описать популярные решения мониторинга которыми пользовался сам. На основе этих данных вы сможете выбрать подходящую систему для ваших задач.
Cacti
Cacti — open source решение для мониторинга. Предназначена для мониторинга различного сетевого оборудования, серверов и прочих устройств. Грубо говоря cacti является фронтендом для RRDTool. RRDTool — набор утилит для работы с круговыми базами данных(Round Robin Database), предназначены для хранения информации об изменениях одной или нескольких величин за определенный промежуток времени.
Несколько возможностей:
- Неограниченное количество графиков;
- Поддержка пользовательских скриптов;
- Получение данных по snmp;
- Управление доступом. Различные графики различным пользователям;
- Возможность группировать графики;
- Шаблоны для графиков;
- Не нужны агенты на устройствах которые мы мониторим;
Подходит как для мониторинга небольшой сети, так и для огромных корпоративных сетей с множеством различных серверов и прочего зоопарка. Если вам нужно мониторить от нескольких устройств до нескольких десятков, а то и сотен Cacti станет неплохим выбором. Как по мне, так для мониторинга только одной системы использовать не рационально.
Nagios
Еще одно open source решение для мониторинга. Раньше проект назывался NetSaint однако в текущий момент разработка ведется под именем Nagios. Приложение написано на C, Perl и предназначено для слежения за сетевыми службами, приложениями и различными сетевыми устройствами.
Основные возможности:
- Мониторинг состояния сетевых служб(HTTP,SNTP,SNMP,POP3 and etc.);
- Параллельная проверка служб;
- Мониторинг состояния хостов(Загрузка CPU, Системные журналы, Использование памяти и т.д);
- Отправка оповещений;
- Возможность разрабатывать собственные плагины для проверки служб;
- Удаленный мониторинг через тоннель SSH;
- Общая сводка по наблюдаемым хостам;
Хороший мониторинг сервера и сетевого оборудования который хорошо подходит для мониторинга большого количества устройств. Графики рисует тем же RRDTool. Как и в случае с Cacti не рационально использовать для мониторинга одной системы.
Zabbix
Один из популярнейших open source решений для мониторинга огромного количества хостов. Разработчики говорят, что ПО было протестировано при мониторинге 100 000 устройств. Залечу наперед и сразу скажу, что решение не для одного сервера, поэтому если вам нужно получать метрики только одного вашего сервера, решение вам не подходит.
Основные возможности:
- Агенты для большинства ОС;
- Автоматическое обнаружение серверов и сетевых устройств;
- Распределенный мониторинг и централизованное веб управление;
- low-level обнаружение;
- Управление через веб интерфейс;
- email уведомления;
Zabbix — краткий обзор интерфейса
Zabbix Agent — мониторинг Linux/Windows хостов
Monitorix
Open source решение для мониторинга сервера. Очень часто использовал его на отдельных серверах из-за его легковесности и простоты в настройке. Очень хорошо использовать в качестве мониторинга одного сервера. Программа написана на Perl, имеет свой демон для сбора метрик, веб интерфейс, а графики рисует при помощи RRDTool.
Основные возможности:
- Легковесность;
- Простота в настройке;
- Возможность мониторить другие сервера, на которых установлен monitorix;
- Собственный веб сервер;
- Конфигурация при помощи текстового файла;
Рекомендую использовать этот мониторинг если вам нужно очень быстро и качественно развернуть статистику для одного сервера. Умеет мониторить различные службы, тыкие как Sendmail/Postfix, FTP, Apache, Nginx and etc. Как установить monitorix в Ubuntu можете прочитать перейдя по этой ссылке.
Linux Dash
Легковесный мониторинг для GNU/Linux, занимает меньше 1-го мегабайта. Написана для мониторинга одного сервера. Не нужно настраивать никаких баз данных и прочего, просто распаковали архив, настроили веб-сервер и можем периодически заходить и просматривать метрики.
Возможности:
- Виджеты. Каждый виджет отображает определенную метрику;
- Мониторинг в реальном времени и по запросу;
- Красивый дизайн
Основным минусом является то, что мы не сможем посмотреть состояние системы в определенный момент времени, а только то, что происходит в текущий момент. Хорошее решение для тех, кто не хочет заходить на сервер через терминал и просматривать информацию ручками, вся информация отображается прямо в браузере.
Система мониторинга сервера Linux, это в первую очередь набор программ и скриптов которые упростят работу с различными метриками, круговыми базами данных и списками оборудования. Есть еще много популярных систем мониторинга, эти системы я выбирал исходя из практичности использования и возможностей.
Если у вас есть предложения или замечания, оставляйте комментарии, вместе с вами постараемся рассмотреть больше систем и обучится новому.
Здравствуйте, а что бы Вы посоветовали для мониторинга удаленных серверов, использовать zabbix или что-нибудь другое?
Многое зависит от задач и личных предпочтений. Я часто использую Zabbix, доводилось использовать Cacti, но визуально мне он не понравился. Zabbix хорош набором функций и подходит для большинства задач, в добавок к этому легко масштабировать.
В данный момент тестирую мониторинг Grafana.
Можете подобрать инструмент для себя, весь список смотрите здесь.
Понятно, спасибо за ответ, буду пробовать Zabbix.
Если будут возникать вопросы, пишите, вместе разберемся)