Showing posts with label мониторинг. Show all posts
Showing posts with label мониторинг. Show all posts

Monday, 13 July 2026

SWARM: від 2002 до 2026.

Привіт.

Ви читали роман Майкла Крайтона «Здобич» (англ. Prey), що описує черговий продукт симбіозу науки і технологій, зокрема нанотехнології, генної інженерії та штучного інтелекту? Ні? Дарма! Негайно перечитайте. А потім повертайтеся до мене, осягнути як Крайтон(нажаль покійний) все це осягнув ще 20 років тому. І як Україна сьогодні на полі бою рухає цю еволюцію кожен день за світле мабуйтнє. Не все з того що нижче реалізовано зараз, але хто знає, можливо і я заглядаю в недалеке майбутнє як Крайтон!



ГЛАВА 1: МЕХАНІКА РОЗПОДІЛУ (Відповідність Главі 13)

Локація: Сектор А-4, Полігон «Таврія». Час: 11:15.

На висоті десяти метрів над розпеченим ґрунтом Чорнобаївки стабілізувався об’єкт SS-01. Десять тисяч автономних одиниць Scout Swarm утворили правильну гексагональну решітку. Це не було схоже на хаотичний рух комах. Це була візуалізація математичного графіка.

Кожен дрон розміром 42 міліметри використовував локальні датчики тиску для компенсації поривів вітру. При низьких числах Рейнольдса повітря здавалося їм в’язким, як патока. Рій не боровся з ним — він ковзав у ньому, використовуючи турбулентність сусідніх одиниць для економії 12% енергії акумуляторів.

На моніторах центру спостереження відображалася динаміка Mesh-мережі. Жодного центрального вузла. Жодної ієрархії. Кожна одиниця обробляла лише дані від восьми найближчих сусідів. Проте загальна картинка сектора збиралася в ідеальну 3D-модель із роздільною здатністю до міліметра. 


Saturday, 19 October 2024

Моменты Zabbix.


Всем привет.

Моя давняя шпаргалка по рабочим моментам Zabbix, которая скорее всего мне больше не понадобится, а вам как знать.

1) Housekeeper:

Q: Oбязательно ли параметр housekeeper открывать в конфиге Zabbix-а или молча использовать для этого настройки в GUI ?

A: В конфиге этот параметр регулирует частоту запуска houserkeeper'а, а в GUI настраивают сроки очистки данных в БД, которые очищает как раз housekeeper. Если его не запускать, очистки данных у вас не будет какие бы параметры вы не настроили в GUI.


2) Clone vs Full Clone:

Нажатие на Клонировать сохранит все параметры узла сети и все соединения с шаблонами (с сохранением всех объектов из этих шаблонов). 

Полное клонирование дополнительно сохранит все напрямую добавленные объекты (элементы данных, триггеры, графики и группы элементов данных).

Обратите внимание: при клонировании узла сети, он наследует все сущности из шаблонов, как они настроены изначально в шаблонах. Любые сделанные изменения в этих сущностях на уровне узла сети (такие как интервал опроса элементов данных, измененное регулярное выражение или добавленные прототипы к правилу низкоуровневого обнаружения) не будут скопированы в новый узел сети; они останутся так как есть в шаблоне.


3) Service:

cчитается что для мониторинга любого сервиса достаточно следить всего за 4-мя его параметрами:

  • Latency -  время, которое занимает обработка запроса. Неплохо бы разделять время для корректных ответов и ошибок.
  • Traffic - количество запросов, приходящих к сервису. Например, rps для http-сервисов или bandwidth для стриминга.
  • Errors - запросы, обработанные с ошибками.
  • Saturation - насколько заполнен сервис. Например, для диска это общий объем и занятое место.

Tuesday, 23 July 2024

Легкий старт з Prometheus.

Всім привіт.

Моніторинг сьогодні - фактично обов'язкова частина ІТ-інфраструктури для компанії будь-яких розмірів. Але сьогодні я не буду зупинятися на різноманітті програмного забезпечення для моніторингу, а просто покажу як легко можно дати старт такому функціоналу з одним із популярних рішень - пара на основі Prometheus плюс Grafana.


То ж щодо теорії то вам сюди, бо далі сама практика від Дениса Астахова. Піднімемо сервер Prometheus та сервер Grafana, з'єднаємо їх, та запустимо моніторинг на інші сервери.

Інсталюємо сервер Prometheus:

#!/bin/bash

#--------------------------------------------------------------------

# Script to Install Prometheus Server on Linux Ubuntu

# Tested on Ubuntu 22.04, 24.04

# Developed by Denis Astahov in 2024

#--------------------------------------------------------------------

# визначення глобальних констант

PROMETHEUS_VERSION="2.51.1"

PROMETHEUS_FOLDER_CONFIG="/etc/prometheus"

PROMETHEUS_FOLDER_TSDATA="/etc/prometheus/data"


# отримання пакету PROMETHEUS з мережі internet

cd /tmp

wget https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz

tar xvfz prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz

cd prometheus-$PROMETHEUS_VERSION.linux-amd64


mv prometheus /usr/bin/

rm -rf /tmp/prometheus*


# створення теки для PROMETHEUS

mkdir -p $PROMETHEUS_FOLDER_CONFIG

mkdir -p $PROMETHEUS_FOLDER_TSDATA


# створення конфігурації для сервера PROMETHEUS

cat <<EOF> $PROMETHEUS_FOLDER_CONFIG/prometheus.yml

global:

  scrape_interval: 15s


scrape_configs:

  - job_name      : "prometheus"

    static_configs:

      - targets: ["localhost:9090"]

EOF


# визначення користувача PROMETHEUS та надання йому відповідних прав

useradd -rs /bin/false prometheus

chown prometheus:prometheus /usr/bin/prometheus

chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG

chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG/prometheus.yml

chown prometheus:prometheus $PROMETHEUS_FOLDER_TSDATA


# створення конфігурації PROMETHEUS як сервісу Linux

cat <<EOF> /etc/systemd/system/prometheus.service

[Unit]

Description=Prometheus Server

After=network.target


[Service]

User=prometheus

Group=prometheus

Type=simple

Restart=on-failure

ExecStart=/usr/bin/prometheus \

  --config.file       ${PROMETHEUS_FOLDER_CONFIG}/prometheus.yml \

  --storage.tsdb.path ${PROMETHEUS_FOLDER_TSDATA}


[Install]

WantedBy=multi-user.target

EOF


# запуск сервісу PROMETHEUS, перевірка його статусу, та визначення його на автозапуск

systemctl daemon-reload

systemctl start prometheus

systemctl enable prometheus

systemctl status prometheus --no-pager

prometheus --version

Wednesday, 14 December 2022

IPMI-функция мониторинга в Zabbix.

Всем привет.

IPMI (Intelligent Platform Management Interface) - интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. IPMI реализуется в виде отдельного контроллера сервера, который не зависит от операционной системы, BIOS, CPU севера и позволяет удаленно управлять физическим оборудованием.

Можно ли использовать функцию мониторинга IPMI в Zabbix? Можно, но предварительно надо выполнить несколько шагов по настройке IPMI, на примере НР iLO.

В НР iLO.

1. Создаем пользователя с правами администратора. С другими правами не работает (получим ошибки соединения IPMI в zabbix).

2. Активируем IPMI. По умолчанию он отключен.

В Zabbix.

1.  Нам нужно установить пакет IPMITOOL, чтобы сам Zabbix мог выполнять проверки IPMI. После используйте следующую команду, чтобы получить список доступных IPMI-датчиков на вашем устройстве iLO:

# ipmitool -I lanplus -H 192.168.1.220 -U admin -P adminpsw sensor


2. Обязательно установить StartIPMIPollers=5 в zabbix_server.conf. Перезапустить сервис Zabbix. У вас количество IPMI-полеров может быть другим.

Sunday, 24 April 2022

Пользовательский интервал в Zabbix.

Всем привет.

Бывают случаи когда некий узел в Zabbix надо мониторить в зависимости от времени суток. Например если он регулярно выключается на выходные или на ночь, то и собирать лишние алерты от триггеров нет смысла. Как это можно реализовать?

Я знаю три варианта.

1. Использование функции time в условии триггера

Пишем условие так: item.last>0 И (item.time > 080000 И item.time < 170000) 

2. Настроить период обслуживания на ваш узел. 

Вам следует указать период обслуживания и выбрать типа обслуживания "без сбора данных". А чтобы узел не маячил на панели после надо отключить отображение обслуживаемых узлов фильтром панели.

3. И вариант с пользовательским интервалом в элементе данных.

Имеется возможность создания пользовательских правил относительно времени, когда элемент данных будет опрашиваться. Для этого есть два способа: 

- гибкие интервалы (flexible), который позволяет переопределить интервал обновления по умолчанию, 

- по расписанию (scheduling), посредством чего элемент данных может быть опрошен в конкретное время или последовательность времени.

Например если задать для гибкого интервала значение 1m с периодом "1-5,08:00-17:00" то элемент будет опрашиваться с частотой в 1 минуту только в рабочее время.

А если указать значение 0 с периодом "6-7,00:00-24:00" то элемент данных НЕ будет опрашиваться по выходным.

Выбор за вами.

Слава Украине!

Tuesday, 8 March 2022

Еще раз про SELKS.

Всем привет.

Анализ пакетов - это ключевой компонент для реализации систем обнаружения сетевых вторжений (IDS) и для мониторинга безопасности сети. Доступны разные средства с открытым исходным кодом для обнаружения сетевых вторжений, которые обрабатывают запись пакетов для поиска известных сигнатур потенциальных сетевых вторжений и вредоносных действий. Используя функцию записи пакетов службы наблюдения за сетями, вы можете анализировать сеть для поиска вредоносных вторжений и уязвимостей.

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

Дополнительные сведения о системе Suricata и ее возможностях можно узнать на веб-сайте https://suricata-ids.org/.

Но неплохо бы иметь под рукой также схему хранения и анализа пакетов перехваченных Suricata. Следуя принципу open source на эту роль напрашивается ELK стек. Suricata предоставляет возможность записи пакетов, которая используется для обнаружения сетевых вторжений. Suricata обрабатывает запись пакетов и формирует оповещения, если обнаруживает пакеты, соответствующие наборы правил для известных угроз. Эти предупреждения сохраняются в файле журнала на локальном компьютере. А Elastic Stack позволяет индексировать журналы, созданные Suricata, и использовать их для создания панели мониторинга в Kibana, которая визуализирует информацию из журналов для быстрого анализа потенциальных уязвимостей сети.

В принципе в интернет есть большое количество сценариев настройки среды для обнаружения сетевых вторжений с помощью Suricata и Elastic Stack. Вам будет интересно попробовать все сделать вручную и очень удобно для полного управления процессом. Как вы понимаете, я так не делал. По разным причинам. Одна из них это наличие в интернет пакета SELKS. Это тот же ELK-стек плюс Suricata, плюс еще два полезных инструмента мониторинга от компании Stamus. 

Напомню, что SELKS состоит из 6-ти компонентов:

S - Suricata IDPS - http://suricata-ids.org/

E - Elasticsearch - https://www.elastic.co/products/elasticsearch

L - Logstash - https://www.elastic.co/products/logstash

K - Kibana - https://www.elastic.co/products/kibana

S - Scirius - https://github.com/StamusNetworks/scirius

EveBox - https://evebox.org/

Friday, 28 January 2022

Полигон ELK.

Всем привет.

Использование rsyslog для хранения log-сообщений сетевого оборудования, и loganalyzer для их отображения, обозначило необходимость поиска, соответствующей современным требованиям, альтернативы. В результате анализа различных решений был сделан выбор в пользу open-source компонентов стека ELK. Был ли этот выбор полностью осознанным - скорее нет, ибо популярность ELK стека бьет все рекорды. Поэтому не пощупать его своими руками было бы неразумно. Тем более у меня была давняя задача разобраться с IDS SELKS изнутри, где ELK, как вы заметили, является основой.

Итак, основными элементами ELK являются: Elasticsearch (search engine – для хранения и быстрого поиска структурированных данных), Logstash (collector – для приема в различном формате данных, их фильтрации и преобразования, и последующей отправки в различные базы данных) и Kibana (инструмент для визуализации), которые и составляют акроним ELK. Это в классическом варианте исходя из названия, но в последнее время сюда активно подмешивают Filebeat, который идет как в в паре с Logstash, так и вместо него.

Подробное описание работы этих компонентов не планировалось в рамках данной статьи. Интересующая информация по стеку очень хорошо представлена на официальном сайте, в т.ч. в виде подробной документации, а также в огромном количестве статей и публикаций. Именно по ним я поднимал весь стек пошагово. За основу была взята подробная инструкция здесь, ему помагал материал отсюда и отсюда. Каждый автор решал свою практичечкую задачу поэтому мне пришлось компилировать нужное по ходу. Обычно ELK разворачивают на одном сервере  (как с SELKS), но я решил что это будет слишком просто, поэтому  в моем полигоне Elasticsearch один хост, Kibana второй хост, и Logstash+FileBeat третий. До кластера руки не дошли, но я уверен, что это будет создать не так уж и трудно.

В ходе работ было проведено: 

  • установка Elasticsearch
  • установка Kibana
  • установка Logstash
  • установка Filebeat для отправки логов в Logstash
  • установка и настройка Winlogbeat
  • установка плагина Filebeat для отправки netflow Cisco
  • настройка безопасности и авторизация в Kibana (несколько вариантов)
  • проксирование подключений к Kibana через Nginx
  • автоматическая очистка индексов в elasticsearch.


А теперь мои шаги:

1) Проверить для всех хостов стека с Ubuntu 

sudo timedatectl set-timezone Europe/Kiev

sudo apt-get install --reinstall systemd

2) Установить для всех хостов ELK стека

sudo apt-get install apt-transport-https

sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a  /etc/apt/sources.list.d/elastic-7.x.list

# Также ставим JDK for Elasticsearch (Host0) & Logstash (Host1)

sudo apt install default-jdk -y

java -version

3) Настройка Elasticsearch (Host0, IP 192.168.1.11, port 9200,9300) 

- /etc/elasticsearch/elasticsearch.yml:

network.host: 0.0.0.0 (or 192.168.1.11)

http.port: 9200

transport.host: localhost

transport.tcp.port: 9300

Thursday, 27 January 2022

Варианты мониторинга температуры в серверной.

Всем привет.

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

Где же взять сами датчики темпратуры? Можно закупить специализированное оборудование типа NetPing-a, и мониторить его через Zabbix. А можно пойти по более простому пути.

У вас наверняка есть оборудование которое расположено в серверной и которое имеет в своем арсенале линейку датчиков, в том числе и датчик окружающей температуры.

Я например, обратил свое внимание на HP iLO, которая имеет целую матрицу тепературных датчиков по всей основной плате. И что логически оказалось - есть среди них и датчик Ambient Temperature. Получить его OID для мониторинга по SNMP в Zabbix оказалось не трудно.



После создаем график на созданную метрику.

Saturday, 15 January 2022

Cisco Packet Tracer - новый взгляд.

Всем привет.

Выполняя обзор эмуляторов и симуляторов оборудования Cisco семь лет тому я, разумеется, упоминал и Cisco Packet Tracer. Ну как же было без него, ведь его каждая академия Cisco считает за основу основ для студента. Я уже и в онлайн академии начал выполнять лабораторные работы, как тут мое внимание обратили повторно на ветерана. За первоисточнком обращайтесь к Сергею Болдину в журнале "Системный администратор", первый номер за прошлый год.

Итак, суть не изменилась: Cisco Packet Tracer - это программное обеспечение для моделирования сетей, предназначенное для моделирования сетевых устройств Cisco. Вы можете использовать Cisco Packet Tracer для проектирования простых и довольно сложных сетевых топологий. Вы также можете настроить виртуальные машины, маршрутизаторы, коммутаторы и другие устройства в Packet Tracer для проверки топологии сети. Cisco Packet Tracer также можно использовать для моделирования беспроводных сетей, сетей IP-телефонии (VoIP) и многих других.

Все как обычно? Все да не все. Да, вполне логично, что количество активных Cisco-устройств было расширено, также было расширен список сервисов которые можно из коробки запускать на хосте или сервере.

Однако сейчас очень популярны устройства, которыми можно управлять по сети. Одни идут уже готовые, другие можно собрать из мелких деталей как конструктор Arduino. Стоп, причем здесь Arduino? А при том что Cisco Packet Tracer поместил симуляторы устройств типа IoT во вкладки Home, Smart City, Industrial раздела End Devices. Компоненты – в Boards, Actuators, Sensors раздела Components. В них доступны платы MCU и SBC (микроконтроллеры и однопроцессорные платы), к которым можно подключать массу готовых элементов: форсунки, охладитель воздуха, мотор, сервопривод, светодиод, динамик, нагревательный элемент, экран, сенсоры движения, металла, влажности, дыма, звука, ветра, воды, кнопки и прочие.

Вот так вот! Теперь это все доступно в Cisco Packet Tracer! И виноват в этом Cisco Нome Gateway DLC100. Наш герой в центре.



Friday, 14 May 2021

Монитор стабильности системы.

Всем привет.

Когда с вашей Windows начинают происходить необъяснимые вещи, один из самых полезных (но скрытных) инструментов, для того чтобы выяснить, в чем же дело - монитор стабильности системы, спрятанный в виде ссылки внутри Центра поддержки Windows. 

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

Найти монитор стабильности можно во всех последних версиях Windows. А можно и не найти).  Например у меня по окошкам и по поиску он упорно не хотел проявляться. Поэтому я нашел более быстрый способ запуска из командной строки как "perfmon /rel". Готово!



Монитор стабильности стал востребован и получил некую надстройку в виде утилиты Reliability Viewer for Windows, которая может показать данные по надежности системы Windows как локальной, так и на удаленном ПК. Утилита выводит в удобном виде ключевые системные события о сбое приложений, установке программного обеспечения и обновлений, MsiInstaller, неожиданных отключениях системы, синих экранах смерти, установке драйверов, аппаратном сбое. Для отображения данных в программе Reliability Viewer for Windows в выпадающих полях можно выбрать нужный пункт либо оставить параметр «*» по умолчанию, который соответствует видимости полной информации.


Эта надстройка написана на Powershell, бесплатна, и не имеет инсталятора. Поэтому для ее корректной работы надо предварительно весь код скопировать в "C:\Program Files\SMSAgent\Reliability Viewer for Windows\".

Успехов.

Thursday, 18 March 2021

Использование zabbix_sender.

Всем привет.

В пакете Zabbix-агента кроме самого агента и утилиты Zabbix_get присутствует еще одна утилита - Zabbix_sender. Zabbix_sender - это утилита командной строки, которая может быть использована для отправки различных данных Zabbix серверу для последующей их обработки. Обычно эта утилита используется в долго выполняемых пользовательских скриптах для периодичной отправки данных о доступности и производительности разных сервисов. Чтобы отправлять результаты скрипта с помощью Zabbix_sender напрямую на Zabbix сервер необходимо предварительно задать тип элемента данных Zabbix trapper.

И далее вы можете проверить отправку своих данных на сервер. Например отправим имя текущего пользователя на хосте WinHost:

zabbix_sender -z Server -s "WinHost" -k top.secret.message -o %USERNAME%

Источником сообщения может быть  указан любой хост, а не текущий. Вот пример как переслать целый список данных из файла message.txt:

zabbix_sender -z Server -i message.txt

где файл message.txt содержит строки:

"WinHost" top.secret.message "Are you there?"

"WinHost2" top.secret.message "Бувайте"

Файл message.txt дожен быть в кодироке UTF-8 если вы исплользуете кириллицу! Ежели сходу не выходит поддержать UTF-8, то выполняйте через бат-файл предварительное конвертирование:

echo off

SetLocal EnableExtensions EnableDelayedExpansion

chcp 65001

Echo %1 %2 %3>C:/temp/message.txt

zabbix_sender.exe -z Server -i C:/temp/message.txt

Вот еще пример использования zabbix_sender в случае зашифрованного канала передачи данных между агентом и сервером:

zabbix_sender -z Server -s "WinHost" --tls-connect=psk --tls-psk-identity="WIN-PSK" --tls-psk-file="C:\Zabbix\zabbix_agent.psk" -k top.secret.message -o %COMPUTERNAME%:%USERNAME%

Успехов.

Friday, 21 August 2020

Метрики мониторинга.

Всем привет.

Вкратце шпаргалка какие метрики мониторяться и как в инфраструктуре предприятия.



Метрики хоста:
  • CPU
  • Memory
  • Processes
  • Disk
  • Network
Чем мониторим?
  • Агенты мониторинга системы мониторинга:
  • Zabbix-Agent
  • Более универсальные инструменты с плагинами:
  • сollectd
  • telegraf
  • NetData
  • Сервисы cloud-платформы:
  • Stackdriver (GCP)
  • CloudWatch (AWS)
Метрики сервера:
  • CPU
  • RAM
  • Disk
  • Network
  • Security
Чем мониторим?
  • zabbix-agent на сервере + штатные шаблоны Zabbix
  • Prometheus Node exporter
Web-сервер:
  • Статус сервиса веб-сервера
  • Доступность портов
  • RPS (Requests Per Second) 
  • HTTP коды завершения
  • Ошибки веб-сервера
  • SSL сертификаты
  • Время отклика
Чем мониторим?
  • zabbix-agent на сервере + штатные шаблоны Zabbix
  • Simply check с сервера Zabbix
  • Web сценарии с одного из хостов в мониторинге
  • Кастомные пользовательские параметры (UserParameter)
  • Сообщения в логах
Сервер приложений:
  • Статусы сервисов
  • RPS (php, redis, rabbitMQ, прочие)
  • Использование буфера
  • Использование очереди
  • Количество и статус процессов
  • Ошибки сервисов в логах
Чем мониторим?
  • zabbix-agent на сервере + штатные шаблоны Zabbix
  • Simply check с сервера Zabbix
  • Кастомные пользовательские параметры
  • Сообщения в логах
База данных:
  • Cтатус сервиса базы
  • Статус репликации
  • Seconds behind master
  • RPS
  • Объем операций
  • Размеры буферов
  • Аналитика запросов
Чем мониторим?
  • zabbix-agent на сервере + штатные шаблоны Zabbix
  • Кастомные пользовательские параметры
  • Сообщения в логах
Метрики Docker-контейнеров:
  • CPU
  • Memory
  • Network
  • Block I/O
  • Docker Daemon
Чем мониторим?
  • Docker stats
  • cAdvisor
  • Heapster
  • collectd
Метрики сервисов:
  • БД, очереди
  • Load balancer
  • Сервер приложения
  • Сторонние сервисы
  • Все, от чего зависит стабильность работы вашего продукта
Как выбрать что собирать и анализировать?

USE-Method от Brendan Gregg. Больше подходит для выбора инфраструктурных метрик:
  • Utilization (использование), например загрузка диска
  • Saturation (насыщение), например очередь диска
  • Errors (ошибки), например ошибки I/O диска
RED-метод. Больше подходит для выбора метрик приложений и сервисов:
  • Rate - запросы в секунду
  • Errors - ошибок в секунду
  • Duration - время на каждый запрос
Four Golden Signals от Google (принцип  выбора  метрик,  описанный  в
книге Site Reliability Engineering от Google):
  • Latency - время ответа
  • Traffic - частота запросов
  • Errors (ошибки) - частота ошибок
  • Saturation (насыщение) - насколько утилизирован ресурс
Бизнес-метрики:
  • посещения
  • конверсия
  • продажи
  • скачивания приложения
Как мониторим?
  • Кастомные пользовательские параметры
  • Вычисляемые элементы данных.


Monday, 20 July 2020

Мониторинг журналов Windows на лету.

Всем привет.

Как уже говорилось, для доступа к событиям Windows из командной строки нужно использовать команду wevtutil. Хотя эта команда универсальна, она не имеет таких функций, как tail, которые можно задействовать для извлечения новых поступающих записей. Но выход есть - использовать простой сценарий bash, который может предоставить такую же функциональность. Пример ниже.

#!/bin/bash -
#
# Описание:
# Выполнение функции наподобие tail для журнала Windows
#
# Использование: ./wintail.sh

WINLOG="Application"
LASTLOG=$(wevtutil qe "$WINLOG" //c:1 //rd:true //f:text)

while true
do
      CURRENTLOG=$(wevtutil qe "$WINLOG" //c:1 //rd:true //f:text)
      if [[ "$CURRENTLOG" != "$LASTLOG" ]]
      then
            echo "$CURRENTLOG"
            echo "----------------------------------"
            LASTLOG="$CURRENTLOG"
      fi
done

Переменная WINLOG определяет журнал Windows, который вы хотите отслеживать. Для получения списка журналов, доступных в системе в настоящее время, можете использовать команду wevtutil el.

Далее для запроса указанного файла журнала выполняется команда wevtutil. Параметр c:1 возвращает только одну запись журнала. Параметр rd:true позволяет команде считать самую последнюю запись журнала. Наконец, f:text возвращает результат в виде обычного текста, а не в формате XML, что позволяет легко читать результат с экрана.

Tuesday, 14 July 2020

SNMP Discovery сканер.

Всем привет.

Выбирая средства мониторинга принтеров по SNMP случайно набрел на программное чудо по названием PrintStore.

Оговорюсь сразу что я ни коей мере не рекламирую сей программный продукт, как сделано здесь, это лишь прелюдия к другой софтине того же автора (или фирмы).

В двух словах - программе PrintStore позволяет автоматизировать учет и мониторинг принтеров, МФУ, факсов и прочей техники в офисе. Существует бесплатная версия с ограничениями по количеству устройств в учете (100) и мониторинге (5) и платная, с лицензиями в зависимости от количества техники в мониторинге.

Из основных возможностей программы мне были интересны только две:

-автоматический поиск техники в сети на основе внутренней базы производителей и моделей. При этом вы и сами можете вручную добавить новую технику.

-автоматический мониторинг счетчиков принтеров по snmp с сохранением данных в базу программы. В идеале вы сканируете сеть, программа находит принтеры и опрашивает их по snmp. Далее вы добавляете найденные принтеры в систему и начинаете с ними работать.

Почему только эти? Потому что исходя из них я нашел на сайте производителя бесплатный сканер "SNMP Discovery". В целом, у сканера есть все необходимое для мониторинга принтеров и состояния катриджей к ним. Плюс, готовая база данных оборудования с картинками и с OID-ми. В принципе, вы можете добавить в эту программу учет любой техники. Просто базу данных к ней вам придется заполнять или импортировать самим. 


Что следует при этом учесть? "SNMP Discovery" не сопровождается и не развивается. Тем не менее она вполне функциональна для чтобы отсканировать вашу сеть. К моему сожалению SNMP-сканер заточен на community по умолчанию, которое обычно "public". Т.е. если в вашей сети Get-community другое то вам придется принтера добавлять вручную и потом на каждом из них в свойствах менять это значение. Если их десяток это не проблема, если их сотни то печаль - можно, конечно, изменить ваше community на "public", а после скана вернуть на свое. Тогда не будет работать мониторинг. В любом случае у программы отличная справка, разобраться можно.


В плане безопасности вашей сети вам будет в тему познакомиться с колонкой "Access", где вы увидите какие из ваших принтеров имеют полный доступ по SNMP, т.е. и на чтение параметров, и на управление. Будет повод задуматься.)

Успехов.

Sunday, 21 June 2020

Мониторинг принтера в Zabbix.

Всем привет.

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

Мне позавчера попался, в первом приближении поиска, шаблон Template Printer Xerox  который я успешно протестировал на версиях Zabbix 3.4.11 и 4.4.6.

Его внедрение требует выполнения следующих пунктов:
1. Проверяем что у нас установлены компоненты perl, snmp: 
#sudo apt-get install libnet-snmp-perl 
Скачиваем MIBs:
#sudo download-mibs
Перезапускаем сервер zabbix:
#sudo service zabbix-server restart

2. Копируем prtMarkers_discovery.pl на сервер zabbix в папку со внешними скриптами zabbix (в настройках сервера параметр ExternalScripts )

3. Правим права и владельца prtMarkers_discovery.pl чтобы zabbix мог запускать его.

4. Пробуем запускать скрипт так:

prtMarkers_discovery1.pl ip.printera 161 public
где ip.printera это IP-адрес вашего принтера.

Вывод должен быть почти таким:

{"data":[{"{#MARKER_INDEX}":"6","{#MARKER_DESCR}":"Сборник отраб. тонера, WorkCentre 6605DN, PN#108R01124","{#MARKER_TAGS}":",Сборник отраб. тонера, WorkCentre 6605DN, PN#108R01124,Type:4,"}]}

Если будут ошибки - работаем над их исправлением. 
Если все ок, то еще раз перезапускаем сервер zabbix:
#sudo service zabbix-server restart.

5. Создаем 2 преобразования значений (данные берем из файла value mapping.txt)

Версия на печать

Популярное