Ad Widget

Collapse

Прошу помощи с пониманием концепции сервисов в Заббиксе

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • omgiafs
    Junior Member
    • Dec 2017
    • 12

    #1

    Прошу помощи с пониманием концепции сервисов в Заббиксе

    Добрый день.

    Прошу помощи в понимании выстраивания сервисов в Заббиксе.
    У меня возникают затруднения именно концептуального характера, особенно при попытке увязать зависимости сервисов и состояния триггеров на хостах.
    Т.е. не могу представить мониторинга сервиса в таком виде, чтобы по источнику проблемы техническому специалисту было понятно, в чём конкретно проблема. Это вроде бы и есть основной смысл мониторинга сервисов.
    Конечная цель: Сервис, состояние и причины проблем которого понятны как менеджерам, так и техническим специалистам.

    TL;DR: Как построить зависимость сервисов таким образом, чтобы состояние сервиса А зависело от состояния сервиса Б и от проблем с сервисом А?


    Упрощённая схема сервиса на рисунке ниже.
    Ноды и фронт - отдельные узлы, опрашиваются прокси-серверами, проверки внешние с точки зрения узлов Заббикса (тип элементов данных - HTTP-агент).
    Click image for larger version  Name:	mail.png Views:	0 Size:	81.5 KB ID:	482091




    Оценка состояния сервиса:
    При отказе одной из нод сервис качество сервиса деградирует, но он работоспособен.
    Точка входа - фронт, при проблеме с доступностью фронта сервис не предоставляется, вне зависимости от состояния нод.

    Для простоты примем, что интересует работа сервиса MS Exchange OWA (помимо MAPI, EWS, AutoDiscover, MS-ActiveSync). Сервис OWA, как и все вышеперечисленные, зависит от работы HTTP-сервера на нодах и доступности HTTP на фронтенде.

    На нодах бэка и на фронте используются триггеры "HTTP unavailable" и "OWA unavailable".
    "OWA unavailable" зависит от "HTTP unavailable", т.е. при недоступности HTTP проблема по триггеру OWA будет подавлена.

    С технической точки зрения всё замечательно, для персонала сразу понятно где и в чём проблема, если просто наблюдать за узлами Заббикса.

    Затруднения возникают при попытке перевода мониторинга в плоскость мониторинга сервиса (услуги).
    С технической точки зрения OWA зависит от HTTP, т.е. недоступен HTTP - недоступен и OWA.
    Вот именно тут и возникает проблема при выстраивании зависимостей сервисов.

    Вариант 1:

    Click image for larger version  Name:	1.png Views:	0 Size:	5.5 KB ID:	482092

    В этом случае теги проблем можно указать только для HTTP, как для сервиса самого нижнего уровня. Если HTTP недоступен, то состояние сервиса OWA будет оцениваться корректно.
    Если HTTP доступен, а OWA - не доступен, то в данном случае определить это по тегам проблем невозможно, если проблема с HTTP не содержит теги, указывающие на проблемы с OWA. Но чисто логически тегировать проблемы с HTTP проблемами, не относящимися конкретно к HTTP - это неправильно.

    Ещё тут такое замечание. С точки зрения Заббикса в данной схеме HTTP является "дочерним" по отношению к HTTP, т.е. состояние HTTP влияет на OWA.
    Но технически всё ровно наоборот: OWA является "дочерним" по отношению к HTTP, т.к. работает поверх него. Если хотите, это 7+ уровень модели OSI.


    Вариант 2:

    Click image for larger version  Name:	2.png Views:	0 Size:	8.6 KB ID:	482093

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

    В моём понимании представление сервиса не должно логически различаться с представлением его технических аспектов. Т.е. если OWA зависит от HTTP технически, то и логически в сервисе это должно быть отображено именно как зависимость.

    Проблема реализации состоит в том, что состояние OWA зависит как от HTTP, так и от доступности OWA. Т.е. сервис OWA должен оцениваться как по состоянию дочернего сервиса HTTP, так и по состоянию тегов проблем с OWA, что в Заббиксе невозможно в рамках одного сервиса.

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

    Click image for larger version  Name:	3.png Views:	0 Size:	3.7 KB ID:	482094
    Как быть, что делать? В чём моя ошибка в понимании концепции сервисов Заббикса?
    Не стоит пытаться смешивать бизнес-логику и техническое представление? Тогда как на основе состояния сервисов алертить технарям? Или же технарям нужно алертить не по сервису, а по проблемам из триггеров?
    Тогда "услуги" - это только для бизнеса и технарям вообще про это знать не нужно?

    Я вижу свою проблему именно тут - не уловил сути решения, поэтому все мои решения выглядят сложными, и к тому же не работают. Красота в простоте.
    Last edited by omgiafs; 10-04-2024, 03:27.
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #2
    Что-то я старым стал, не уловил сути. Запутался, т.е. Но описано - классно.
    Насколько я понимаю, данные о работе сервиса OWA получаются через HTTP и в этом именно и загвозка?
    Отсюда следует, что данные о работе OWA надо получать другим способом, минуя HTTP. Если есть доступ к серверу, то логи-процессы etc. Если доступа нет, то по косвенным признакам: доступность порта.
    Также можно посмотреть как формируются "доступность" и недоступность" сервера по HTTP: возвращается ошибка или таймаут.

    Comment

    • omgiafs
      Junior Member
      • Dec 2017
      • 12

      #3
      Originally posted by Alex_UUU
      Насколько я понимаю, данные о работе сервиса OWA получаются через HTTP и в этом именно и загвозка?
      OWA, как и все остальные службы MS Exchange, работают поверх HTTP. Т.е. если веб-сервер лежит, то бесполезно ждать, что сервисы Outlook будут работать. Т.е. (в частности) OWA зависит от HTTP.

      Тем не менее, спасибо за ответ.
      По прошествии времени, анализе ситуации и опросе коллег на смежных предприятиях стало понятно, что Заббикс в нынешнем его виде может реализовывать только достаточно простые (или недостаточно подробные, если хотите) сценарии мониторинга сервисов. Т.е. либо для технарей (тут триггеров хватает, сервисы тут излишни), либо верхнеуровневые метрики для бизнеса. Выстроить бесшовную цельную схему сервиса от железа не бэкенде и протоколов связи до бизнес-метрик не получится. Просто констатирую факт.
      Возможно кстати, что пытаться так делать и вовсе не нужно, но я пока не встречал убедительных контраргументов. В том числе за ними сюда и пришёл.

      Comment

      • DimOriN
        Junior Member
        • Apr 2024
        • 15

        #4
        PRTG так умеет?

        Comment

        Working...