Home » Мониторинг » Мониторинг сервера с помощью glances и influxdb

Мониторинг сервера с помощью glances и influxdb

Расскажу про простой и современный способ быстро организовать временный мониторинг Linux сервера с возможностью посмотреть результаты в веб интерфейсе. Для этого нам понадобится утилита glances и influxdb.

Теоретический курс "Сетевые технологии для системных администраторов" позволит системным администраторам упорядочить и восполнить пробелы в знаниях. Цена очень доступная, есть ознакомительные уроки. Все подробности по ссылке. Можно пройти тест на знание сетей, бесплатно и без регистрации.

Glances в консоли показывает нагрузку на сервер в режиме реального времени. Эта программа сама по себе неплоха, а конкретно в нашей задаче удобна тем, что умеет выгружать метрики в режиме реального времени в influxdb. Influxdb — СУБД для хранения временных рядов. Имеет свой собственный веб интерфейс, что тоже удобно для нашей задачи.

Всё манипуляции я буду проводить на Debian 11. Установим туда glances определённой версии через pip. В данном случае 3.2.5. В самой последней, судя по всему, какой-то баг с экспортом данных, она падает через несколько секунд после запуска. С 3.2.5 проблем не было.

# apt install python3-pip
# pip install glances[all]==3.2.5
# pip install influxdb-client

Можете запустить glances в консоли и посмотреть, что она из себя представляет. Теперь запустим influxdb. Для простоты будем использовать docker. Запустить можете как локально, так и на любом другом хосте. Я запущу тут же, предварительно создав директорию для хранения данных:

# mkdir ~/influxdb
# docker run -d -p 8086:8086 \
-v ~/influxdb:/var/lib/influxdb2 influxdb:latest

Идём в консоль контейнера и инициализируем базу данных:

# docker exec -i -t 6ee6223a3ce3 bash
# influx setup
> Welcome to InfluxDB 2.0!
? Please type your primary username serveradmin
? Please type your password ***********
? Please type your password again ***********
? Please type your primary organization name serveradmin
? Please type your primary bucket name glances
? Please type your retention period in hours, or 0 for infinite 0
? Setup with these parameters?
 Username:     serveradmin
 Organization:   serveradmin
 Bucket:      glances
 Retention Period: infinite
 Yes
User Organization Bucket
serveradmin serveradmin glances

Теперь создадим токен для доступа к оrganization serveradmin:

influx auth create \
 --org serveradmin --read-authorizations --write-authorizations \
 --read-buckets --write-buckets --read-dashboards \
 --write-dashboards --read-tasks --write-tasks \
 --read-telegrafs --write-telegrafs --read-users \
 --write-users --read-variables --write-variables \
 --read-secrets --write-secrets --read-labels \
 --write-labels --read-views --write-views --read-documents \
 --write-documents --read-notificationRules --write-notificationRules \
 --read-notificationEndpoints --write-notificationEndpoints \
 --read-checks --write-checks --read-dbrp \
 --write-dbrp --read-annotations --write-annotations \
 --read-sources --write-sources --read-scrapers \
 --write-scrapers --read-notebooks --write-notebooks \
 --read-remotes --write-remotes --read-replications --write-replications

В конце получите токен вида wEgrY0Y1wY1R1S-qCiKxA== (в оригинале он длиннее, сократил для удобства) Он будет нужен для конфигурации glances. Создаём её в директории ~/.config/glances/glances.conf

[influxdb2]
host=localhost
port=8086
protocol=http
org=serveradmin
bucket=glances
token=wEgrY0Y1wY1R1S-qCiKxA==

Host укажите свой. Если запустили локально, то это localhost, если удалённо, то укажите реальный адрес. Теперь можно идти в web интерфейс influxdb по адресу http://172.25.225.173:8086 (измените ip на свой) и просматривать графики. Для этого перейдите в раздел Load Data ⇨ Buckets и выберите созданный бакет Glances. Дальше, думаю, разберётесь, как выводить данные. Пример ниже на картинке.

Мониторинг сервера с помощью glances и influxdb

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

Смысл данных настроек мониторинга во временном сборе большого количества метрик. Постоянно их собирать и хранить нет большого смысла, а в момент диагностики другое дело.

Онлайн курcы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курcы по программе, основанной на информации из официального курcа MikroTik Certified Network Associate. Помимо официальной программы, в курcах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курcы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курcов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar