Комментарии 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. А далее гуглим сенсор и думаем как это править.
Добрый день.
Вот решил попробовать ваш способ. Делал все как в статье написано. Дошел до тестового запуска агента 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 = ""
А твой Exchange в полном порядке? Как бесплатно мониторить здоровье сервера