LINUX.ORG.RU

13
Всего сообщений: 44

Настройка алертов Prometheus для docker

Всем добрый день. Пытаюсь уже несколько дней настроить алерт на down контейнера и все четно. Если использовать правило absent(container_last_seen{container_label_com_docker_stack_namespace="prom-exp",container_label_com_docker_swarm_task_name=~"prom-exp.*"}) работает на ура, но нет информации о контейнере. Но если использовать (time() - container_last_seen{ container_label_com_docker_stack_namespace="prom-exp",container_label_com_docker_swarm_task_name=~"prom-exp_nginx-exp.*"}) > 20 правило не срабатывает или срабатывает 5 из 100 проверок. Просьба помочь или подсказать, как правильно настроить алерт.

 , ,

atel ()

вопросик по PromQL

Есть набор метрик типа summary

somthing_sum и somthing_count, допустим одна дает информацию о фремени выеполения команд, а другая о количестве комманд.

как построить выражение для графаны?

у меня что то бессмыссленное получается.

заранее спасибо!

 , ,

TolkoSprosit ()

мониторинг Java приложений

Я выяснил что приложения можно мониторить, для мониторинга предполагается использовать Prometheus+правила (rules), где бы посмотреть promql запросы для полезных и выжных параметров приложения?

спасибо

 ,

TolkoSprosit ()

Работа с памятью в go

premetheus по процессу отдаёт метрики:

go_memstats_heap_idle_bytes

go_memstats_heap_released_bytes

при этом эти значения около 13GB для сервера с 16GB RAM. $ps эту память включает в RSS процесса, так же как $free этих свободных 13GB не видит, нет её ни в кэше, ни в буферах. В meminfo эта память числится в Inactive(anon). Собственно вопрос, когда эта память станет реально доступной для ОС?

 ,

Viper ()

Prometheus

Всем доброго времени суток! Как темплейтированном или вообще в alert rules Prometheus указать для какой они ноды или сервиса? в доках не нашёл инфы по variables К примеру у меня есть alert rules для бэкэнда,MongoDB,для «железа», контейнеров (Docker), как prometheus будет различать где и к чему применять эти правила алертинга?

 , ,

functionX ()

Prometheus Alerts

Добрый день, Я новичок в Prometheus. Настроил мониторинг, перешел к алертам и попал в тупик.

Есть 2 группы оборудования. 1 - роутеры, 2 - серверы. Есть 2 файла с правилами. В каждом файле присутстывет правило для алерта при привышени времени отклика.

- alert: host_response_time_is_high_via_icmp
      expr: sum by (instance) (probe_icmp_duration_seconds) > 0.3
      for: 10s
      labels:
        severity: warning
      annotations:
        description: "Host {{ $labels.instance }} response time via icmp-protocol is very high ( >300ms ) for more than 1 minutes."
        summary: "Host {{ $labels.instance }} response time is {{ humanize $value}}s"

При тестировании, я меняю предел 300мс до значений чтоб алерт сработал. Когда я меняю для группы серверов, все равно обрабатывается группа с роутерами, соотвественно я получаю алерты для роутеров. Для группы серверов алерты (icmp) не приходят вообще. Что я делаю не так? Где туплю?

 ,

azubkov ()

Zabbix + Prometheus (exporter). Пропускаются данные

Здравствуйте, товарищи!

Ubuntu 18. Zabbix 5.0 + Postgres. Разные экспортеры прометея. Период опроса 1 минута.

Проблема: периодически появляются «пропуски» в сборе метрик. Данные собираются, обрабатываются, но потом может быть пропуск в 3,5,7минут, срабатывает триггер nodata на отсутствие данных с экспортеров. Затем само собой снова восстанавливается. Сбор восстанавливается, значения появляются.

При этом порт экспортера доступен. Повесил доп.проверку http на код 200. Она не алармит, т.е. сам экспортер доступен. И в ручном режиме он отдает данные, а вот заббикс почему-то не собирает их.

В логах вижу по одному из серверов :

32180:20201207:151616.064 item «MYSERVER:apache_exporter.get» became not supported: Cannot perform request: Connection timed out after 3000 milliseconds

32174:20201207:152413.715 item «MYSERVER:apache_exporter.get» became supported

в 15:16 ошибка получения данных, в 15:24 успех. И на графиках появляются пропуски. Сетевая недоступность отклоняется. С этого сервера prometheus собирает метрики по хостам и через графану все отображается корректно. Связь с экспортерами не пропадает.

Сам сервер. 4 vCPU, 8GB RAM, 200Gb SSD. Очереди пусты. Самодиагноситка заббикса показывает, что он не перегружен. Запас по пулам есть. Ссылка на скрины: https://yadi.sk/d/TVfg29DS95nc5A?w=1

Кто-нибудь сталкивался с подобным? В чем может быть дело?

 , ,

ProGK ()

Ищу админа Linux с технологиями DevOps: удаленка, офис в СПБ, зп до 180 net

Ищу системного администратора Linux с технологиями DevOps. Наш сисадмин сказал идти сюда)

  • Компания: Фотострана fotostrana.ru
  • Локация: Питер (м. Горьковская), можно работать удаленно из других городов
  • full-time, есть редкие дежурства из дома по графику
  • ЗП 120k - 180k net Для связи: Юля +79773318861 любой месенджер, y.eremeeva@getit.agency

Задачи:

  • Развертывание новых проектов на виртуальных серверах, автоматизация этого процесса
  • Поддержка текущих проектов
  • Администрирование баз данных
  • Администрирование серверов Linux и FreeBSD (400)
  • Поддержка внутренних пользователей (разработчиков проекта)
  • Оперативное реагирование и решение инцидентов

Требования: Писал сисадмин, а не я)) Список технологий, где 1 - не знакомы, 5 - уверенное владение (можете самостоятельно работать), 10 - пишете патчи, и их принимают в официальных сообществах: nginx - 5 apache - 5 php - 5 bash - 3 python - 3 mysql - 5 openldap - 2 jenkins - 3 teamcity - 3 gitlab ci/cd - 5 docker - 6 docker swarm - 6 prometheus - 6 alertmanager - 6 grafana - 6 aws/ya cloud - 3 ansible - 5 named - 3 syslog-ng - 5 clickhouse - 3

Условия:

  • белая ЗП до 180 net, ДМС, компенсация питания
  • фуллтайм, офис в СПб на Горьковской, можно работать удаленно, в т.ч. из другого города
  • все для твоего комфорта: массажное кресло, кикер, настолки, PS4, всевозможные закуски, фрукты, овощи и напитки без ограничений
  • регулярные поездки, походы, корпоративные праздники и вечеринки с пиццей

 , , , ,

puzenkin_offisial ()

Prometheus мониторинг медленных запросов к БД

Добрый день!

Подскажите как настроить prometheus.

Есть postgres_exporter ему заданы custom запросы которые долго выполняются.

В прометее для данного postgres_exporter стоит scrape_interval 60 минут, но прометей не может получить данные из postgres_exporter так как последний их долго отдает ( долго выполняются запросы, долго получаем ответ).

При этом если мы браузером идем напрямую в /metrics postgres_exporter данные формируются.

Получается что Prometheus просто не дожидается отдачи.

Какой параметр в сборе метрик прометея можно подкрутить чтоб он дожидался ответа postgres_exporter ?

 

SergHom ()

Высокий рост дискового пространства метрик Victoriametrics

Доброго дня! Подскажите, пожалуйста, наблюдаю высокий рост дискового пространства на VM от Victoriametrics за 5 дней 17GB это норм, можно ли как-нибудь оптимизировать под неё место?

 , , ,

troy856 ()

Мониторинг Prometheus

Доброго дня! Подскажите пожалуйста если в прометеях обрываются графики что это может быть? И как можно это посмотреть? Заранее спасибо!

 , ,

troy856 ()

Postgresql overview dashboard for postgres_exporter

Сделал dashboard Postgresql overview для postgres_exporter.

Чем отличается от других дашбородов postgres_exporter?

Я объединил все другие дашборды postgres_exporter в один.

Пока что это дашбор показывает общую информацию по кластеру.

Как руки дойдут, планирую сделать дашборд для информации по конретной БД внутри PostgreSQL.

В этом дашборде мне не хватает знаний в promql и postgresql.

Поэтому я надеюсь на то что вы мне поможете советом как улучшить дашборд или сделаете pull request.

Краткая инструкция по использованию.

PostgreSQL и Prometheus устанавливаем стандартно.

Postgres_exporter и Prometheus можно установить для Redhat систем из этого репозитория: https://github.com/lest/prometheus-rpm

Устанавливаем графану

Берем dashboard здесь

https://github.com/patsevanton/postgresql_overview_postgres_exporter

Почему то не могу экспортировать dashboard чтобы опубликовать его на grafana.com

Выходит такая ошибка:

Скриншоты

https://habrastorage.org/webt/e6/w-/p3/e6w-p3if6zw4kug1qi327uj8nqc.jpeg

https://habrastorage.org/webt/_j/nr/qr/_jnrqr7jzo5jmixsyudgblw9zte.jpeg

https://habrastorage.org/webt/dy/zm/nz/dyzmnzfmgnbs09kaawhjjfcrqrw.jpeg

https://habrastorage.org/webt/3f/sa/oo/3fsaoof3obeka8o0cjeiv2famcw.jpeg

https://habrastorage.org/webt/zg/me/xz/zgmexzb97zio0xcr4gvbnvyeoe0.jpeg

https://habrastorage.org/webt/xm/sd/4j/xmsd4jhin8-_a2ywmehg7ohir_8.jpeg

https://habrastorage.org/webt/km/sb/yc/kmsbycvyy5zpgphtlq8enzefob4.jpeg

https://habrastorage.org/webt/b0/yo/q-/b0yoq-rwfingvptkzqdrwsdzjvi.jpeg

https://habrastorage.org/webt/tr/81/ug/tr81ugngobhru0miibe7bgt4rp8.jpeg

https://habrastorage.org/webt/in/de/eu/indeeudff0os9fzdqdfhrpdboby.jpeg

P.S. похоже вот этот issue https://github.com/grafana/grafana/issues/20577

 , ,

chemtech ()

Как в prometheus вычесть из текущего счетчика commit счетчик commit за предыдущую минуту?

Тестирую https://github.com/wrouesnel/postgres_exporter

В postgresql статистика по commit суммируется в pg_stat_statement. Как в prometheus вычесть из текущего счетчика commit счетчик commit за предыдущую минуту?

Скрин где значение статистики из pg_stat_statement непрерывно растет https://habrastorage.org/webt/gk/0l/yh/gk0lyhc-afr26pedbcnar2f0vxi.png

 ,

chemtech ()

Prometheus, мониторинг запущенных docker контейнеров

Здравствуйте!
Прошу помощи в настройке правила для алертинга в prometheus.
Есть правило:

count(container_last_seen{instance="myhost.lan:8080",image!=""})
оно показывает количество запущенных docker контейнеров в текущий момент. При перезапуске(деплое) контейнера, правило срабатывает и создает ложный алерт.
Есть мысль сделать правило таким образом, чтобы высчитывалась разница между количеством запущенных контейнеров N минут назад и количеством в данный момент.
Вопрос: как получить количество запущенных docker контейнеров N минут назад?

 , ,

hetop ()

Имеет ли смысл делать topk(3, increase(pg_stat_statements_calls[10m])) в prometheus, если pg_stat_statements кумулятивный?

Статистика в PostgreSQL в таблице pg_stat_statements кумулятивная. То есть она накапливается и данные там суммируются. pg_stat_statements сбрасываю раз в сутки.

Имеет ли смысл делать такой запрос в prometheus

topk(3, increase(pg_stat_statements_calls{datname!~"template.*", datname!~"postgres", instance=~"$instance", datname=~"$datname"}[10m]))

?

Или лучше делать вот такой запрос в prometheus

topk(3, pg_stat_statements_calls{datname!~"template.*", datname!~"postgres", instance=~"$instance", datname=~"$datname"})

?

 ,

chemtech ()

Как вывести в таблицу queryid из запроса topk(5, sum by (datname,queryid) (increase(pg_stat_statements_mean_time_seconds... ?

Есть запрос в prometheus в postgres_exporter

topk(5, sum by (datname,queryid) (increase(pg_stat_statements_mean_time_seconds{datname!~"template.*", datname!~"postgres", instance=~"$instance", datname=~"$datname"}[1m])))

Таблица с запросом выглядит вот так

https://habrastorage.org/webt/x4/ej/jk/x4ejjkw4pzzocqmgk7zzmetlzuq.jpeg

Как вывести в таблицу queryid из этого запроса ?

 

chemtech ()

Как сделать более плавные графики в запросе topk(5, sum by (datname) (increase(pg_stat_statements_mean_time_seconds..... в prometheus ?

Есть запрос в prometheus в postgres_exporter

topk(5, sum by (datname) (increase(pg_stat_statements_mean_time_seconds{datname!~"template.*", datname!~"postgres", instance=~"$instance"}[1m]) > 10 ))

График с запросом выглядит вот так

https://habrastorage.org/webt/sb/4e/id/sb4eidbln70tbwbnnzekpdvlyxa.jpeg

Как сделать более плавные графики в запросе topk(5, sum by (datname) (increase(pg_stat_statements_mean_time_seconds….. в prometheus ?

 

chemtech ()

Как поправить запрос к prometheus для получения графика top-5 pg_database_size?

Делаю мониторинг по статье POWA-like мониторинг PostgreSQL с помощью Prometheus https://habr.com/ru/post/345370/

Запрос вот такой

pg_database_size{datname!~"template.*", datname!~"postgres", instance=~"$server", datname=~"$database"}/(1024*1024*1024)

Скриншот: https://habrastorage.org/webt/dt/kt/gv/dtktgvnkekh2vmtsrxea3w1h1ds.jpeg

Как поправить запрос к prometheus для получения графика top-5 pg_database_size?

Спасибо

 ,

chemtech ()

Мониторинг событий («роутер событий» по типу Alertmanager)

Приветствую.

Продолжаем цикл тупых вопросов по гетто-мониторингу подкроватного сервера.

С мониторингом как таковым всё в принципе понятно. Вот есть, допустим, стек Prometheus/Alertmanager. Он понятно как работает: Prometheus агрегирует метрики, прогоняет их через правила, генерирует level-triggered алерты и пушит их в Alertmanager. При этом Alertmanager, по существу, делает ровно две вещи: конвертирует level-triggered алерты в edge-triggered события и роутит их.

Мне нужна похожая тулза, только для произвольных событий. У меня есть много периодических (и апериодических) задач, каждую из которых я отдельно заворачиваю в | mailx, но так жить нельзя. Я бы хотел уметь как-то обобщённо рассылать себе уведомления об их окончании, причём необязательно на почту.

Первым делом я попробовал присобачить тот же Alertmanager, потому что у него есть огромное количество интеграций во всё что можно. Но он принципиально не подходит под эту задачу. Он by design ожидает, что ему на вход поступают level-triggered алерты, а он их дедуплицирует и делает edge detection. А в моём случае входы уже edge-triggered, и на каждый вход нужно отправить ровно один выход, не больше и не меньше.

Есть ли в мире какой-нибудь «роутер событий», похожий на Alertmanager, но без этой семантики edge detection?

 , , ,

intelfx ()

Необходимо привязать Grafana+Prometheus к urlam и установить к ним SSL

Добрый день! Имеется сервер xx.xx.xx.xx привязанный к домену domen_name. На сервере в докере крутится набор контейнеров grafana+prometheus+alertmanager+etc. Соответственно сервисы доступны по адресам: grafana:xx.xx.xx.xx:3000 prometheus:xx.xx.xx.xx:9090

Что я смог сделать:

Установить ssl через certbot на nginx, который привязан к домену domen_name.Но, как я выяснил ssl при обращении к domen_name:3000 / domen_name:9090 не прикручивается сам собой.

Вопрос:

Как мне прикрутить ssl к grafana,prometheus,alertmanager?Каждый сервис должен быть доступен в свою очередь по отдельному urlu.

 , , , ,

nomword ()