zabbix-helpers/es-monitoring/README.md

71 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Es Monitoring
Мониторинг индексов 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 - вывод краткой помощи
# использование
Для работы используются переменные окружения:
- 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:
-exclude-index string
Elasticsearch index name comma-separated list for exluded, (like "filebeat,mailindex,e.t.c") (default ".")
-indexname string
Elasticsearch index name pattern, (like "filebeat")
-operation string
Opertation type, must be:
es-cluster-info - ES Cluster information (version e.t.c)
es-get-indices - geting all index
es-indices-discover - getting es index pattern list
es-records-count - getting the number of records for a time range for all index pattern
es-index-records-count - getting records count for one index (used with -indexname option (default "es-cluster-info")
-timerange int
Elasticsearch time range for records count into hours (default 6)
-zabbix-send
Send metrics or discovery data into zabbix
```