共计 4655 个字符,预计需要花费 12 分钟才能阅读完成。
根据上篇配置的环境(见 http://www.linuxidc.com/Linux/2016-04/130015.htm),接下来说明在 zabbix agent 上执行远程命令是如何完成的。
远程命令受到一些限制:
(1)在 agent 执行远程命令必须给 zabbix 用户定义 sudu 规则:
(2)不支持 active 模式的 agent
(3)不支持代理模式
(4)命令长度不得超过 255 个字符
(5)可以使用宏
(6)zabbix-server 仅执行命令,而不关心命令是否执行成功
修改一下 agent 的配置文件,vim /etc/zabbix/zabbix_agentd.conf 把 EnableRemoteCommands 和 LogRemoteCommands 这两个参数都设置为 1,第一个参数表示支持远程命令执行,第二个表示该操作将被记录到日志中。
回到 zabbix web gui 界面在 client 主机下定义一个新的 item:
此处我设置的数据类型为 Boolean,非真(1)即假(0),item key 为监听 tcp 的 80 端口。
item 定义好了
再为该 item 定义一个 trigger
Expression 表示最后一次取值是否为 0,如果为 0 则触发该 trigger。
trigger 也定义好了
为该 trigger 定义一个 action:
制定了在哪台 agent 上执行命令为 client,注意执行的命令前要添加 sudo。
action 定义好了
因为执行命令的用户为 zabbix。此时该命令还无法执行,还得去 sudoer 文件去为 zabbix 用户添加执行权限,在 agent 端执行命令 visudo
添加一行,表示 zabbix 可以在任何主机(过来请求执行命令的主机)执行任何命令,而不需要密码。
Defaults 这个参数表示要求执行命令的用户必须通过 tty 终端登录了该主机,而执行远程命令的 zabbix 不会登陆系统,所以必须得注释掉该参数。
手动启动 httpd 服务发现服务虽然启动了但报了一个错:
vim /etc/hosts
把第一行的主机名修改为 client(当前主机名)。停掉 httpd 服务。这时远程命令就会自动执行了,ss -tnl 查看 80 端口会被监听了。查看一下日志最后一行显示命令已经执行:
接下来自定义个 item key,vim /etc/zabbix/zabbix_agentd.conf
这个目录存放自定义 item key 的文件,自定义 item key 的语法为:UserParameter=key,command 或 UserParameter=key[*],command 后面的那个表示是可以带参数,参数在 command 中的调用为 $1,$2..
vim /etc/zabbix/zabbix_agentd.d/os.conf
自定义的 item key 名字为 os.memory.free 命令取得的值为空闲的内存数,还得重启 agent 服务 service zabbix-agent restart。
回到 gui 界面,重新定义一个 item
再为该 item 定义一个 graph
此图下面已经显示所取得平均值了。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-04/130104p2.htm
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm
《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm
CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm
Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
接下来再用 UserParameter=key[*],command 这种语法格式定义 item key vim os.conf
在 zabbix 服务器上执行 MySQL -e “show global status” | awk ‘/Com_select/{print $0}’
只取得它的查询数 mysql -e “show global status” | awk ‘/Com_select/{print $2}’
在 os.conf 文件后面定义:vim /etc/zabbix/zabbix_agentd.d/os.conf
print 后面加了两个 $ 是为了避免与前面的 $ 冲突,定义完毕,service zabbix-agnet restart, 在该 agent 上安装 mysql yum -y install mysql-server service mysqld start
mysql grant all on *.* to ‘root’@’%’ identified by ‘password’ flush privileges
在 zabbix 服务器上去使用 zbbix_get 命令去获取刚刚定义 item key
zabbix_get -s 192.168.238.222 -k “Mysql.dml[192.168.238.222,root,password,select]”
回到 web 页,再为 agent 定义一个 item, 监控 server 上的 Com_select 先到 server 上进行授权 mysql grant all on *.* to ‘root’@’%’ identified by ‘password’;
到 web gui 上定义 item
为该 item 定义一个 graph
点击 preview
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130104.htm
根据上篇配置的环境(见 http://www.linuxidc.com/Linux/2016-04/130015.htm),接下来说明在 zabbix agent 上执行远程命令是如何完成的。
远程命令受到一些限制:
(1)在 agent 执行远程命令必须给 zabbix 用户定义 sudu 规则:
(2)不支持 active 模式的 agent
(3)不支持代理模式
(4)命令长度不得超过 255 个字符
(5)可以使用宏
(6)zabbix-server 仅执行命令,而不关心命令是否执行成功
修改一下 agent 的配置文件,vim /etc/zabbix/zabbix_agentd.conf 把 EnableRemoteCommands 和 LogRemoteCommands 这两个参数都设置为 1,第一个参数表示支持远程命令执行,第二个表示该操作将被记录到日志中。
回到 zabbix web gui 界面在 client 主机下定义一个新的 item:
此处我设置的数据类型为 Boolean,非真(1)即假(0),item key 为监听 tcp 的 80 端口。
item 定义好了
再为该 item 定义一个 trigger
Expression 表示最后一次取值是否为 0,如果为 0 则触发该 trigger。
trigger 也定义好了
为该 trigger 定义一个 action:
制定了在哪台 agent 上执行命令为 client,注意执行的命令前要添加 sudo。
action 定义好了
因为执行命令的用户为 zabbix。此时该命令还无法执行,还得去 sudoer 文件去为 zabbix 用户添加执行权限,在 agent 端执行命令 visudo
添加一行,表示 zabbix 可以在任何主机(过来请求执行命令的主机)执行任何命令,而不需要密码。
Defaults 这个参数表示要求执行命令的用户必须通过 tty 终端登录了该主机,而执行远程命令的 zabbix 不会登陆系统,所以必须得注释掉该参数。
手动启动 httpd 服务发现服务虽然启动了但报了一个错:
vim /etc/hosts
把第一行的主机名修改为 client(当前主机名)。停掉 httpd 服务。这时远程命令就会自动执行了,ss -tnl 查看 80 端口会被监听了。查看一下日志最后一行显示命令已经执行:
接下来自定义个 item key,vim /etc/zabbix/zabbix_agentd.conf
这个目录存放自定义 item key 的文件,自定义 item key 的语法为:UserParameter=key,command 或 UserParameter=key[*],command 后面的那个表示是可以带参数,参数在 command 中的调用为 $1,$2..
vim /etc/zabbix/zabbix_agentd.d/os.conf
自定义的 item key 名字为 os.memory.free 命令取得的值为空闲的内存数,还得重启 agent 服务 service zabbix-agent restart。
回到 gui 界面,重新定义一个 item
再为该 item 定义一个 graph
此图下面已经显示所取得平均值了。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-04/130104p2.htm
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm
《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm
CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm
Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里