Answers:
我个人实际上检查过Redis是否仍在LS + ES上游的中央日志记录主机上出队。
即:redis-cli llen logstash
小于某个固定数字。
虽然这可能并不表示日志根本没有出现在redis中,但是我想也可以进行检查。
诸如检查之类的东西redis-cli info | grep total_commands_processed
不断增加,也许吧?
total_commands_processed
如果不是从logstash轮询而不是从info
命令本身进行轮询,是否总不会增加?
我在环境中使用zabbix,但我想这种方法也可以在其他设置中使用。我已经配置了允许zabbix使用的以下命令:
UserParameter=elasticsearch.commits,/usr/bin/curl -s 'localhost:9200/_cat/count?v' | /bin/sed -n '2p' | /bin/awk '{print $3}'
这将返回已提交的Elasticsearch记录总数。因此,我将这个值除以自上次采样以来的秒数(我每分钟检查一次),如果该数字降至任意限制以下,我可以发出警告。我还使用zabbix来检查logstash PID是否已死,并发出警报,并运行以下命令:
UserParameter=elasticsearch.health,/usr/bin/curl -s 'http://localhost:9200/_cluster/health?pretty=true' | /bin/sed -n '3p' | /bin/awk -F'\"' '{print $4}' | /bin/sed s/yellow/0/ | /bin/sed s/green/0/ | /bin/sed s/red/1/
如果群集运行状况变为红色(黄色和绿色都可以),则将返回1,我也可以发出警报。
我们使用几种方法: