当前位置: 首页 > 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.zqtcl.cn/news/980852/

相关文章:

  • 南通制作网站的有哪些公司吗sae 部署wordpress
  • 友情链接对网站的影响wordpress admin init
  • 渭南网站开发做网红用哪个网站
  • 湖北建设网站wordpress 翻页电子书
  • 网站设计命名规范厦门建站比较好的公司
  • 用vs2010做网站登入前端培训费用大概多少郑州
  • 网站建设后的效果评估杭州网站制作公司
  • 3网站建设公司影楼修图用什么软件
  • 手机网站的内容模块多用户商城开源左
  • 库尔勒网站建站宝盒合作
  • 五河网站建设哪家好wordpress获取文章作者
  • 怎么修改网站内容wordpress ajax接口
  • 绵阳市城乡建设和规划局网站重庆网站建设公司有哪些
  • 宿迁网站建设公司排名展厅设计企业
  • 做家具定制的设计网站开阿里巴巴网站建设流程
  • 站长统计软件广州免费核酸在哪里做
  • 做soho一定要做网站吗在百度网站备案查询上显示未备案是什么意思
  • 移动公司营销网站设计html旅游网站模板
  • 专业生产车间设计图纸网站ui设计师证
  • 如何建网站教程视频10种网络营销方法
  • 网站内链优化的角度wordpress缓存插件破解版
  • 南宁网站建设哪个好天津网站建设咨询
  • 网站开发常用中间件计算机语言python
  • 学习html5的网站软件系统开发怎样容易
  • 做企业网站用什么华为弹性云服务器创建wordpress
  • 重庆手机网站开发网站建设的条件是什么
  • 舟山建设网站公司wordpress的总结
  • 如何做com的网站做网站设计学那个专业好
  • 中山如何建设网站如何安装wordpress模板
  • 如何搭建自己得网站树状wordpress主题