Как стать автором
Обновить

Комментарии 12

Какие еще метрики может эта сборка мониторить? Как она спасёт от "ваш IP адрес оказался в черном списке, при этом внутренняя почта продолжает работать и нет никаких признаков, что существует проблема " ?

Добрый день.

Отвечу сначала на второй вопрос.

Напрямую, описанный способ мониторинга, никак не защитит вас от попадания вашего IP в черный список.

Но, например, вы можете добавить в мониторинг метрики очереди сообщений в Exchange.

Для Exchange 2010 есть счетчик "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)", который показывает общее количество сообщений запланированных на доставку во всех очередях.

В Exchange 2013 этот счетчик называется "\msexchangetransport queues(_total)\messages queued for delivery"

Если ваш сервер будет испытывать проблемы с отправкой сообщений на внешние сервера, то этот счетчик начнет сильно расти, что косвенно может означать, например, что удаленный сервер не принимают запрос на подключение от вашего сервера. И одна из возможных причин — это как раз попадание в черный список.

 

Что касается метрик, которые можно мониторить.

Агент Telegraf позволяет собирать любые метрики, которые доступы с помощью механизма Performance Counters.

Самые основные разделы и метрики (Active Directory Domain Controller, DFS, DNS, IIS, .NET), немного описаны в документации Telegraf https://github.com/influxdata/telegraf/blob/release-1.20/plugins/inputs/win_perf_counters/README.md

Относительно темы стати и мониторинга Exchange, рекомендую посмотреть вот эту статью на сайте Microsoft, в ней более детально описываются метрики относящиеся к Exchange.

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

Добрый день.
Я бы сказал, что основное преимущество такого решения - его гибкость.
Приведу пример.
В моем случае "почтовый сервис" состоял не только из одного Exchange Server. Вместе с ним использовался Cisco Email Security Appliance (ESA), который стоял перед Exchange и отвечал за прием и отправку сообщений на внешние сервера и проверку их на СПАМ.
Так вот, имея в своем распоряжении сервер с Grafana, довольно просто получилось добавить на один дашборд метрики с двух совершенно разных систем Exchange и ESA.
ESA отдает метрики через HTTP в формате XML. Если кому-то будет интересно, как я их добавил в Grafana, могу рассказать.

Решение, конечно, интересное. Но почему не воспользоваться обычным Zabbix? На него ведь можно будет в будущем и другие сервера для мониторинга повесить, не только Windows. И ту же Grafana можно использовать для красивых графиков.

Добрый день..
Согласен с вами, Zabbix - очень мощная система и вполне подошла бы для решения этой задачи. На тот момент, когда искал решения для мониторинга, показалось что Grafana + InfluxDB будут более "легковесной" связкой. Хотя это только на уровне ощущений, производительность и потребление серверных ресурсов я не сравнивал.

Если речь идет именно про мониторинг здоровья Exchange, то нельзя не упомянуть встроенные средства мониторинга из подсистемы Managed Availability, как то HealthSet, Probes, Monitors... и соответствующие команды, которые показывают здоровье сервера: Get-HealthReport, Get-ServerHealth ... Правда очень мало информации по использованию этого дела и не просто прикрутить это к внешним системам. У меня именно через Get-ServerHealth мониторятся сервера, и это более информативнее в разрезе внутреннего взаимодействия компонентов сервера, чем через стандартные счетчики...

Кроме этого системные журналы Exchange содержат очень много важной информации по здоровью, которые тоже очень полезно мониторить...

Спасибо за полезные замечания.
А можете рассказать подробнее как вы используете Get-ServerHealth, как отслеживаете вывод этой команды?

Если вкратце, то анализируется вывод команды, возможны три состояния каждого сенсора: disabled, healty и unhealty. В нормально работающей системе состояний unhealty быть не должно... Но, например, в exchange2016 есть несколько сенсоров (на текущий момент у меня 4), которые всегда unhealty. Microsoft это объясняет by design. Чтобы они не мешали в мониторинге, их можно перевести в статус disabled командой Add-ServerMonitoringOverride, но максимум ровно на 1 год.

Далее в любой системе мониторинга с определенной периодичностью отслеживаем количество сенсоров в статусе unhealty, которое должно быть всегда равно нулю. Если оно изменилось, значит что-то отвалилось из компонентов сервера и надо разбираться. У меня сразу показывается отвалившийся сенсор и его healthset. А далее гуглим сенсор и думаем как это править.

но максимум ровно на 1 год.

Вот это костыль..

Добрый день.

Вот решил попробовать ваш способ. Делал все как в статье написано. Дошел до тестового запуска агента Telegraf. запустил команду в PowerShell и мне выдает ошибку "E! [telegraf] Error running agent: Error loading config file telegraf.conf: invalid configuration, error parsing agent table". И не могу нигде найти решение этой проблемы!! Не могу понять что не так. Ведь делал как у вас в статье написано!! Вы не подскажете в чем может быть дело?

Вот содержимое файла Telegraf.conf:

[[agent]] i

nterval = "5s"

round_interval = true

metric_batch_size = 1000

metric_buffer_limit = 10000

collection_jitter = "0s"

flush_jitter = "0s"

precision = ""

[[outputs.influxdb_v2]]

## The URLs of the InfluxDB cluster nodes.

##

## Multiple URLs can be specified for a single cluster, only ONE of the

## urls will be written to each interval.

## urls exp: http://127.0.0.1:9999

urls = ["http://192.168.32.15:8086"]

## Token for authentication.

token = "awtpUlCvBZw-XLTzSKRTsgYZng763A2EiDeTQko2bdZH00Nv_NgJxWsVQlv02j7DVPZlE6HuPloOLeRfe14Oxg=="

## Organization is the name of the organization you wish to write to; must exist.

organization = "ENCORE"

## Destination bucket to write into.

bucket = "1"

[[inputs.win_perf_counters]] [[inputs.win_perf_counters.object]]

# Processor usage, alternative to native, reports on a per core.
ObjectName = "Processor"

Instances = ["*"]
Counters = ["% Idle Time", "% Interrupt Time", "% Privileged Time", "% User Time", "% Processor Time"]
Measurement = "win_cpu"

Добрый день.

Прошу прощения за долгий ответ.

В статье была допущена ошибка. В описании секции [agent] должны использоваться не двойные, а одинарные квадратные скобки.

Попробуйте изменить ваш конфиг следующим образом и еще раз сделайте тестовый запуск telegraf.

[agent]
interval = "5s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_jitter = "0s"
precision = ""
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории