From d06e458b412b0a3efc2cd106999e0ec97b080a1f Mon Sep 17 00:00:00 2001 From: svk Date: Tue, 6 Apr 2021 21:10:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + es-monitoring/README.md | 54 +++++++++++++++++++++++++++++++++++------ 2 files changed, 48 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b8755d8..26998b1 100755 --- a/README.md +++ b/README.md @@ -6,3 +6,4 @@ - check_dns_records - мониторинг состояния и изменений в любых DNS записях для любых заданных доменов - check_email_delivery - проверка прохождения почтовых сообщений как на, так и с заданных почтовых серверов - lxs_fs_monitoring - проверка состояния файловой системы LXS контейнеров +- es-monitoring - Elasticsearch мониторинг индексов (подсчет коичества записей за временной промежуто) и отправка в Zabbix diff --git a/es-monitoring/README.md b/es-monitoring/README.md index 875fa9d..1e76962 100644 --- a/es-monitoring/README.md +++ b/es-monitoring/README.md @@ -1,14 +1,55 @@ # Es Monitoring -Мониторинг индексов Elasticsearch +Мониторинг индексов Elasticsearch в Zabbix. + +Программа получает список имён индексов без цифровой части, т.е. так называемые pattern. К примеру если индекс "filebeat-01.01.2020" то использоваться будет имя (тут и далее под индексом подразумевается паттерн) "filebeat". Данные имена добавляются в zabbix через автообнаружение (предварительно требуется к узлу подключить приложенный шаблон). +На основе списка имен индексов (данные будут взяты из последнего индекса по времени попадающего под шаблон имени) можно получать количество записей за временной промежуток (задаётся с командой строки в часах, по умолчанию равен 6 часам). + +Программу можно запускать как в консоли так и в docker-контейнере. + +# Режимы работы + +- operation - задаёт тип выполняемой операции + * es-cluster-info - вывод информации о кластере (версии) + * es-get-indices - вывод списка индексов + * es-indices-discover - вывод списка индексов ввиде JSON для отправки в zabbix + * es-records-count - подсчёт количества данных по всем индексам + * es-index-records-count - подсчет записей по одному индексу (используется совместно с -index-name) +- index-name - имя индекса (паттерн) +- timerange - временной промежуток в часах +- zabbix-send - при указании данной опции результат коамнды будет отправлен в заббикс +- help - вывод краткой помощи # использование - export ELASTICSEARCH_URL="https://__USER__:__PASSWORD__@elastic:200" - export ZABBIX_SERVER=https://zabbix2 - export ZABBIX_HOST=elastic - export ZABBIX_USERNAME=zabbix_helpers - export ZABBIX_PASSWORD= +Для работы используются переменные окружения: + +- ELASTICSEARCH_URL="https://__USER__:__PASSWORD__@elastic:9200" +- ZABBIX_SERVER=https://zabbix2 +- ZABBIX_HOST=elastic +- ZABBIX_USERNAME=zabbix_user +- ZABBIX_PASSWORD=somepass + +## Пример команды + +Подсчет количества записей по всем индексам и отправка в заббикс: + +``` +es-monitoring -operation es-records-count -timerange 1 -zabbix-send +``` + +Вывод списка индексов для zabbix +``` +es-monitoring -operation es-indices-discover -zabbix-send +``` + +Подсчет количества записей для индексов filebeat* за 12 часов (данные будут взяты из последнего индекса по времени) + +``` +es-monitoring -operation es-index-records-count -index-name filebeat -timerange 12 +``` + +# Краткая помощь по программе ``` Usage of ./es-monitor: @@ -25,5 +66,4 @@ Usage of ./es-monitor: Elasticsearch time range for records count into hours (default 6) -zabbix-send Send metrics or discovery data into zabbix - ``` \ No newline at end of file