zabbix监控supervisorctl status状态程序运行状态无法获取值的解决方法

前几天做zabbix监控supervisorctl status的程序运行状态,获取RUNNING的状态,如果配置是RUNNING,就返回结果为1,如果非RUNNING,就返回为0

测试过程中,不管怎么执行,本地执行都很正常,就是zabbix获取的时候,就是一个非正常值,排查了很久,认为zabbix获取的有问题,经排查,发现是zabbix执行supervisorctl status时没有权限,所以返回的值就不正常了,
报错如下:
error: <class ‘socket.error‘>, [Errno 13] Permission denied: file: /usr/lib64/python2.7/socket.py line: 224

故障原因:
从表面上看,好像是文件没权限,加权限也解决不了,其实是zabbix去调用supervisorctl status的时候,使用的是zabbix用户,所以没有权限,我没试过去授权zabbix,我的解决方法是如下

  • #!/bin/bash```
  • file=/usr/local/zabbix/etc/zabbix_agentd.conf.d/supervisorctl.txt
  • case $1 in
  • redis)
  • REDIS=grep "redis" $file |awk ‘{print $2}‘
  • if [ "$REDIS" == "RUNNING" ];then
  • echo "2"
  • else
  • echo "1"
  • fi
  • ;;
  • *)
  • echo "USAGE: $0 [ redis | motorroom ]"
  • esac
    
    就是先将supervisorctl status值输出到/supervisorctl.txt文件中,然后通过脚本去获取这个文件中的内容,来做到获值,这样就不存在权限的报错

原文地址:http://blog.51cto.com/zhongliang/2156598

时间: 2024-11-08 07:44:28

zabbix监控supervisorctl status状态程序运行状态无法获取值的解决方法的相关文章

zabbix监控nginx连接状态

zabbix学习笔记:zabbix监控nginx连接状态 zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数).下面我们使用zabbix监控nginx. nginx的安装 如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块. 1.解压安装包: [[email prot

使用zabbix监控mysql主从状态

公司mysql架构为一主多从.在日常使用过程中我们经常会遇到主从不同步的情况,为了及时处理此问题现使用zabbix监控mysql主从状态并设置触发器,如有异常则发送邮件报警. 我们都知道使用命令"show slave status \G"可以查看mysql从的状态,下面用脚本方式检查其状态. 在mysql-slave中进入zabbix-agent目录创建脚本文件. cat mysql_slave_status.sh #!/bin/bash /usr/local/mysql/bin/my

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_54bf02090100xlqy.html   现象:VMware Workstation 8.0在安装VMware Tools时弹出对话框,提示"安装程序无法继续.Microsoft Runtime DLL安装程序未能完成安装."如图: 原因:虚拟机中Windows Installer服务

ADODB.Connection 错误 &#39;800a0e7a&#39; 未找到提供程序。该程序可能未正确安装。解决方法!

[问题描述]调试基于ACCESS+ASP的网站程序的时候,遇到如下错误: ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /Inc/Function.asp,行 9 [原因分析]因为系统是64位的win7或win8.1所以会出现这个问题,解决方法如下: [解决方法]找到IIS应用程序池,“设置应用程序池默认属性”-->“常规”-->”启用 32 位应用程序”,设置为 True即可解决. ADODB.Connection 错误 '800a0e

excel2003出现“向程序发送命令时出现错误”解决方法

电脑已经预装了office2010,因为想要学习 <Excel 图标之道>,安装了Excel2003,刚刚安装好,打开出现“向程序发送命令时出现错误”,虽然点击确定就可以用了,可总是觉得不爽,网上找了相关方法, 1. 在资源管理器中进入“C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates”目录,删除其中的“Normal.dot”公用模板文件(可能还有个隐藏的编辑中的文件,一并删除),再重新启动

微信小程序传值以及获取值方法

微信小程序传值以及获取值方法,传值有两种方法,对应也有获取值得方法, 1.设置id的方法标识跳转后传递的参数值: 2.通过使用data - xxxx 的方法来标识要传递的值 微信小程序设置id的方法标识来传值 在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,比如一部电影的id(后面带着id去下一个页面查询,详细信息)如: 后我们在js的bindtap的响应事件中获取,并传递到下一个界面中: 获取到id传的值 通过e.currentTarget.id;获取设置的id值,并通过

“程序已停止工作”问题的解决方法,停止解决方法

"程序已停止工作"问题的解决方法,停止解决方法 问题 遇到一个程序打不开的错误,如图: 问题详细信息如下: 问题签名:问题事件名称: CLR20r3问题签名 01: rdh-idss.exe问题签名 02: 1.0.1.0问题签名 03: 5510d590问题签名 04: RDH-IDSS问题签名 05: 1.0.1.0问题签名 06: 5510d590问题签名 07: 92问题签名 08: 10问题签名 09: System.BadImageFormatException 解决 1)

zabbix监控iptables防火墙状态之是否有丢弃的包(攻-击)

概述 之前有介绍通过saltstack统一管理线上防火墙规则,并且是在默认规则为DROP策略下,即意味着,如果没有明确允许开放或允许出去访问,则防火墙会拒绝请求;特别是在线上防火墙改造时,可能由于历史原因不知道开放了那些服务,也不知道机器上的服务是否有出去请求的情况下,此时需要记录防火墙访问日志,并查看是否有合法的请求被阻止了,这样会影响业务的,你懂滴,另外如果我们的机器被扫描,被***时,也会有大量的拒绝,因此不管出于什么目的,我们需要对防火墙是否有被阻止的请求做监控;做到有点放矢;有问题报警

zabbix监控nginx性能状态

nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,来发现出来出现的问题.nginx处理流程图具体如下: 注释:Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Reading(读).Writing(写)随着请求量而增减 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资源: 功能