博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix(x)
阅读量:6689 次
发布时间:2019-06-25

本文共 1093 字,大约阅读时间需要 3 分钟。

问题现象:

客户端设置好自定义监控项,脚本执行或者命令执行都可以正常的输出,但是服务器端通过zabbix-get从客户端获取数据的时候,获取到不正常的值(比如客户端获取到1,服务端获取时显示0或者直接显示为空):

eg:

在/etc/zabbix/zabbix-agent.d/userparameter_mysql.conf文件下面配置自定义监控项 UserParameter=test,/bin/jps|grep -i journalnode (1)、在客户端执行/bin/jps|grep -i journalnode

#  /home/deployer# /bin/jps |grep -i journalnode

    73916 JournalNode

发现是可以正常获取到结果

 (2)、zabbix-server端执行:

  #  zabbix_get -s 客户端IP -k test

 发现获取到的为空值

分析:这是由于该命令或者脚本没有可执行权限导致的。

解决:

(1)、在/etc/zabbix/zabbix-agent.d/userparameter_mysql.conf文件里面,在执行脚本或者命令的前面添加sudo权限;

(2)、给zabbix用户添加sudo权限,否则zabbix没有sudo权限,也就不能执行脚本或者命令了,打开visudo -f /etc/sudoers文件(该文件需要使用root权限),添加如下:

zabbix ALL=(ALL)NOPASSWD: /bin/jps(这个脚本)

接着在服务端重新获取监控项值的时候提示报错,如下:

还需要修改sudo配置文件,直接键如visudo命令编辑配置文件:

1. 注释Defaults requiretty 

Defaults requiretty修改为 #Defaults requiretty, 表示不需要控制终端。 或者在配置文件中添加 Defaults:zabbix !requiretty
否则会出现sudo: sorry, you must have a tty to run sudo

2. 增加行 Defaults visiblepw 

否则会出现 sudo: no tty present and no askpass program specified

 

 

 

本文借鉴于:http://blog.sina.cn/dpool/blog/s/blog_161d6d4550102xaqo.html

转载于:https://www.cnblogs.com/yjt1993/p/10860544.html

你可能感兴趣的文章
mysql 利用触发器(Trigger)让代码更简单
查看>>
[译]ASP.NET Core 2.0 视图引擎
查看>>
(原)InsightFace及其mxnet代码
查看>>
OpenCV学习:实现简单的图像叠加
查看>>
Intent跳转到系统应用中的拨号界面、联系人界面、短信界面及其他
查看>>
java.io包的总体框架图(转)
查看>>
VKDevTool App黑盒调试工具
查看>>
那个你身边悄悄离职的人去哪儿了?IT人才流动大盘点
查看>>
精读《手写 SQL 编译器 - 智能提示》
查看>>
Java多线程干货系列—(四)volatile关键字| 掘金技术征文
查看>>
我们来翻翻元素样式的族谱-getComputedStyle
查看>>
Hessian HTTP POST访问时,Nginx返回411问题
查看>>
Redux进阶系列2: 如何合理地设计State
查看>>
[译] 部署!=发布(第二部分)
查看>>
数据结构和算法面试题系列—C指针、数组和结构体
查看>>
Android解析ActivityManagerService(一)AMS启动流程和AMS家族
查看>>
大前端开发者需要了解的基础编译原理和语言知识
查看>>
Exif图片方向的一些发现
查看>>
iOS关联对象
查看>>
Javascript如何实现GPU加速?
查看>>