设为首页 收藏本站
查看: 861|回复: 0

[经验分享] zabbix 监控ElasticSearch

[复制链接]

尚未签到

发表于 2019-1-25 06:05:32 | 显示全部楼层 |阅读模式
  使用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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-667128-1-1.html 上篇帖子: zabbix 清理旧数据 下篇帖子: 使用percona监控插件在zabbix中监控MySQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表