zhu894532094 发表于 2019-1-25 06:05:32

zabbix 监控ElasticSearch

  使用elasticsearch的健康检查命令来监控其集群状态:
curl -s -XGET 192.168.1.22:9200/_cluster/health?pretty
{
"cluster_name" : "elastic",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 5,
"active_shards" : 10,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}  

  配置键值参数
  在zabbix存放自定义参数模板路径下创建如下文件:
cat /etc/zabbix/zabbix_agentd.d/userparameter_elastic.conf
UserParameter=estic.status,/bin/sh /scripts/elastic_zabbix.sh status
UserParameter=estic.timed_out,/bin/sh /scripts/elastic_zabbix.sh timed_out
UserParameter=estic.number_of_nodes,/bin/sh /scripts/elastic_zabbix.sh number_of_nodes
UserParameter=estic.number_of_data_nodes,/bin/sh /scripts/elastic_zabbix.sh number_of_data_nodes
UserParameter=estic.active_primary_shards,/bin/sh /scripts/elastic_zabbix.sh active_primary_shards
UserParameter=estic.active_shards,/bin/sh /scripts/elastic_zabbix.sh active_shards
UserParameter=estic.relocating_shards,/bin/sh /scripts/elastic_zabbix.sh relocating_shards
UserParameter=estic.initializing_shards,/bin/sh /scripts/elastic_zabbix.sh initializing_shards
UserParameter=estic.unassigned_shards,/bin/sh /scripts/elastic_zabbix.sh unassigned_shards
UserParameter=estic.delayed_unassigned_shards,/bin/sh /scripts/elastic_zabbix.sh delayed_unassigned_shards
UserParameter=estic.number_of_pending_tasks,/bin/sh /scripts/elastic_zabbix.sh number_of_pending_tasks
UserParameter=estic.number_of_in_flight_fetch,/bin/sh /scripts/elastic_zabbix.sh number_of_in_flight_fetch
UserParameter=estic.task_max_waiting_in_queue_millis,/bin/sh /scripts/elastic_zabbix.sh task_max_waiting_in_queue_millis
UserParameter=estic.active_shards_percent_as_number,/bin/sh /scripts/elastic_zabbix.sh active_shards_percent_as_number  执行脚本可以放在自定义的目录中,和上面定义的参数对应:
cat /scripts/elastic_zabbix.sh
#!/bin/bash
URL="192.168.1.22:9200/_cluster/health"
ESstatus="`curl -s -XGET $URL`"
#echo $ESstatus
status=`echo $ESstatus|awk -F '[:,}]' '{print $4}'`
timed_out=`echo $ESstatus|awk -F '[:,}]' '{print $6}'`
number_of_nodes=`echo $ESstatus|awk -F '[:,}]' '{print $8}'`
number_of_data_nodes=`echo $ESstatus|awk -F '[:,}]' '{print $10}'`
active_primary_shards=`echo $ESstatus|awk -F '[:,}]' '{print $12}'`
active_shards=`echo $ESstatus|awk -F '[:,}]' '{print $14}'`
relocating_shards=`echo $ESstatus|awk -F '[:,}]' '{print $16}'`
initializing_shards=`echo $ESstatus|awk -F '[:,}]' '{print $18}'`
unassigned_shards=`echo $ESstatus|awk -F '[:,}]' '{print $20}'`
delayed_unassigned_shards=`echo $ESstatus|awk -F '[:,}]' '{print $22}'`
number_of_pending_tasks=`echo $ESstatus|awk -F '[:,}]' '{print $24}'`
number_of_in_flight_fetch=`echo $ESstatus|awk -F '[:,}]' '{print $26}'`
task_max_waiting_in_queue_millis=`echo $ESstatus|awk -F '[:,}]' '{print $28}'`
active_shards_percent_as_number=`echo $ESstatus|awk -F '[:,}]' '{print $30}'`
get_values(){
case $1 in
status) echo $status
;;
timed_out) echo $timed_out
;;
number_of_nodes) echo $number_of_nodes
;;
number_of_data_nodes) echo $number_of_data_nodes
;;
active_primary_shards) echo $active_primary_shards
;;
active_shards) echo $active_shards
;;
relocating_shards) echo $relocating_shards
;;
initializing_shards) echo $initializing_shards
;;
unassigned_shards) echo $unassigned_shards
;;
delayed_unassigned_shards) echo $delayed_unassigned_shards
;;
number_of_pending_tasks) echo $number_of_pending_tasks
;;
number_of_in_flight_fetch) echo $number_of_in_flight_fetch
;;
task_max_waiting_in_queue_millis) echo $task_max_waiting_in_queue_millis
;;
active_shards_percent_as_number) echo $active_shards_percent_as_number
;;
   *)
   echo error
esac
}
main (){
get_values $1
}
main $1  这里是三个节点的Elastic组成的集群,在每个节点上配置以上的参数和脚本。
  

  导入配置模板
  附件是对应自定义的zabbix监控模板,可以根据自己的需要进行修改:


    3.2
    2017-05-10T07:40:20Z
   
      
            Templates
      
   
   
      
            Template Elastic Search
            Template Elastic Search
            
            
               
                  Templates
               
            
            
               
                  Elasticsearch healthcheck
               
            
            
               
                  estic.active_primary_shards
                  0
                  
                  1
                  
                  estic.active_primary_shards
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.active_shards
                  0
                  
                  1
                  
                  estic.active_shards
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.active_shards_percent_as_number
                  0
                  
                  1
                  
                  estic.active_shards_percent_as_number
                  300
                  30
                  30
                  0
                  0
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.delayed_unassigned_shards
                  0
                  
                  1
                  
                  estic.delayed_unassigned_shards
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.initializing_shards
                  0
                  
                  1
                  
                  estic.initializing_shards
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.number_of_data_nodes
                  0
                  
                  1
                  
                  estic.number_of_data_nodes
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.number_of_in_flight_fetch
                  0
                  
                  1
                  
                  estic.number_of_in_flight_fetch
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.number_of_nodes
                  0
                  
                  1
                  
                  estic.number_of_nodes
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.number_of_pending_tasks
                  0
                  
                  0
                  
                  estic.number_of_pending_tasks
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.relocating_shards
                  0
                  
                  1
                  
                  estic.relocating_shards
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.status
                  0
                  
                  0
                  
                  estic.status
                  300
                  30
                  0
                  0
                  1
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.task_max_waiting_in_queue_millis
                  0
                  
                  1
                  
                  estic.task_max_waiting_in_queue_millis
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.timed_out
                  0
                  
                  0
                  
                  estic.timed_out
                  300
                  30
                  0
                  0
                  1
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
               
                  estic.unassigned_shards
                  0
                  
                  1
                  
                  estic.unassigned_shards
                  300
                  30
                  30
                  0
                  3
                  
                  
                  0
                  
                  
                  0
                  0
                  
                  0
                  
                  1
                  
                  
                  
                  0
                  0
                  
                  
                  
                  
                  
                  
                  0
                  
                        
                            Elasticsearch healthcheck
                        
                  
                  
                  
               
            
            
            
            
            
            
      
   
   
      
            {Template Elastic Search:estic.status.str("\"green\"")}=0
            0
            
            elastic is down
            0
            
            
            0
            3
            
            0
            1
            
            
      
   
   
      
            estic.number_of_pending_tasks
            900
            200
            0.0000
            100.0000
            1
            1
            0
            1
            0
            0.0000
            0.0000
            0
            0
            0
            0
            
               
                  0
                  0
                  1A7C11
                  0
                  2
                  0
                  
                        Template Elastic Search
                        estic.active_primary_shards
                  
               
               
                  1
                  0
                  F63100
                  0
                  2
                  0
                  
                        Template Elastic Search
                        estic.active_shards
                  
               
               
                  2
                  0
                  2774A4
                  0
                  2
                  0
                  
                        Template Elastic Search
                        estic.number_of_data_nodes
                  
               
               
                  3
                  0
                  A54F10
                  0
                  2
                  0
                  
                        Template Elastic Search
                        estic.number_of_nodes
                  
               
            
      
   
  



附件:http://down.运维网.com/data/2366648

页: [1]
查看完整版本: zabbix 监控ElasticSearch