Мониторинг — это сбор метрик и представление этих метрик в удобном виде (таблицы, графики, шкалы, уведомления, отчёты). Концептуально его можно изобразить в таком виде:
Метрики — это абстракция, с которой мы имеем дело, когда говорим о мониторинге. Это какие-то числа, описывающие состояние интересующей нас штуковины. Самый простой и понятный мониторинг следит за ресурсами компьютера: загрузкой процессора, памяти, диска, сети. Аналогично можно следить за чем-то более высокоуровневым, вроде количества посетителей на сайте или среднего времени ответа сервера. Для компьютера это один хрен безликие числа.
Мониторинг — это инструмент анализа того, что происходит/происходило в системе. Следовательно, без понимания смысла собранных данных мониторинг вам не особо поможет. И наоборот: в умелых руках это мощный инструмент.
Чем больше компонентов в вашей системе (микросервисов), чем больше нагрузка на неё, чем дороже время простоя, тем важнее иметь хорошую систему мониторинга.
How Prometheus Monitoring works | Prometheus Architecture explained
То, что не метрики — то логи. Их тоже надо собирать и анализировать, но это отдельная история со своими инструментами.
Сейчас модно делать мониторинг на основе Prometheus. Так ли он хорош на самом деле? На мой взгляд это лучшее, что сейчас есть из мониторинга. Оговорюсь сразу для тех, кто хочет с этим поспорить: я понимаю, что разным задачам — разные инструменты и где-то больше подходит старый проверенный Nagios. Но в целом лидирует Prometheus.
Prometheus — это не готовое решение в духе “поставил и работает” (привет, Netdata). Это платформа, набор инструментов, позволяющий сделать себе такой мониторинг, какой надо. Фреймворк, если хотите.
Эта статья про знакомство с Prometheus’ом и установку. Потом будет интереснее — про настройку непосредственно мониторинга.
- Архитектура Prometheus
- Установка
- Установка вручную
- Установка Prometheus server
- Установка node exporter
- Установка alertmanager
- Установка Grafana
Архитектура Prometheus
Prometheus состоит из отдельных компонентов, которые общаются друг с другом по http. Всё модно-молодёжно, с веб-интерфейсами и настраивается в yaml-конфигах.
- Prometheus server — центральное звено. Здесь хранятся собранные метрики, плюс имеется простенький веб-интерфейс, чтобы на них смотреть (Prometheus web UI).
- Агенты, собирающие метрики и предоставляющие их в понятном для Prometheus’а виде. В зависимости от контекста называются экспортерами (exporter) или таргетами (target). Устанавливаются на целевые машины. Типичный представитель — node_exporter — собирает данные о вычислительных ресурсах: загрузку процессора, памяти, диска и т.п. Есть куча других экспортеров. Например, cadvisor собирает данные о контейнерах. Есть экспортеры для Postgres’а, для Nginx’а и т.д. С точки зрения самого Prometheus’а они ничем принципиально не отличаются друг от друга, просто каждый собирает какие-то свои метрики. Можно писать свои экспортеры, если ничего из готового вам не подходит.
- Alertmanager — уведомлятор. Это он отправит письмо вам на почту, если что-то сломается. Из коробки умеет в почту, Slack, Hipchat, Pagerduty. Сторонними средствами можно прикрутить Telegram и наверное что-то ещё.
- Grafana строго говоря не является частью Prometheus’а, но все её ставят и официальная документация рекомендует поступать именно так. Показывает красивые графики. Кучка графиков, собранных на одном экране, называется дашбордом (dashboard). Типа такого:
Prometheus + Grafana Мониторинг софта и железа Сбор метрик и построение графиков
Установка
Все компоненты Prometheus’а написаны на Go и представляют собой статически скомпиленные бинари, не требующие никаких зависимостей кроме libc и готовые запускаться на любой платформе, будь то Debian, Arch или Centos. Установить их можно аж тремя способами:
- по-старинке через пакетный менеджер,
- взять готовые бинари с оф. сайта и засунуть их в систему в обход пакетного менеджера,
- развернуть всё в докер-контейнерах.
Разумеется, у каждого способа есть свои преимущества и недостатки.
Если ставить через пакетный менеджер, то через него же вы будете получать обновления и сможете всё удалить. Однако есть нюанс. У Prometheus’а нет своих собственных репозиториев для популярных дистрибутивов, а официальные репозитории Debian/Ubuntu как всегда отстают от апстрима. Например, сейчас в Debian доступна версия 2.7.1, когда Prometheus уже 2.11.1. Arch Linux — молодец, идёт в ногу со временем.
При установке вручную Prometheus не будет числиться в списках установленного софта и с точки зрения пакетного менеджера его в системе нет. Зато вы сможете обновлять Prometheus отдельно от пакетов. При ручной установке придётся немного побывать в роли установочного скрипта (который есть в пакете), поэтому, если у вас серьёзные намерения — автоматизируйте установку/обновление через какой-нибудь Ansible. Рекомендую взять за основу готовые роли для Prometheus, Alertmanager, Node exporter, Grafana.
Если ставить Prometheus в докере, то всё про мониторинг будет лежать в одном месте. Можно это хозяйство положить под Git и иметь возможность поднять мониторинг в две команды: git clone , docker-compose up . Но надо писать правильный docker-compose.yml , париться при возникновении сетевых проблем… Короче, вы от одних проблем избавляетесь, а взамен получаете другие. В зависимости от того, с какими вам больше нравится возиться, выбирайте тот или иной вариант установки. Вам понадобятся контейнеры prom/prometheus , prom/node_exporter , prom/alertmanager . За основу рекомендую взять docker-compose.yml из репозитория docprom.
В продакшене я бы поднимал мониторинг в докере как минимум в целях безопасности. Свой личный мониторинг я устанавливал по-старинке вручную.
Установка вручную
Расскажу про ручную установку, потому что в основе других способов установки лежат те же действия, только завёрнутые в дополнительную обёртку. Этот способ подойдёт для любых дистрибутивов Linux под управлением systemd (Ubuntu, Debian, Centos, Arch и т.д.)
Установка Prometheus server
Идём на https://github.com/prometheus/prometheus/releases, находим билд под свою платформу (скорее всего это будет linux-amd64). Копипастим ссылку, качаем:
$ wget https://github.com/. /prometheus-2.11.1.linux-amd64.tar.gz $ tar xf prometheus-*.tar.gz
Раскидываем файлы по ФС, заводим пользователя:
# cd prometheus-* # cp prometheus promtool /usr/local/bin # mkdir /etc/prometheus /var/lib/prometheus # cp prometheus.yml /etc/prometheus # useradd —no-create-home —home-dir / —shell /bin/false prometheus # chown -R prometheus:prometheus /var/lib/prometheus
В архиве будут два ненужных каталога: console_libraries/ и consoles/ . Их не трогаем.
Важно! Если у вас /home вынесен на отдельный раздел, директиву ProtectHome=yes надо убрать, иначе node exporter будет неправильно показывать оставшееся место на разделе /home .
Запускаем node exporter:
# systemctl daemon-reload # systemctl start node_exporter # systemctl status node_exporter
Можно посмотреть как node exporter отдаёт метрики:
$ curl -s http://localhost:9100/metrics # HELP go_gc_duration_seconds A summary of the GC invocation durations. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds 7.9825e-05 go_gc_duration_seconds 7.9825e-05 go_gc_duration_seconds 7.9825e-05 go_gc_duration_seconds 7.9825e-05 go_gc_duration_seconds 7.9825e-05 go_gc_duration_seconds_sum 7.9825e-05 go_gc_duration_seconds_count 1 .
Пока не пытайтесь что-то понять в выводе. Отдаёт и ладно.
Установка alertmanager
Alertmanager — это про алерты. Первое время алертов у вас не будет, поэтому сейчас его можно не ставить. Но лучше всё-таки поставить, чтобы всё необходимое уже было подготовлено. Идём за дистрибутивом на https://github.com/prometheus/alertmanager/releases.
$ wget https://github.com/. /alertmanager-0.18.0.linux-amd64.tar.gz $ tar xf alertmanager-*.tar.gz # cd alertmanager-* # cp alertmanager /usr/local/bin # mkdir /etc/alertmanager /var/lib/alertmanager # cp alertmanager.yml /etc/alertmanager # useradd —no-create-home —home-dir / —shell /bin/false alertmanager # chown -R alertmanager:alertmanager /var/lib/alertmanager
/etc/systemd/system/alertmanager.service
[Unit] Description=Alertmanager for prometheus After=network.target [Service] User=alertmanager ExecStart=/usr/local/bin/alertmanager —config.file=/etc/alertmanager/alertmanager.yml —storage.path=/var/lib/alertmanager/ ExecReload=/bin/kill -HUP $MAINPID NoNewPrivileges=true ProtectHome=true ProtectSystem=full [Install] WantedBy=multi-user.target
# systemctl daemon-reload # systemctl start alertmanager # systemctl status alertmanager
Веб-интерфейс alertmanager’а доступен на http://localhost:9093. Пока в нём нет ничего интересного.
Установка Grafana
Если у вас Debian/Ubuntu или Redhat/Centos, лучше установить Grafana из пакета. Ссылочки найдёте в описании под видео на https://grafana.com/grafana/download.
$ wget https://dl.grafana.com/oss/release/grafana_6.3.2_amd64.deb # dpkg -i grafana_6.3.2_amd64.deb
# systemctl start grafana # systemctl status grafana
Prometheus, Node exporter, Alertmanager и Grafana по умолчанию слушают на всех сетевых интерфейсах. При необходимости прикрывайтесь фаерволлом от посторонних глаз.
Первичная настройка
Теперь, когда все компоненты установлены, надо подружить их друг с другом. Сперва минимально настроим Prometheus server:
global: scrape_interval: 15s evaluation_interval: 15s # Alertmanager configuration alerting: alertmanagers: — static_configs: — targets: — localhost:9093 scrape_configs: — job_name: ‘node’ static_configs: — targets: — localhost:9100 # — anotherhost:9100
Пока не буду вдаваться в подробности настройки, этим займёмся в следующих статьях. На текущем этапе надо получить пусть примитивный, но работающий мониторинг. Основное что сейчас стоит знать:
- Отступы в yml — два пробела. Всегда и везде.
- scrape_interval — с какой периодичностью Prometheus server будет забирать (scrape) метрики с экспортеров.
- localhost:9093 и localhost:9100 — адреса alertmanager’а и node exporter’а соответственно. Если у вас другие, замените на правильные. Если у вас node exporter установлен на несколько машин, впишите их все.
Теперь попросим prometheus перечитать конфигурационный файл:
# systemctl reload prometheus
В веб-интерфейсе на странице http://localhost:9090/targets появился первый таргет. Он должен быть в состоянии “UP”.
Поздравляю, мониторинг начал мониторить! Теперь можно пойти на вкладку Graph и запросить какую-нибудь метрику, например node_load1 — это одноминутный load average. Там же можно временной график посмотреть:
В повседневной жизни вы вряд ли будете смотреть графики в этом интерфейсе. Гораздо приятнее смотреть графики в Grafana.
Открываем интерфейс Grafana по адресу http://localhost:3000. Логинимся (admin:admin), при желании меняем пароль. Практически всё в Графане настраивается тут же, через веб-интерфейс. Нажимаем на боковой панели Configuration (шестерёнка) → Preferences:
Идём на вкладку Data Sources, добавляем наш Prometheus:
Теперь добавим готовый дашборд Node exporter full. Это лучший дашборд для старта из всех, что я пересмотрел. Идём Dashboards (квадрат) → Manage → Import.
Вписываем 1860 и убираем курсор из поля ввода, иначе не начнёт импортировать. Дальше указываем data source и жмём import.
Поздравляю, самая скучная часть работы проделана! Теперь вы можете наблюдать за жизнью своих серверов в Графане.
Если у вас серьёзные намерения и вы хотите, чтобы все компоненты автоматически запускались после перезагрузки машины, не забудьте сообщить об этом systemd:
# systemctl enable prometheus # systemctl enable grafana # systemctl enable alertmanager # systemctl enable node_exporter
И это всё?
У нас пока нет алертов, не заведены пользователи в Grafana, мы ничего не понимаем в настройке. Да, наш мониторинг пока очень сырой. Но надо же с чего-то начать! Позже я напишу про настройку, про алерты и многое другое. Всё будет, друзья.
Всё будет.
Куда копать дальше?
- Официальная документация Prometheus. Да, она не супер-подробная, и лично мне многое было непонятно вначале, но заглянуть стоит.
- Блог Robust Perseption, который ведёт Brian Brazil — один из разработчиков Prometheus’а. Статьи короткие и, на мой взгляд, слишком лаконичные. Хочется больше подробностей, больше примеров.
- Книга Prometheus up and running за авторством всё того же Brian Brazil. Во многом повторяет статьи блога.
Все статьи
- Строгий календарь 2022
- Строгий календарь 2021
- Ушёл в отпуск
- Осваиваем мониторинг с Prometheus. Часть 3. Настройка Prometheus server
- Строгий календарь 2020
- Осваиваем мониторинг с Prometheus. Часть 2. PromQL и метки
- Осваиваем мониторинг с Prometheus. Часть 1. Знакомство и установка
- Ускоряем установку пакетов в Debian (libeatmydata)
- Строгий календарь 2019
- Оконный менеджер i3
- Строгий календарь 2018
- Мой лончер на базе Dmenu
- Как случайно не выключить сервер по ssh
- Делаем загрузочный образ из контейнера
- Использование утилиты debootstrap
- Запускаем Debian в chroot-окружении
- Строгий календарь 2017
- Запускаем Debian в контейнере systemd-nspawn
- Ручная установка минимального Debian-based Linux (Install Debian the Archlinux way)
- Trap — обработка сигналов и ошибок в Bash
- Мои впечатления от Gentoo Linux
- Жизнь с комфортом в Openbox WM
- Гистограммы в гнуплоте
- Особенности гнуплота под Windows
Источник: laurvas.ru
Мониторинг сервисов с Prometheus
Очень важно контролировать работу серверов и приложений, потребление ресурсов и другие процессы в системе. Для этого существуют специальные инструменты. В этой статье мы простыми словами расскажем, что такое Prometheus, как его установить и настроить, зачем нужны его главные компоненты.
Немного о Prometheus: зачем он нужен и чем отличается от аналогов
Система мониторинга Prometheus – это бесплатная система серверов и программ, предназначенная для сбора и анализа данных о работоспособности IT-оборудования. Её разработали специально для сопровождения музыкальной социальной сети, так как до неё не было подходящих решений для такой нестандартной задачи. Позже программа была модифицирована, обновленная версия была предложена более широкой аудитории.
Сервис собирает данные о состоянии серверов и систем, оповещая о возникших проблемах. Мониторинг осуществляется с помощью языка PromQL, а сама программа написана на Go и Ruby.
Сервер получает параметры объектов через заданные пользователем интервалы времени. Информация от них отправляется на сервер по HTTP и сохраняется в базе данных временных рядов.
Архитектура Prometheus включает в себя два главных компонента.
- Prometheus-server — это центр всей системы, отвечающий за получение и хранение данных. Он имеет базовый веб-интерфейс, но мы рекомендуем установить дополнительный.
- Exporters — это программы, получающие и передающие метрики на сервер. Существует несколько их разновидностей, таких как haproxy, statsd и graphite. Их ставят на объекты, с которых нужно получить данные. Каждый собирает свои метрики. А если подходящий вариант вы не нашли, можете создать собственный.
Использование Prometheus требует применения дополнения под названием Grafana. Оно позволяет представлять собранные данные в виде визуальных образов, таких как графики, диаграммы, таблицы или AlertManager, который используется для настройки оповещений. Когда с целевым объектом что-то идет не так, alertmanager может отправлять уведомления по электронной почте или в мессенджеры.
Все компоненты взаимодействуют между собой по протоколу HTTP. Система сама находит нужные сервисы. Поэтому можно поставить только сервер и необходимые компоненты для сбора данных. В распределённой системе мониторинга нет необходимости, что существенно упрощает работу администраторов.
Как установить Prometheus
Для установки воспользуйтесь пошаговой инструкцией.
- Скопируйте ссылку на установочный пакет. Для этого зайдите на сайт разработчика и найдите нужный вариант.
- Поставьте пакет wget. Если он уже установлен, пропустите этот шаг.
- Командой выполните разархивацию.
tar -xvzf prometheus-2.20.1.linux-amd64.tar.gz prometheus-2.20.1.linux-amd64/
- У нас есть 3 исполняемых файла, которые нужно скопировать в /usr/local/bin/.
cp prometheus /usr/local/bin/
cp promtool /usr/local/bin/
- Создайте папку для конфигурационных файлов и поместите их туда.
cp -r consoles/ /etc/prometheus/consoles/
cp -r console_libraries/ /etc/prometheus/console_libraries/
cp prometheus.yml /etc/prometheus/
- Теперь нужно создать другую папку, куда будут сохраняться данные.
- Создаём пользователя, делаем его владельцем.
useradd -M -r -s /bin/nologin promethe
chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
- Делаем systemd-юнит для дальнейшего управления.
- Меняем конфигурацию.
Description=Prometheus systemd service unit
ExecReload=/bin/kill -HUP $MAINPID
- Обновляем список.
- Запускаем систему.
systemctl start prometheus.service
- Разрешаем автозагрузку.
ystemctl enable prometheus.service
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /etc/systemd/system/prometheus.service
Установка завершена. IP адрес для системы $IP:9090:
Как установить node_exporter
Node_exporter нужен для сбора данных с объектов. Ссылку на него тоже нужно найти на сайте разработчика – вот она.
Дальнейшая установка выполняется в несколько шагов.
- Установка пакета.
- Разархивирование.
- Копирование бинарного файла.
cp node_exporter-1.0.1.linux-amd64/node_exporter /usr/local/bin/
- Создание пользователя.
useradd -M -r -s /bin/nologin node_exporter
- Формирование юнита.
- Редактирование конфигурационного файла. Нужно вписать дополнительные строки.
После редактирования сохраняем изменения и выходим из редактора.
- Обновляем перечень сервисов.
systemctl start node_exporter.service
- Разрешаем автозагрузку.
systemctl enable node_exporter.service
- Обеспечиваем возможность получить данные с экспортёра. Для этого редактируем /etc/prometheus/prometheus.yml, как в примере ниже.
- Перезагружаем систему.
systemctl restart prometheus.service
- Открываем веб-интерфейс. Находим вкладку Status, а в ней Targets. Здесь уже есть новый таргет.
- В Prometheus есть возможность установить node_exporter на другой компьютер или сервер, также используя его в мониторинге. Это делается с помощью редактирования конфигурационного файла.
# The job name is added as a label `job=` to any timeseries scraped from this config.
# metrics_path defaults to ‘/metrics’
# scheme defaults to ‘http’.
- Также можно добавить сервера, чтобы контролировать их все одновременно.
# The job name is added as a label `job=` to any timeseries scraped from this config.
# metrics_path defaults to ‘/metrics’
# scheme defaults to ‘http’.
Как установить Alertmanager
Чтобы получать оповещения о состоянии сервера, установите программу AlertManager. Она получает от Prometheus сигналы, обрабатывает их, а если что-то работает не так, как нужно, отправляет пользователю сообщения.
Ссылка тоже находится на сайте системы мониторинга. Скопируйте её и переходите к следующим шагам.
- Установка пакетов.
- Разархивирование.
tar -xvzf alertmanager-0.21.0.linux-amd64.tar.gz
- Создание папки, в которой будут храниться новые файлы.
mkdir /etc/alertmanager /var/lib/prometheus/alertmanager
- Копирование файлов.
cp amtool alertmanager /usr/local/bin/
cp alertmanager.yml /etc/alertmanager
useradd -M -r -s /bin/nologin alertmanager
- Корректируем директорию.
chown -R alertmanager:alertmanager /etc/alertmanager /var/lib/prometheus/alertmanager
- Делаем systemd-юнит.
- Вписываем сюда дополнительные параметры.
Источник: www.nic.ru
Установка системы мониторинга Prometheus
В статье описывается установка системы Prometheus в совокупности с Grafana (визуализация данных), Alertmanager (обработчик уведомлений), Node exporter (сбор метрик). Установка Node exporter Скачиваем архив с бинарным файлом wget Распаковка В архиве содержится бинарник, который нужно перенести в /usr/local/bin: Создание отдельного юзера Необходимо создать юнит для возможности запуска при загрузке как системной службы. Создаем новый файл […]
В статье описывается установка системы Prometheus в совокупности с Grafana (визуализация данных), Alertmanager (обработчик уведомлений), Node exporter (сбор метрик).
Установка Node exporter
Скачиваем архив с бинарным файлом
tar -xzvf node_exporter-0.18.1.linux-amd64.tar.gz
В архиве содержится бинарник, который нужно перенести в /usr/local/bin:
mv node_exporter*/node_exporter /usr/local/bin
Создание отдельного юзера
useradd -rs /bin/false node_exporter
Необходимо создать юнит для возможности запуска при загрузке как системной службы.
Создаем новый файл
nano /etc/systemd/system/node_exporter.service
[Unit] #описание юнита Description=Node Exporter #старт после After=network.target [Service] #пользователь User=node_exporter #группа Group=node_exporter #тип службы, simple – служба будет запущена незамедлительно. Type=simple #команда для запуска сервиса ExecStart=/usr/local/bin/node_exporter ExecStop=/usr/local/bin/node_exporter ExecRestart=/usr/local/bin/node_exporter #команда, указывающая на необходимость перезапуска демона Restart=always [Install] #уровень запуска WantedBy=multi-user.target
Далее необходимо перезагрузить демон system:
systemctl daemon-reload
Добавляем в автозагрузку и запускаем службу
systemctl enable node_exporter systemctl start node_exporter
Установка Prometheus
Распакуем архив и переместим бинарные файлы в /usr/local/bin:
tar -xzvf prometheus-2.14.0.linux-amd64.tar.gz mv prometheus-2.14.0.linux-amd64/prometheus prometheus-2.14.0.linux-amd64/promtool /usr/local/bin
Создаем директории для конфигурационных файлов Prometheus
mkdir /etc/prometheus /var/lib/prometheus
Перемещаем конфигурационные файлы в ранее созданный каталог
mv prometheus-2.14.0.linux-amd64/console prometheus-2.14.0.linux-amd64/console_libraries /etc/prometheus
Удаляем оставшиеся файлы
rm -r prometheus-2.14.0.linux-amd64*
Установка Prometheus
После установки Prometheus необходимо создать конфигурационный файл /etc/prometheus/prometheus.yml
Табуляция (т.е. знак t) в YAML запрещена. Необходимо использовать пробелы для отступов.
nano /etc/prometheus/prometheus.yml
global: scrape_interval: 10s scrape_configs: — job_name: ‘prometheus_metrics’ scrape_interval: 5s static_configs: — targets: [‘localhost:9090’] — job_name: ‘node_exporter_metrics’ scrape_interval: 5s static_configs: — targets: [‘localhost:9100’]
В конфигурационном файле задается интервал парсинга по умолчанию (параметром scrape_interval). Также заданы два источника метрик prometheus_metrics и node_exporter_metrics, для которых переопределен интервал парсинга в 5 сек.
Заданы места, откуда эти метрики будут доступны – localhost. Prometheus использует порт 9090, node_explorer – 9100.
Создаем пользователя для Prometheus, как для node_explorer:
useradd -rs /bin/false prometheus
Изменим владельца файлов, которые будут использоваться Prometheus:
chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
Затем, создаем systemd юнит в файле /etc/systemd/system/prometheus.service
[Unit] Description=Prometheus After=network.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus —config.file /etc/prometheus/prometheus.yml —storage.tsdb.path /var/lib/prometheus/ —web.console.templates=/etc/prometheus/consoles —web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
Директива ExecStart задает пути, которые Prometheus должен использовать для хранения конфигурации, бд временных рядов, шаблонов визуализации веб-интерфейса.
Для применения изменений перезагружаем демон system:
systemctl daemon-reload
Также, добавляем сервис в автозагрузку и запускам сервис
systemctl enable prometheus systemctl start prometheus
После окончания установки веб-интерфейс будет доступен по адресу http://ip_сервера:9090/
Вкладка “Console”, вкладка “Graph” для создания графиков на основе запроса.
Чтобы просмотреть список источников метрик, необходимо перейти на Status->Service Discovery. Здесь отображается список всех отслеживаемых служб, включая путь, по которому метрики доступны. По умолчанию путь /metrics.
Метрики и запросы Prometheus
Сервер Prometheus собирает метрики и сохраняет их в базе данных временных рядов.
rate(node_network_receive_bytes_total[1m]) — средний сетевой трафик, полученный в секунду за последнюю минуту (в байтах)
node_filesystem_avail_bytes – объем файловой системы, доступное для пользователей без полномочий root (в байтах)
node_load1 – средняя загрузка за минуту
Установка AlertManager
Alertmanager — обработчик уведомлений.
Создаем юнит для systemd:
nano/etc/systemd/system/alertmanager.service
[Unit] Description=Alertmanager for prometheus After=network.target [Service] User=alertmanager ExecStart=/usr/local/bin/alertmanager —config.file=/etc/alertmanager/alertmanager.yml —storage.path=/var/lib/alertmanager/ ExecReload=/bin/kill -HUP $MAINPID NoNewPrivileges=true ProtectHome=true ProtectSystem=full [Install] WantedBy=multi-user.target
Применение настроек и запуск alertmanager
systemctl daemon-reload systemctl start alertmanager systemctl status alertmanager
Веб-интерфейс alertmanager доступен по адресу http://ip_адрес_сервера:9093/
Установка Grafana
Grafana – инструмент визуализации данных.
Для получения Grafana переходим на https://grafana.com/grafana/download и скачиваем последнюю версию.
yum localinstall grafana-6.4.4-1.x86_64.rpm
Запускаем Grafana, добавляем в автозагрузку.
systemctl daemon-reload systemctl start grafana-server systemctl status grafana-server systemctl enable grafana-server.service
В веб-интерфейс Grafana можно попасть по адресу http://ip_адрес_сервера:3000/ По умолчанию учетные данные admin/admin. После входа можно установить новый пароль.
Переходим Configuration->Data Sourse->Prometheus и добавляем Prometheus.
Для установки dashboard’а (виджета) перейти в веб-интерфейсе Dashboards->Manage->Import.
Также необходимо зайти на https://grafana.com/grafana/dashboards, перейти на страницу dashboard’а. В поле «Get this dashboard» будет указан его ID, который необходимо вставить в Grafana в поле “Grafana.com Dashboard” (или скопировать и вставить url дашбоарда).
После этого подтвердить, нажав на “Import”.
В поле Datasourse дашбоарда 1 Node Exporter 0.18.x (Host Metrics) необходимо выбрать Prometheus
Телефонная книга CallMetrix
Корпоративный телефонный справочник для удобной связи между сотрудниками организации
Подписаться
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Остались вопросы?
Я — Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- Openfire
- Станции Avaya
- Станции Panasonic
- Станция FreeSwitch
VoIP оборудование
Fanvil X3S
3 900 рубFanvil X3S
2 990 рубFanvil X3S
2 990 рубFanvil X3S
2 990 рубFanvil X3S
2 990 рубFanvil X3S
2 990 руб
ближайшие курсы
Курсы по Asterisk
последняя неделя
каждого месяца
Записаться
Новые статьи
Возможности интеграции Asterisk с сервисом речевой аналитики imot.io
Траблшутинг сети и поиск узких мест с помощью IPerf
Источник: voxlink.ru