Показаны сообщения с ярлыком enterprise. Показать все сообщения
Показаны сообщения с ярлыком enterprise. Показать все сообщения

среда, 19 февраля 2020 г.

Мониторинг за процессами в Windows, согласно их путей выполнения с помощью telegraf, influxdb и grafana

Мне понадобилось следить за процессами в Windows и рисовать по ним графики, а также создавать оповещения о их различных статусах. Для этого я написал отдельное приложение на c# и сделал следующую связку:

1. На windows машинке работает служба telegraf, которая коллекционирует различные метрики, среди которых в ней включен плагин exec.
2. Плагин exec вызывает моё приложение, который отдаёт перечень процессов и их состояние в виде аргумента в telegraf.
3. Telegraf посылает метрики в БД influxdb.
4. Grafana берёт метрики из influxdb и далее рисуются графики и прикручиваются алерты...

Подробнее о используемых технологиях можно почитать тут:



Пример графика

Как работает моё приложение... 

Приложение вызывается с передачей к нему в качестве аргумента пути к CSV файлу, который внутри себя представляет примерно следующее:

C:\Program Files (x86)\ZKTime.Net\ZKTimeNet.exe,$ZKTimeNet
C:\OhmGraphite-0.10.0\OhmGraphite.exe,OhmGraphite
C:\Windows\system32\dns.exe,$DNS_server

Первый столбец указывает на путь выполнения к файлу (регистр букв соблюдается, так что предварительно необходимо посмотреть в таск менеджере корректный путь к выполняемому процессу). Разделителем выступает символ , после которого указывается наименование выполняемого процесса. Для чего это нужно? Представим что в системе есть 2 браузера firefox, но они установленны в разные директории. Таким образом в описании можно указать для разных путей разные наименования. Например firefox1 и firefox2. 

Обратите внимание на символ $ в начале наименования процесса. Таким образом я указываю, что за этим процессом необходимо следить и отсылать состояние его работы даже в том случае, когда он не запущен (допустим критические приложения). В случае наличия данного символа и отсутствия выполняемого процесса в системе - в метрике будет отдано значение -1, тогда как состояние запущенности процесса указывается метрикой, равной 1.

Качаем отсюда (https://github.com/constantinekg/getprocesses) 2 файла:


Файл getprocs.7z распаковываем, получаем getprocs.exe. Эти 2 файла (getprocs.exe и procs.csv) перемещаем в директорию с установленным telegraf'ом (C:\Program Files\telegraf).

Правим по образу и подобию CSV файл. Указываем необходимые для мониторинга процессы и т.д. 

В конфиг telegraf добавляем следующее:

# Читает метрики в stdout
[[inputs.exec]]

commands = [
"C:/\"Program Files\"/telegraf/getprocs.exe C:/\"Program Files\"/telegraf/procs.csv",
]
 
# Интервал сбора метрик
interval = "60s"

## Таймаут для ожидания выполнения процесса
timeout = "10s"

# Оставляем как есть
data_format = "influx"
data_type = "string"
[inputs.exec.tags]
# Возможные теги для полученных метрик процессов (в моём случае мне достаточно знать что это метрики из офиса, но можно добавить что то своё дополнительно
location = "office"

После добавления необходимо перезапустить сервис telegraf в системе ну или перезагрузить компик...

Далее в графане необходимо будет создать какие угодно графики, а лерты и т.д. и т.п. Но об этом лучше почитать в мануалах по графане...

понедельник, 8 апреля 2019 г.

О чём мне red hat рассказали...

Поговорил я тут на медни с представителем компании red hat (в частности с Максимом Праховым - он продаёт решения от red hat по СНГ и Грузии)...

Тут я его спрашиваю на тему мол а чего ожидать после покупки red hat компанией ibm? А он мне говорит мол всё будет пучком, нас мол не тронут и у ibm вообще свои цели, притянутые больше к облакам... 

А ещё мне рассказал, что вероятней всего таким всем известным сборкам как centos и fedora в скором времени ждать (а точнее всего после выпуска 8й версии их энтерпрайзного линукса) от red hat плюшек и всяких патчей вовремя получать будет скорее всего затруднительно... Так что любители секьюрности и в то же время халявы могут в скором времени отдохнуть... А зачем им вообще centos поддерживать? Ну они на нём тестируют, обкатывают фичи и прочее...

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

Сейчас если так подсчитать - их решения в отличии от виртуализации от vmware и прочих для энтерпрайза прям существенно по цене ниже (на текущий момент 1300$ за сервер с 2мя процами и без каких либо доп. лимитаций). Сюда же плюсуем их легендарный тех. под. и прям резкое закрытие багов и дырок - в итоге их любят в российском нац. банке, в Белоруссии в сфере банков тоже, да и по их словам сбербанк после года затрахов с кубернетом таки свалил в сторону их openshift в связке с их cef (и точно молчу про различные телекомы)...

Ещё я спросил про сертификацию и вот что - ближайший к нам офлайн центр с компетенцией в плане обучения сертифицирует только по первому одному курсу с экзаменом всего то за 2 штуки грина! А зачем тебе мол платить 2 штуки, когда ты платишь 3 штуки и получаешь в онлайне доступ до 50 курсов...

А что наши местные линуксоиды говорят? К примеру так: а пох, я debian юзаю... Или так: торчал на ubuntu и дальше буду продолжать торчать на gentoo... :) В общем всё это конечно весело и прекрасно, но правда такова, что всяким банкам и прочим телекомам и большим энтерпрайзам конечно лучше даже не пробовать строить надёжные отказоустойчивые системы на коленках...

Что ещё сказал... А да! Если будут вопросы, то можно с ним контактировать спрашивать и всё такое если кому интересно...


P.S: Спасибо за ништяки!