По умолчанию Elasticsearch не сообщает количество документов записываемых документов. В заметке пример скрипта для подсчета количества записываемых документов (EPS).
Для работы скрипта требуется установленный jq
в Debian\Ubuntu
apt install jq
в CentOS требуется epel, установка
yum install jq
Elasticsearch запивает документы в индекс с задержкой указанной в settings.index.refresh_interval, это необходимо для оптимизации.
Количество документов можно получить из параметра _count кластеру.
Средний EPS будет является количество документов записанных в Elasticsearch за refresh_interval
#!/bin/bash
TIMEOUT=$(curl -sS -XGET 'localhost:9200/_settings'|jq .[0].settings.index.refresh_interval | sed 's/[^0-9]*//g')
COUNT1=$(curl -sS http://localhost:9200/_count|jq .count)
sleep $TIMEOUT
COUNT2=$(curl -sS http://localhost:9200/_count|jq .count)
eps=$(( ($COUNT2 - $COUNT1) / $TIMEOUT ))
echo "eps: $eps"