自定义监控项
一,比如我想监控sda的TPS值,首先利用awk把相关的取出来.利用shell
如果iostat没有安装可以利用yum安装 yum install sysstat -y shell取出值命令如下 iostat|awk '$1 ~/sda/{print $2}'
二,然后需要zabbix-agent的配置文件里面添加相关的配置写法
vim /etc/zabbix/zabbix_agentd.conf 然后找到# UserParameter= 具体写法如下: UserParameter=名称作用,shell命令 实际写法 UserParameter=sda_tps,iostat|awk '$1 ~/sda/{print $2}'
三,打开zabbixweb界面,找到主机
然后再来点击web01的监控项,根据自己的实际主机为例
点进去之后界面如下
然后再来添加一个监控项,点击右上角的创建监控项
进入以后的界面,按照,自己的一个实际环境实际需求填写
名称:自己需要监控的用途 键值:就是key值,我的key值叫sda_tps,这里一定要和你的key值一定要一模一样,否则取不了值 信息类型:展示界面的形式样子, 最后点击添加即可 查看刚才添加的监控项是否取到值
查看是否取到值
01在zabbix服务端利用命令取值,首先需要安装zabbix-get
安装命令: yum install zabbix-get 使用命令取值方法: zabbix_get -s 10.0.0.7 -k sda_tps
取值结果如下:
02里面web界面查看是否取到值。 首先找到监测,然后再点最新数据,主机这里选择你要取值的主机,然后根据自己写名称来查看,需要把查看细节这个选项勾上,再来点击应用即可!!
取值如下
自定义监控项,方便批量部署
查看zabbix_agentd.conf的include的文件 grep -Ev '^$|#' /etc/zabbix/zabbix_agentd.conf 返回结果: PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.0.0.71 ServerActive=10.0.0.71 Hostname=web01 Include=/etc/zabbix/zabbix_agentd.d/*.conf UserParameter=sda_tps,iostat|awk '$1 ~/sda/{print $2}'
这里面是自定义监控项的配置文件目录,可以把所有的自定义的配置文件全部方便这里目录下面方便迁移,和方便别的主机统一部署
/etc/zabbix/zabbix_agentd.d/*.conf
比如我我们可以把刚才的单独卸载zabbix配置文件里面的内容写在这里目录下,只要以.conf结尾即可
利用vim编辑一个新的文件
vim /etc/zabbix/zabbix_agentd.conf 写入以下内容: UserParameter=sda_tps,iostat|awk '$1 ~/sda/{print $2}' UserParameter=estab_count,netstat -antp|grep -c ':80'|grep -c 'ESTABLISGED'
解释: 这条是监控httpd的访问负载 UserParameter=estab_count,netstat -antp|grep -c ':80'|grep -c 'ESTABLISGED' 如果提示: (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) 0 可以用 chmod u+s /usr/bin/netstat 这样就可以正常返回结果了 因为普通用户是没有权限执行这条命令,需要给普通用户这个权限 这样,以后把所有的命令直接写在这里配置文件里面.方便以后批量部署
复制自定义监控项到其他监控主机
首先需要把自己自定的监控选中,然后点击复制
然后会出现以下界面
这里可以选择主机组,也可以选择单独一个主机,在对话框里面输入的组名或者主机名即可,我这里选择主机租,选择主机也是同理