69 lines
3.8 KiB
Markdown
69 lines
3.8 KiB
Markdown
|
# 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:
|
|||
|
-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
|
|||
|
```
|