Пошаговая настройка kube-prometheus-stack для мониторинга kubernetes

Система мониторинга открытых источников PROMETHEUS Базовое введение и отображение приложений

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>yle=»margin-bottom:5px;»>Теги:  Другие  Prometheus  Grafana

PrometheusЭто система мониторинга службы с открытым исходным кодом Google, которая собирает данные обслуживания через протокол HTTP и сохраняется на локальных базах данных времени.

В качестве нового поколения систем мониторинга PROMETHEUS имеет следующие особенности:

  1. Многоценция модели данных: временные ряды определены и настройки ключа / значения по имени индикатора;

  2. PROMSQL: гибкий язык запроса, который может быть завершен с использованием многомерных данных;

  3. Не полагайтесь на распределенное хранилище, могут работать отдельные узлы;

  4. Данные временных серий коллекции на основе режима тяги HTTP;

  5. Поддержка вспомогательной последовательности на промежуточных шлюзах

  6. Обнаружение целей через открытие услуг или статической конфигурации

  7. Поддержка богатых графиков и приборной панели

Архитектура Prometheus

В зависимости от данных, сконфигурированных для вытягивания данных каждого узла в соответствии с синхронизацией конфигурации, точку также можно использовать в способе промежуточного шлюза PushGateway, и процесс фактически используемый, как правило, выясняет данные измерений для PROMETHEUS, используя экспортер (например, , mysqld_exporterer, redis_exporter и т. Д.). AlertManager используется для аварийных сигналов, а веб-интерфейс обычно использует Grafana.

Модель данных PROMETHEUS

Данные мониторинга, собранные PROMETHEUS, сохраняются в базе данных синхронизации в виде метрических показателей.TSDBсередина.

Метрический формат:

<metric name>{<label name>=<label value>, ...}

Пример:

api_http_requests_total{method="GET", handler="/index"}

Индикатор «api_http_requests_total«Указывает на общее количество первой страницы API через метод получения.

Метод установки

Prometheus

docker pull prom/prometheus
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

Grafana

docker pull grafana/grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana

Grafana предоставит нам стереоскопический мониторинг для нас в качестве источника данных, с мощными функциями приборной панели.

Благодаря этой системе с открытым исходным кодом мы можем легко завершить мониторинг ежедневных услуг, таких как Nginx, MySQL, Redis.

Сканируйте свой код, чтобы обратить внимание на моего публичное число, получите последнюю статью!

Интеллектуальная рекомендация

 …

1. Определите класс узла: 2. Класс реализации алгоритма: 3. Просмотрите двоичное дерево на следующем рисунке….

Последовательность развития 1. Создать сущность для реализации хозяйствующего субъекта. 2. Создайте IDAL для реализации интерфейса. 3. Создайте DAL для реализации методов в интерфейсе. 4. Увеличьте ин…

pinyin4j действительно сложно, вот простое приложение    …

Создать проект взломанная версия pycharm -> новый проект -> django. Project Interpreter использует среду New Virtualenv по умолчанию. settings.py Часовой пояс и язык Статические файлы Зарегистри…

Вам также может понравиться

1. Загрузите исходный код https://github.com/tzutalin/labelImg, После скачивания разархивируйте его. 2. Установите Python3.5. Не используйте 3.6! Не используйте 3.6! Не используйте 3.6! Пока что при в…

Я столкнулся с бизнес-сценарием в недавнем проекте: Перенесите таблицы из текущей базы данных в другую базу данных. Для обеспечения эффективности миграции требуется одновременная миграция данных. Для …

С развитием технологии виртуализации все больше и больше веб-проектов используют докер для развертывания и обслуживания. Мы попытались использовать docker-compose для организации веб-проекта, основанн…

После того, как язык задан, режим интерпретатора может определять представление его грамматики и одновременно предоставлять переводчика. Клиент может использовать этот интерпретатор для интерпретации …

Настройка Prometheus

Необходимо добавить задание в Prometheus для подключения к серверу Pushgateway и получения с него метрик. Это делается по такому же принципу, что и получение метрик с экспортеров.

Открываем конфигурационный файл:

vi /etc/prometheus/prometheus.yml

В секцию scrape_configs добавим задание:


scrape_configs:
  …
  — job_name: ‘pushgateway’
    honor_labels: true
    static_configs:
      — targets:

* в данном задании мы говорим серверу Prometheus забирать метрики с сервера localhost (локальный сервер) на порту 9091.

Для применения настроек перезапускаем сервис прометея:

systemctl restart prometheus

Проверяем, что сервис работает корректно:

systemctl status prometheus

Можно попробовать отправить метрики в Pushgateway.

Exporters

prometheus-node-exporter

  • В Debian ставится как зависимость к пакету prometheus и добавлен в конфигурацию

Примеры счетчиков

node_filesystem_free_bytes
$ df /
...
/dev/mapper/debian--vg-root  15662008 1877488  12969212  13% /
...
# TYPE node_filesystem_free_bytes gauge
node_filesystem_free_bytes{device="/dev/mapper/debian--vg-root",fstype="ext4",mountpoint="/"} = (15662008 - 1877488) * 1024 
node_network_receive_bytes_total
$ cat /sys/class/net/eth1/statistics/rx_bytes

# TYPE node_network_receive_bytes_total counter
node_network_receive_bytes_total{device="eth1"}

Подключение к prometheus

# less /etc/prometheus/prometheus.yml
...
  - job_name: node
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    static_configs:
      - targets: 

Запросы PromQL

8*rate(node_network_receive_bytes_total)

8*rate(node_network_receive_bytes_total{device="eth1"})

8*rate(node_network_receive_bytes_total{device="eth1",instance="localhost:9100",job="node"})

prometheus-blackbox-exporter

# apt install prometheus-blackbox-exporter

Пример конфигурации

# cat /etc/prometheus/blackbox.yml
...
  http_2xx:
    prober: http
    http:
      preferred_ip_protocol: "ip4"
...
# service prometheus-blackbox-exporter restart

# cat /etc/prometheus/prometheus.yml
...
  - job_name: check_http
    metrics_path: /probe
    params:
      module: 
    static_configs:
      - targets:
        - https://google.com
        - https://ya.ru
    relabel_configs:
      - source_labels: 
        target_label: __param_target
      - source_labels: 
        target_label: instance
      - target_label: __address__
        replacement: localhost:9115

  - job_name: check_ssh
    metrics_path: /probe
    params:
      module: 
    static_configs:
      - targets:
        - switch1:22
        - switch2:22
        - switch3:22
    relabel_configs:
      - source_labels: 
        target_label: __param_target
      - source_labels: 
        target_label: instance
      - target_label: __address__
        replacement: localhost:9115
probe_success...

probe_duration_seconds...

probe_http_duration_seconds...

Пример использования file-based service discovery и сервиса ping

# cat /etc/prometheus/prometheus.yml
...
  - job_name: check_ping
    metrics_path: /probe
    params:
      module: 
    file_sd_configs:
      - files:
#        - switchs.yml
#        - switchs.json
    relabel_configs:
      - source_labels: 
        target_label: __param_target
      - source_labels: 
        target_label: instance
      - target_label: __address__
        replacement: localhost:9115
# cat /etc/prometheus/switchs.json
  }
]
# cat /etc/prometheus/switchs.yml
- targets:
  - switch1
  - switch2
  - switch3

Проверка конфигурации и перезапуск

prometheus-snmp-exporter

# apt install prometheus-snmp-exporter

# cat /etc/prometheus/snmp.yml
#if_mib:   # по умолчанию, позволяет не указывать module в http запросе
snmp_in_out_octets:
  version: 2
  auth:
    community: public
  walk:
  - 1.3.6.1.2.1.2.2.1.10
  - 1.3.6.1.2.1.2.2.1.16
  - 1.3.6.1.2.1.2.2.1.2
  metrics:
  - name: if_in_octets
    oid: 1.3.6.1.2.1.2.2.1.10
    type: counter
    indexes:
    - labelname: ifIndex
      type: Integer
    lookups:
    - labels:
      - ifIndex
      labelname: ifDescr
      oid: 1.3.6.1.2.1.2.2.1.2
      type: DisplayString
  - name: if_out_octets
    oid: 1.3.6.1.2.1.2.2.1.16
    type: counter
    indexes:
    - labelname: ifIndex
      type: Integer
    lookups:
    - labels:
      - ifIndex
      labelname: ifDescr
      oid: 1.3.6.1.2.1.2.2.1.2
      type: DisplayString
# service prometheus-snmp-exporter restart

http://server.corpX.un:9116/

# curl --noproxy 127.0.0.1 'http://127.0.0.1:9116/snmp?target=router&module=snmp_in_out_octets'
# cat /etc/prometheus/prometheus.yml
...
  - job_name: 'snmp'
    static_configs:
      - targets:
        - router
    metrics_path: /snmp
    params:
      module: 
    relabel_configs:
      - source_labels: 
        target_label: __param_target
      - source_labels: 
        target_label: instance
      - target_label: __address__
        replacement: localhost:9116

Проверка конфигурации и перезапуск

rate(if_in_octets{ifDescr="FastEthernet1/1",ifIndex="3",instance="router",job="snmp"})

8*rate(if_in_octets{ifDescr="FastEthernet1/1",instance="router"})

DevOps

Со всеми этими экспортерами для разных систем, баз данных и серверов очевидно, что Prometheus предназначен, в основном, для сферы DevOps.

Мы знаем, что в этой сфере множество конкурирующих поставщиков и персонализированных решений.

Prometheus идеально подходит для DevOps.

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

Благодаря обнаружению целевых объектов — например, через файловый экспортер, —это отличное решение для стеков, где широко используются контейнеры и распределенные архитектуры.

В среде, где экземпляры то и дело создаются и удаляются, ни один стек DevOps не обойдется без обнаружения сервисов.

2. Здравоохранение

Сегодня решения для мониторинга нужны не только в ИТ. Они используются и в крупных отраслях, которые предоставляют гибкие и масштабируемые архитектуры для здравоохранения.

Спрос растет, и ИТ-архитектуры обязаны ему соответствовать. Если у вас нет надежного инструмента для мониторинга всей инфраструктуры, вы рискуете столкнуться с серьезными перебоями в обслуживании. Уж в сфере здравоохранения такую опасность точно надо свести к минимуму.

Этот пример обсуждался на opensource.com в следующей статье.

3. Финансовые услуги

Последний пример приводился на конференции InfoQ, где обсуждалось использование Prometheus в финансовых учреждениях.

Джейми Кристиан (Jamie Christian) и Алан Стрейдер (Alan Strader) показывали, как они используют Prometheus для мониторинга своей инфраструктуры в Northern Trust. Очень содержательно, советую посмотреть.

Часть X. Что дальше?

Пора переходить от теории к практике.

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

Теперь у вас есть все необходимое, чтобы создать свое решение для мониторинга.

Чтобы приступить к работе с Prometheus, изучите все доступные экспортеры.

Потом установите нужные инструменты, создайте свою первую панель мониторинга — и вперед!

Если вам нужно вдохновение, почитайте мою статью о том, как мониторить машину Linux с Prometheus и Grafana. Там есть инструкции по настройке инструментов и первой панели мониторинга.

Надеюсь, вы узнали что-то новое.

Если у вас есть тема для моей следующей статьи, поделитесь.

Счастливо оставаться!

Prometheus

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

Загрузка

Пере­хо­дим на офи­ци­аль­ную стра­ни­цу загруз­ки и копи­ру­ем ссыл­ку на пакет для Linux:

и исполь­зу­ем ее для загруз­ки паке­та на Linux:

wget https://github.com/prometheus/prometheus/releases/download/v2.17.2/prometheus-2.17.2.linux-amd64.tar.gz

* если систе­ма вер­нет ошиб­ку, необ­хо­ди­мо уста­но­вить пакет wget.

Установка (копирование файлов)

После того, как мы ска­ча­ли архив prometheus, необ­хо­ди­мо его рас­па­ко­вать и ско­пи­ро­вать содер­жи­мое по раз­ным каталогам.

Для нача­ла созда­ем ката­ло­ги, в кото­рые ско­пи­ру­ем фай­лы для prometheus:

mkdir /etc/prometheus

mkdir /var/lib/prometheus

Рас­па­ку­ем наш архив:

tar zxvf prometheus-*.linux-amd64.tar.gz

… и перей­дем в ката­лог с рас­па­ко­ван­ны­ми файлами:

cd prometheus-*.linux-amd64

Рас­пре­де­ля­ем фай­лы по каталогам:

cp prometheus promtool /usr/local/bin/

cp -r console_libraries consoles prometheus.yml /etc/prometheus

Назначение прав

Созда­ем поль­зо­ва­те­ля, от кото­ро­го будем запус­кать систе­му мониторинга:

useradd —no-create-home —shell /bin/false prometheus

* мы созда­ли поль­зо­ва­те­ля prometheus без домаш­ней дирек­то­рии и без воз­мож­но­сти вхо­да в кон­соль сервера.

Зада­ем вла­дель­ца для ката­ло­гов, кото­рые мы созда­ли на преды­ду­щем шаге:

chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

Зада­ем вла­дель­ца для ско­пи­ро­ван­ных файлов:

chown prometheus:prometheus /usr/local/bin/{prometheus,promtool}

Запуск и проверка

Запус­ка­ем prometheus командой:

/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

… мы уви­дим лог запус­ка — в кон­це «Server is ready to receive web requests»:

level=info ts=2019-08-07T07:39:06.849Z caller=main.go:621 msg=»Server is ready to receive web requests.»

Откры­ва­ем веб-бра­у­зер и пере­хо­дим по адре­су http://<IP-адрес сервера>:9090 — загру­зит­ся кон­соль Prometheus:

Уста­нов­ка завершена.

Автозапуск

Мы уста­но­ви­ли наш сер­вер мони­то­рин­га, но его необ­хо­ди­мо запус­кать вруч­ную, что совсем не под­хо­дит для сер­вер­ных задач. Для настрой­ки авто­ма­ти­че­ско­го стар­та Prometheus мы созда­дим новый юнит в systemd.

Воз­вра­ща­ем­ся к кон­со­ли сер­ве­ра и пре­ры­ва­ем рабо­ту Prometheus с помо­щью ком­би­на­ции Ctrl + C. Созда­ем файл prometheus.service:

vi /etc/systemd/system/prometheus.service

Description=Prometheus Service
After=network.target

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
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

WantedBy=multi-user.target

Пере­чи­ты­ва­ем кон­фи­гу­ра­цию systemd:

systemctl daemon-reload

Раз­ре­ша­ем автозапуск:

systemctl enable prometheus

После руч­но­го запус­ка мони­то­рин­га, кото­рый мы дела­ли для про­вер­ки, мог­ли сбить­ся пра­ва на пап­ку биб­лио­тек — сно­ва зада­дим ей владельца:

chown -R prometheus:prometheus /var/lib/prometheus

Запус­ка­ем службу:

systemctl start prometheus

… и про­ве­ря­ем, что она запу­сти­лась корректно:

systemctl status prometheus

Процессор

Для получения нужных нам показателей будем использовать метрику node_cpu_seconds_total.

Количество процессоров

1. Общее количество всех процессоров всех узлов:

sum(count(node_cpu_seconds_total{mode=’system’}) by (cpu))

2. Для некоторых инстансов:

sum(count(node_cpu_seconds_total{instance=~’192.168.0.15:9100|192.168.0.20:9100′,mode=’system’}) by (cpu))

* для 192.168.0.15 и 192.168.0.20.

3. По отдельности:

count(node_cpu_seconds_total{mode=’system’}) by (instance)

Нагрузка

1. На все ядра всех узлов:

(irate(node_cpu_seconds_total{job=»node_exporter_clients»,mode=»idle»})) * 100

100 — ((irate(node_cpu_seconds_total{job=»node_exporter_clients»,mode=»idle»})) * 100)

* первый запрос для отображения процента свободного процессорного времени, второй — процент утилизации.

Пример ответа:

{cpu=»0″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.6000000238418579
{cpu=»0″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.9999999403953552
{cpu=»1″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.6000000238418579
{cpu=»1″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 1.5999999642372131
{cpu=»2″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.8000000193715096
{cpu=»2″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.8000001311302185
{cpu=»3″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 1.0000000149011612
{cpu=»3″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.6000000238418579
{cpu=»4″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.19999999552965164
{cpu=»4″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.2000001072883606
{cpu=»5″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.40000002831220627
{cpu=»5″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.3999999165534973
{cpu=»6″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.6000000238418579
{cpu=»6″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.2000001072883606
{cpu=»7″, instance=»192.168.0.15:9100″, job=»node_exporter_clients», mode=»idle»} 0.19999999552965164
{cpu=»7″, instance=»192.168.0.20:9100″, job=»node_exporter_clients», mode=»idle»} 0.3999999165534973

2. Средняя величина по ядрам для всех узлов:

avg by (instance)(irate(node_cpu_seconds_total{job=»node_exporter_clients»,mode=»idle»})) * 100

100 — (avg by (instance)(irate(node_cpu_seconds_total{job=»node_exporter_clients»,mode=»idle»})) * 100)

* первый запрос для отображения процента свободного процессорного времени, второй — процент утилизации.

Пример ответа:

{instance=»192.168.0.15:9100″} 0.7999999960884452
{instance=»192.168.0.20:9100″} 0.9500000253319598

3. Средняя величина по ядрам для конкретного узла:

avg by (instance)(irate(node_cpu_seconds_total{instance=»192.168.0.15:9100″,job=»node_exporter_clients»,mode=»idle»})) * 100

100 — (avg by (instance)(irate(node_cpu_seconds_total{instance=»192.168.0.15:9100″,job=»node_exporter_clients»,mode=»idle»})) * 100)

* первый запрос для отображения процента свободного процессорного времени, второй — процент утилизации.

Пример ответа:

{instance=»192.168.0.15:9100″} 1.100000003352747

Время ожидания

Запрос показывает значение в процентном эквиваленте для времени ожидания процессора. На практике, идеально, когда он равен нулю.

1. Среднее значение за 30 минут для всех узлов:

avg(irate(node_cpu_seconds_total{mode=»iowait»})) * 100

2. Для конкретного узла:

avg(irate(node_cpu_seconds_total{instance=~»192.168.0.15:9100|192.168.0.20:9100″,mode=»iowait»})) * 100

3. Отдельно по каждой ноде:

irate(node_cpu_seconds_total{mode=»iowait»}) * 100

Отправка уведомлений

Теперь настроим связку с алерт менеджером для отправки уведомлений на почту.

Настроим alertmanager:

vi /etc/alertmanager/alertmanager.yml

В секцию global добавим:

global:
  …
  smtp_from: monitoring@dmosk.ru

Приведем секцию route к виду:

… далее добавим еще один ресивер:

* в данном примере мы отправляем сообщение на почтовый ящик alert@dmosk.ru с локального сервера

Обратите внимание, что для отправки почты наружу у нас должен быть корректно настроенный почтовый сервер (в противном случае, почта может попадать в СПАМ)

Перезапустим сервис для алерт менеджера:

systemctl restart alertmanager

Теперь настроим связку prometheus с alertmanager — открываем конфигурационный файл сервера мониторинга:

vi /etc/prometheus/prometheus.yml

Приведем секцию alerting к виду:

alerting:
  alertmanagers:
  — static_configs:
    — targets:
      — 192.168.0.14:9093

* где 192.168.0.14 — IP-адрес сервера, на котором у нас стоит alertmanager.

Перезапускаем сервис:

systemctl restart prometheus

Немного ждем и заходим на веб интерфейс алерт менеджера — мы должны увидеть тревогу:

… а на почтовый ящик должно прийти письмо с тревогой.

Installing Alertmanager

Start off by creating a seperate user for alertmanager:

useradd -M -r -s /bin/false alertmanager

Next, we need a directory for the configuration:

mkdir /etc/alertmanager
chown alertmanager:alertmanager /etc/alertmanager

Then download Alertmanager and verify its integrity:

cd /tmp
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
wget -O - -q https://github.com/prometheus/alertmanager/releases/download/v0.21.0/sha256sums.txt | grep linux-amd64 | shasum -c -

The last command should result in . If it doesn’t, the downloaded file is corrupted, and you should try again.

Next we unpack the file and move the various components into place:

tar xzf alertmanager-0.21.0.linux-amd64.tar.gz
cp alertmanager-0.21.0.linux-amd64/{alertmanager,amtool} /usr/local/bin/
chown alertmanager:alertmanager /usr/local/bin/{alertmanager,amtool}

And clean up our downloaded files in /tmp:

rm -f /tmp/alertmanager-0.21.0.linux-amd64.tar.gz
rm -rf /tmp/alertmanager-0.21.0.linux-amd64
global:
  smtp_from: 'AlertManager <alertmanager@example.com>'
  smtp_smarthost: 'smtp.example.com:587'
  smtp_hello: 'alertmanager'
  smtp_auth_username: 'username'
  smtp_auth_password: 'password'
  smtp_require_tls: true

route:
  group_by: 
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver: myteam

receivers:
  - name: 'myteam'
    email_configs:
      - to: 'user@example.com'

Save this in a file called and set permissions:

chown alertmanager:alertmanager /etc/alertmanager/alertmanager.yml

To be able to start and stop our alertmanager instance, we will create a systemd unit file. Use you favorite editor to create the file and add the following to it (replacing with the IP or resolvable FQDN of your server):


Description=Alertmanager
Wants=network-online.target
After=network-online.target


User=alertmanager
Group=alertmanager
Type=simple
WorkingDirectory=/etc/alertmanager/
ExecStart=/usr/local/bin/alertmanager \
    --config.file=/etc/alertmanager/alertmanager.yml \
    --web.external-url http://<server IP>:9093


WantedBy=multi-user.target

Activate and start the service with the following commands:

systemctl daemon-reload
systemctl start alertmanager
systemctl enable alertmanager

The command should now indicate that our service is up and running:

Now we need to alter the configuration of our Prometheus server to inform it about our Alertmanager instance. Edit the file . There should already be a section. All we need to do change the section so it looks like this:

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
       - localhost:9093

We also need to tell Prometheus where our alerting rules live. Change the section to look like this:

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - "/etc/prometheus/rules/*.yml"

Save the changes, and create the directory for the alert rules:

mkdir /etc/prometheus/rules
chown prometheus:prometheus /etc/prometheus/rules

Restart the Prometheus server to apply the changes:

systemctl restart prometheus
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: