Pull to refresh

Comments 17

Скажите, чем лучше/хуже решение на Prometheus такого же, но построенного на Zabbix?

Как минимум могу сказать, что у Zabbix ад с графиками и дашбордами.

Тема очень актуальная. Не хватает ссылку на оригинал. Может кто-нибудь подскажет где получить эти шаблоны панели управления, на grafana.net я не нашёл.
Ссылка на оригинал — внизу поста. Или вот: https://stefanprodan.com/2016/a-monitoring-solution-for-docker-hosts-containers-and-containerized-services/
премного благодарен!
Шаблоны вот тут:
https://grafana.net/dashboards

За статью спасибо. Развернул — нравится. Очень порадовало что есть шаблон для БД Cassandra. Осталось собрать docker-compose с кассандрой.
UFO just landed and posted this here
Спасибо за статью! А возможно ли также быстро и красиво настроить мониторинг каждого контейнера?
Для каждого контейнера свой дашборд? А зачем? Посмотрите в сторону Multi-select http://docs.grafana.org/reference/templating, можно просто отфильровать на общем дашборде нужный вам контейнер
Вы, везде над скринами пишете «Панель управления», на самом деле это «Панель мониторинга» или ещё проще «Dashboard».
Хотелось бы добавить что данное решение легко модифицируется для организации быстрого мониторинга БД Cassandra (а значит чего угодно, что может мониторить связка prometheus/grafana)
Рецепт для касандры:
Я взял докер кассандры с интегрированным java-агентом для прометеуса вот отсюда: https://github.com/argussecurity/docker-cassandra-prometheus/blob/master/Dockerfile

В докерфайле изменил только версию кассандры на 3.9 и в последней строке заменил переменную ${PROMETHEUS_PORT:-31500} на статическую 7070
После модифицировал файл docker-compose.yml.
В моем случае добавился следующий раздел:
cassandra:
image: cassandra-prometheus
container_name: cassandra-nod1
restart: unless-stopped
environment:
— CASSANDRA_BROADCAST_ADDRESS=192.168.ваш.параметр
volumes:
— /etc/cassandra
expose:
— 7000
— 7001
— 7070
— 7199
— 9042
— 9160
ports:
— 7000:7000
— 7001:7001
— 7070:7070
— 7199:7199
— 9042:9042
— 9160:9160

networks:
— monitor-net

И в prometheus.yml добавил:

— job_name: 'cassandra'
scrape_interval: 10s
static_configs:
— targets: ['cassandra-nod1:7070']

После этого по сценарию из поста добавил шаблон для кассандры.
Всё.
Тут ещё в Grafana алерты обещают завести. Сегодня бета релизнулась http://grafana.org/blog/2016/11/09/grafana-4.0-beta-release/

Спустя три года — алерты в графане использовать — плохой тон.
Они великолепны, если есть юзер, который вообще не умеет в прометеус-алертменеджер, и нужно слепить алертилку быстро. Но дальше начинаются недостатки:


  1. сложные алерты не построишь
  2. если нужен алерт по шаблонизированному дашборду — до свидания, не работает
  3. если нужен алерт по метрике, который нет на панели типа график — тоже мимо, приходится делать фейковые панели, в которые никто никогда не будет смотреть.
А кто-нибудь может подсказать, как защитить cAdvisor и NodeExporter от доступа из вне. Они ведь в данной конфигурации работают в хостовой сети и у каждого есть веб-интерфейс. Т.е. кто угодно может зайти по IP сервера на нужный порт и увидеть метрики которые выгружаются. Посмотреть на все запущеные на хосте контейнеры…

публикуйте на 127.0.0.1 (если сбор метрик на хосте локален). Или закрывайте nginx с basic auth.

ALERT monitor_service_down
IF up == 0
FOR 30s
LABELS { severity = "critical" }
ANNOTATIONS {
summary = "Monitor service non-operational",
description = "{{ $labels.instance }} service is down.",
}

А почему не такой синтаксис:


  - alert: Watchdog
    expr: vector(1)
    for: 10m
    labels:
      severity: warning
    annotations:
      description: 'This is an alert meant to ensure that the entire alerting pipeline is functional.
        This alert is always firing, therefore it should always be firing in Alertmanager
        and always fire against a receiver. There are integrations with various notification
        mechanisms that send a notification when this alert is not firing. For example the
        "DeadMansSnitch" integration in PagerDuty.'
      summary: 'Ensure entire alerting pipeline is functional'
Sign up to leave a comment.