当前位置: 首页 > news >正文

温州做网站哪里好深圳手机商城网站设计多少钱

温州做网站哪里好,深圳手机商城网站设计多少钱,学校网站建设的流程,互联网推广外包当我们在线上使用了ActiveMQ 后#xff0c;我们需要对一些参数进行监控#xff0c;比如 消息是否有阻塞#xff0c;哪个消息队列阻塞了#xff0c;总的消息数是多少等等。下面我们就通过 Zabbix 结合 Python 脚本来实现对 ActiveMQ的监控。 一、创建 Activemq Python 监控…当我们在线上使用了ActiveMQ 后我们需要对一些参数进行监控比如 消息是否有阻塞哪个消息队列阻塞了总的消息数是多少等等。下面我们就通过 Zabbix 结合 Python 脚本来实现对 ActiveMQ的监控。 一、创建 Activemq Python 监控脚本 因为 CentOS 系统默认安装的是 Python2.7为了避免麻烦我们这里的脚本也是对应的 Python2 Python2 监控脚本 # -*- coding: utf-8 -*- # Time : 2019/6/25 9:26 # Author : djx # Email : djxlsp163.com # File : mointer_mq_python2.py # Software: PyCharm # Python_version: python2.7import base64 import urllib2 import json import logging import sysdef activemq_mointer(userinfo_encode):# 总的消息阻塞数pending_queue_sum 0# 阻塞消息的队列名称pending_queue_lists # 总的消息数mq_sum 0headers {Authorization: Basic {}.format(userinfo_encode),ua: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36}url http:// ip : port \/api/jolokia/read/org.apache.activemq:typeBroker,brokerNamelocalhost/Queues/request urllib2.Request(urlurl, headersheaders)try:response urllib2.urlopen(request)except Exception as e:logging.error(e)return {pending_queue_sum: 110, pending_queue_lists: 110, mq_sum: 0} # 当服务不可用时返回预警数字用于预警。activemq_info response.read()activemq_info_json json.loads(activemq_info)activemq_queues activemq_info_json[value]for i in activemq_queues:queue_url http:// ip : port \/api/jolokia/read/ i[objectName]queue_request urllib2.Request(urlqueue_url, headersheaders)try:queue_response urllib2.urlopen(queue_request)except Exception as e:logging.error(e)return {pending_queue_sum: 110, pending_queue_lists: 110, mq_sum: 0}queue_info queue_response.read()info_dict json.loads(queue_info)mq_sum info_dict[value][EnqueueCount]if int(info_dict[value][QueueSize]) 0: # 取值 QueueSize 就是未消费的消息数量pending_queue_sum info_dict[value][QueueSize]pending_queue_lists info_dict[value][Name]pending_queue_lists and logging.info(消息队列--{}--有阻塞消息--{} 条.format(info_dict[value][Name],info_dict[value][QueueSize]))return {pending_queue_sum: pending_queue_sum, pending_queue_lists: pending_queue_lists, mq_sum: mq_sum}if __name__ __main__:# ActiveMQ 服务器信息username adminpassword adminip 127.0.0.1port 8161userinfo username : passworduserinfo_encode base64.b64encode(userinfo.encode(utf8))# 日志配置,注意下面日志文件的路径是采用相对路径的。logging.basicConfig(filename/var/log/activemq_mointer.log,filemodea,format%(asctime)s %(name)s:%(levelname)s:%(message)s,datefmt%d-%M-%Y %H:%M:%S,levellogging.DEBUG)if len(sys.argv) 2:mointer_argv sys.argv[1]if mointer_argv in (pending, pending_lists, queue_sum):mq_re activemq_mointer(userinfo_encode)if mointer_argv pending:print(mq_re[pending_queue_sum])elif mointer_argv pending_lists:print(mq_re[pending_queue_lists])else:print(mq_re[mq_sum])else:# 错误提示print(Please enter the correct parameters pending|pending_lists|queue_sum)else:# 错误提示print(Please enter the correct parameters pending|pending_lists|queue_sum) 使用该脚本注意事项 传入参数只能一个 而且只能是 pending, pending_lists, queue_sum 分别代表阻塞消息数、阻塞消息队列名称、总的消息数。 脚本有日志记录和异常记录注意设置 日志文件路径假设脚本路径位于 /opt/scripts/,我们在该目录下进行执行脚本的话activemq_mointer.log 日志文件也就会产生在当前目录下。我们可以在路径中通过绝对路径来指定文件夹 形如 /var/log/activemq_mointer.log 该脚本是由 zabbix agent 进行使用 所以我们需要设置该 脚本的权限以及保证该脚本的用户有创建日志文件的权限(或者我们先前创建好对应权限日志文件) sudo chown zabbix:zabbix mointer_mq_python2.py sudo chmod 744 mointer_mq_python2.py sudo touch /var/log/activemq_mointer.log sudo chown zabbix:zabbix /var/log/activemq_mointer.logPython3 脚本 # -*- coding: utf-8 -*- # Time : 2019/6/25 9:20 # Author : djx # Email : djxlsp163.com # File : mointer_mq.py.py # Software: PyCharm # Python_version: python3import base64 import requests import logging import sysdef activemq_mointer(userinfo_encode):# 总的消息阻塞数pending_queue_sum 0# 阻塞消息的队列名称pending_queue_lists # 总的消息数mq_sum 0headers {Authorization: Basic {}.format(str(userinfo_encode,utf-8)),ua: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36}url http:// ip : port /api/jolokia/read/org.apache.activemq:typeBroker,brokerNamelocalhost/Queues/try:response requests.get(urlurl, headersheaders)except Exception as e:logging.error(e)return {pending_queue_sum: 110, pending_queue_lists: 110, mq_sum: 0} # 当服务不可用时返回预警数字用于预警。activemq_info response.json()activemq_queues activemq_info[value]for i in activemq_queues:queue_url http:// ip : port /api/jolokia/read/ i[objectName]try:queue_info requests.get(urlqueue_url, headersheaders)except Exception as e:logging.error(e)return {pending_queue_sum: 110, pending_queue_lists: 110, mq_sum: 0}info_dict queue_info.json()mq_sum info_dict[value][EnqueueCount]if int(info_dict[value][QueueSize]) 0: # 取值 QueueSize 就是未消费的消息数量pending_queue_sum info_dict[value][QueueSize]pending_queue_lists info_dict[value][Name]pending_queue_lists and logging.info(Queues--{}--peding msg --{}.format(info_dict[value][Name],info_dict[value][QueueSize]))return {pending_queue_sum: pending_queue_sum, pending_queue_lists: pending_queue_lists, mq_sum: mq_sum}if __name__ __main__:# ActiveMQ 服务器信息username adminpassword adminip 127.0.0.1port 8161userinfo username : passworduserinfo_encode base64.b64encode(userinfo.encode(utf8))# 日志配置logging.basicConfig(filename/var/log/activemq_mointer.log,filemodea,format%(asctime)s %(name)s:%(levelname)s:%(message)s,datefmt%Y-%m-%d %H:%M:%S,levellogging.INFO)if len(sys.argv) 2:mointer_argv sys.argv[1]if mointer_argv in (pending, pending_lists, queue_sum):mq_re activemq_mointer(userinfo_encode)if mointer_argv pending:print(mq_re[pending_queue_sum])elif mointer_argv pending_lists:print(mq_re[pending_queue_lists])else:print(mq_re[mq_sum])else:# 错误提示print(Please enter the correct parameters pending|pending_lists|queue_sum)else:# 错误提示print(Please enter the correct parameters pending|pending_lists|queue_sum) 二 、设置 zabbix agent 设置 zabbix agent # 将监控项配置写入配置文件 sudo echo UserParameteractivemq.mointer[*],python /opt/scripts/mointer_mq_python2.py \$1 /opt/zabbix-agent/etc/zabbix_agentd.conf # 重启zabbix agent sudo systemctl restart zabbix-agent 三、导入监控项 监控模板 xml 文件。(该监控模板包含三个监控项一个触发器) ?xml version1.0 encodingUTF-8? zabbix_exportversion4.0/versiondate2019-06-26T03:49:47Z/dategroupsgroupnameAWS-1688/name/groupgroupnameFy-hbg/name/group/groupstemplatestemplatetemplateTemplate App ActiveMQ/templatenameTemplate App ActiveMQ/namedescription/groupsgroupnameAWS-1688/name/groupgroupnameFy-hbg/name/group/groupsapplicationsapplicationnameActiveMQ/name/application/applicationsitemsitemnameactivemq pending amount/nametype0/typesnmp_community/snmp_oid/keyactivemq.mointer[pending]/keydelay1m/delayhistory90d/historytrends365d/trendsstatus0/statusvalue_type3/value_typeallowed_hosts/units条/unitssnmpv3_contextname/snmpv3_securityname/snmpv3_securitylevel0/snmpv3_securitylevelsnmpv3_authprotocol0/snmpv3_authprotocolsnmpv3_authpassphrase/snmpv3_privprotocol0/snmpv3_privprotocolsnmpv3_privpassphrase/params/ipmi_sensor/authtype0/authtypeusername/password/publickey/privatekey/port/description/inventory_link0/inventory_linkapplicationsapplicationnameActiveMQ/name/application/applicationsvaluemap/logtimefmt/preprocessing/jmx_endpoint/timeout3s/timeouturl/query_fields/posts/status_codes200/status_codesfollow_redirects1/follow_redirectspost_type0/post_typehttp_proxy/headers/retrieve_mode0/retrieve_moderequest_method0/request_methodoutput_format0/output_formatallow_traps0/allow_trapsssl_cert_file/ssl_key_file/ssl_key_password/verify_peer0/verify_peerverify_host0/verify_hostmaster_item//itemitemnameactivemq pending queue name/nametype0/typesnmp_community/snmp_oid/keyactivemq.mointer[pending_lists]/keydelay1m/delayhistory90d/historytrends0/trendsstatus0/statusvalue_type1/value_typeallowed_hosts/units/snmpv3_contextname/snmpv3_securityname/snmpv3_securitylevel0/snmpv3_securitylevelsnmpv3_authprotocol0/snmpv3_authprotocolsnmpv3_authpassphrase/snmpv3_privprotocol0/snmpv3_privprotocolsnmpv3_privpassphrase/params/ipmi_sensor/authtype0/authtypeusername/password/publickey/privatekey/port/description/inventory_link0/inventory_linkapplicationsapplicationnameActiveMQ/name/application/applicationsvaluemap/logtimefmt/preprocessing/jmx_endpoint/timeout3s/timeouturl/query_fields/posts/status_codes200/status_codesfollow_redirects1/follow_redirectspost_type0/post_typehttp_proxy/headers/retrieve_mode0/retrieve_moderequest_method0/request_methodoutput_format0/output_formatallow_traps0/allow_trapsssl_cert_file/ssl_key_file/ssl_key_password/verify_peer0/verify_peerverify_host0/verify_hostmaster_item//itemitemnameTotal number of activemq msg/nametype0/typesnmp_community/snmp_oid/keyactivemq.mointer[queue_sum]/keydelay1m/delayhistory90d/historytrends365d/trendsstatus0/statusvalue_type3/value_typeallowed_hosts/units条/unitssnmpv3_contextname/snmpv3_securityname/snmpv3_securitylevel0/snmpv3_securitylevelsnmpv3_authprotocol0/snmpv3_authprotocolsnmpv3_authpassphrase/snmpv3_privprotocol0/snmpv3_privprotocolsnmpv3_privpassphrase/params/ipmi_sensor/authtype0/authtypeusername/password/publickey/privatekey/port/description/inventory_link0/inventory_linkapplicationsapplicationnameActiveMQ/name/application/applicationsvaluemap/logtimefmt/preprocessing/jmx_endpoint/timeout3s/timeouturl/query_fields/posts/status_codes200/status_codesfollow_redirects1/follow_redirectspost_type0/post_typehttp_proxy/headers/retrieve_mode0/retrieve_moderequest_method0/request_methodoutput_format0/output_formatallow_traps0/allow_trapsssl_cert_file/ssl_key_file/ssl_key_password/verify_peer0/verify_peerverify_host0/verify_hostmaster_item//item/itemsdiscovery_rules/httptests/macros/templates/screens//template/templatestriggerstriggerexpression{Template App ActiveMQ:activemq.mointer[pending].avg(10m)}gt;5/expressionrecovery_mode1/recovery_moderecovery_expression{Template App ActiveMQ:activemq.mointer[pending].avg(5m)}0/recovery_expressionnameactivemq queue pending on {HOST.NAME}/namecorrelation_mode0/correlation_modecorrelation_tag/url/status0/statuspriority3/prioritydescriptionactivemq 消息发生阻塞10分钟内平均阻塞消息数超过5条/descriptiontype0/typemanual_close0/manual_closedependencies/tags//trigger/triggers /zabbix_export 将该监控模板链接到对应的主机。 我们可以看到我们监控的数据了。 至此ActiveMQ 的监控项都已经配置好了。
http://www.pierceye.com/news/980852/

相关文章:

  • 自己做下载类网站家在深圳网页版
  • 建设银行网站个人客户传奇新服网
  • 河东手机网站建设工作服厂家联系方式
  • 站长工具seo综合查询搭建流程
  • 各省住房和城乡建设厅网站怎样租用个人网站空间
  • 深圳市南山区住房和建设局网站官网桂林两江四湖象山景区讲解导游词
  • 环保网站设计是什么柴沟堡做网站公司
  • 用php和mysql做网站wordpress怎么创建自己的博客
  • 网站建设制作设计珠海百度收录排名
  • 有没有做家具特卖的网站360建筑
  • 网站建设技术架构学校网站建设源代码
  • 无为教育网站网站平面设计培训
  • 广东省建筑网站信誉好的低价网站建设
  • 高端网站建设 杭州做效果图网站
  • 进贤县住房和城乡建设局网站短网址生成网站源码
  • 手机网站用二级目录做的弊端四川建设人员数据网站
  • 做网站什么类型好数据分析师培训需要多少钱
  • 建html5网站合作网站开发
  • 南通网站推广优化公司网站语言切换功能如何做
  • php网站开发案例论文临沂网站建设中企动力
  • 霸州做网站1766534168WordPress全局屏蔽谷歌
  • 织梦做的网站被黑了北京互联网排名
  • 专业seo整站优化专业建站教程
  • 网站建设合同注意点什么网站可以接设计方案
  • 青岛建设公司网站费用建网站的流程和费用
  • 徐州cms模板建站液压电机东莞网站建设
  • 阿里巴巴国际站运营工作内容北京软件开发公司排行榜最新
  • 电子商务网站的开发流程包括泉州seo建站
  • 微信h5商城网站开发米拓模板网站建设
  • 品牌网站设计案例wordpress 实例