- 企业实战之监控升级可视化zabbix4.0 系列 四
- 添加agent客户端,linux系统及windows系统
- 一、实验环境
- 二、添加监控项的方法
- 我们在www_001这台主机上安装agent端
- https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz—no-check-certificate #网上下载安装包,或者直接拉进去">[root@www_001 ~]# wgethttps://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz—no-check-certificate #网上下载安装包,或者直接拉进去
- 你会发现跟zabbixserver是一样的包,这个包里包含了agent端,和server端
- 出现这个就成功了
- 在server端进行操作
- 三、使用模板监控
- 四、自定义key监控项
- 我们自己写一个无参数的获取可用内存的key,在001这台主机上读取内存,我们需要输出的值只是个数字
- 将这条命令写到脚本里
- !/bin/bash
- 这个是我们的自定义key的配置文件
- UserParameter —>表示自定义key
- mem.available—->逗号前边的是我们的key的名字,这个名字跟我们在web页面上写的时候要一样,不然报错
- sh /tmp/memavailable.sh—->逗号后边是我们需要执行的命令,这个命令的执行结果一定是个值,这个值就我们key返回的值
- 重启服务
- -s 指定去哪里获取
- -k 我的key 是什么名字
- 五、可以传参的自定义key
- !/bin/bash
- 修改配置文件
- 重启服务
- 六、Windows系统添加zabbix
企业实战之监控升级可视化zabbix4.0 系列 四
添加agent客户端,linux系统及windows系统
zabbix4.0系列
—私人课件,不出版,不公开,禁止传播
想做好运维工作,人先要学会勤快;
居安思危,勤记而补拙,方可不断提高;
别人的资料用的再爽也是别人的;
自己总结的东西是你自身特有的一种思想与理念的展现;
精髓不是看出来的,精髓是记出来的;
请同学们在学习的过程中养成好的学习习惯;
勤于实践,抛弃教案,勤于动手,整理文档。
+
一、实验环境
zabbix-server端
| 操作系统 | 主机名 | ip | 内存 |
|---|---|---|---|
| centos7.5 | zabbix | 192.168.200.173 | 1G |
zabbix-agent端
| 操作系统 | 被监控的主机名 | ip地址 | 运行的项目 | 内存 |
|---|---|---|---|---|
| centos6.5 | www_001 | 192.168.200.128 | nginx | 1G |
| centos7.5 | www_002 | 192.168.200.131 | nginx | 1G |
| windows10 | suluo | 192.168.200.149 | — | 2G |
二、添加监控项的方法
添加监控项目有多种方式
- simple check,被监控的服务器无需安装客户端,如ping,端口检测之类的
- zabbix agent,被动式监控服务器
- zabbix agent(active),主动式监控服务器
- snmp check,使用snmp协议去获取监控信息
- zabbix trapper,主动式监控
- External check,zabbix server上可编写监控脚本
- Jmx agent,监控java进程
2.1下载安装agent客户端
agent客户端
客户端监控、简单监控比较
能获取到更多的监控信息,例如cpu、内存等
zabbix客户端内置了很多key,方便我们监控基本硬件信息
zabbix客户端能够自定义监控,方便我们监控部署的应用
我们在www_001这台主机上安装agent端
- [root@www_001~]#yum install-y gcc gcc-c++make pcre-devel
- [root@www_001~]#useradd-M-s/sbin/nologin zabbix
[root@www_001 ~]# wgethttps://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz—no-check-certificate #网上下载安装包,或者直接拉进去
- [root@www_001~]#ls
- anaconda-ks.cfg install.log install.log.syslog nginx-1.16.1.tar.gz zabbix-4.0.3.tar.gz
你会发现跟zabbixserver是一样的包,这个包里包含了agent端,和server端
- [root@www_001~]#tar xf zabbix-4.0.3.tar.gz-C/usr/src/
- [root@www_001~]#cd/usr/src/zabbix-4.0.3/
- [root@www_001 zabbix-4.0.3]#./configure—prefix=/usr/local/zabbix—enable-agent
- Nowrun’make install’
- **
- ThankyouforusingZabbix!
- http://[www.zabbix.com](http://www.zabbix.com/)
出现这个就成功了
- [root@www_001 zabbix-4.0.3]#make&&make install
- [root@www_001 zabbix-4.0.3]#echo”$?”
- 0
- [root@www_001 zabbix-4.0.3]#chown zabbix:zabbix-R/usr/local/zabbix/
- [root@www_001 zabbix-4.0.3]#tail-1/etc/profile
- exportPATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/#这里大家也可以做软链接,本意是让linux找到命令
- [root@www_001 zabbix-4.0.3]#source/etc/profile
- [root@www_001 zabbix-4.0.3]#zabbix_agentd-V
- zabbix_agentd(daemon)(Zabbix)4.0.3
- Revision8799320December2018,compilation time:Feb28202019:29:14
- Copyright(C)2018ZabbixSIA
- LicenseGPLv2+:GNU GPL version2orlaterhttp://[gnu.org/licenses/gpl.html](http://gnu.org/licenses/gpl.html).
- Thisisfree software:you are free to changeandredistribute it according to
- the license.ThereisNO WARRANTY,to the extent permittedbylaw.
- [root@www_001 zabbix-4.0.3]#cat/usr/local/zabbix/etc/zabbix_agentd.conf#将原有的清空写成下面的样子
- PidFile=/usr/local/zabbix/zabbix_agentd.pid
- LogFile=/usr/local/zabbix/zabbix_agentd.log
- Hostname=www_001#建议最好和web界面的主机名,已经本地主机名三个名字一样,
- Server=192.168.200.173#这个就是类似白名单谁可以过来获取信息,这里写server端的ip就可以
- ServerActive=192.168.200.173#同上,也是白名单,
- UnsafeUserParameters=1
- Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf #插入其他的配置文件
- [root@www_001 zabbix-4.0.3]# zabbix_agentd
- [root@www_001 zabbix-4.0.3]# ss -antup | grep 10050
- tcp LISTEN 0 128 :10050 :* users:((“zabbix_agentd”,12714,4),(“zabbix_agentd”,12715,4),(“zabbix_agentd”,12716,4),(“zabbix_agentd”,12717,4),(“zabbix_agentd”,12718,4),(“zabbix_agentd”,12719,4))
- [root@www_001 zabbix-4.0.3]# ps -ef | grep zabbix
- zabbix 12714 1 0 19:43 ? 00:00:00 zabbix_agentd
- zabbix 12715 12714 0 19:43 ? 00:00:00 zabbix_agentd: collector [idle 1 sec]
- zabbix 12716 12714 0 19:43 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection]
- zabbix 12717 12714 0 19:43 ? 00:00:00 zabbix_agentd: listener #2 [waiting for connection]
- zabbix 12718 12714 0 19:43 ? 00:00:00 zabbix_agentd: listener #3 [waiting for connection]
- zabbix 12719 12714 0 19:43 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
- root 12723 4884 0 19:44 pts/0 00:00:00 grep zabbix
- [root@www_001 zabbix-4.0.3]# tail -f /usr/local/zabbix/zabbix_agentd.log
- 12714:20200228:194342.301 IPv6 support: NO
- 12714:20200228:194342.301 TLS support: NO
- 12714:20200228:194342.301 **
- 12714:20200228:194342.301 using configuration file: /usr/local/zabbix/etc/zabbix_agentd.conf
- 12714:20200228:194342.302 agent #0 started [main process]
- 12717:20200228:194342.303 agent #3 started [listener #2]
- 12718:20200228:194342.304 agent #4 started [listener #3]
- 12716:20200228:194342.304 agent #2 started [listener #1]
- 12719:20200228:194342.305 agent #5 started [active checks #1]
12715:20200228:194342.321 agent #1 started [collector]
2.2zabbix-get
zabbix提供一个zabbix_get工具,可以跟zabbix agent通讯获取监控信息
使用方式:zabbix_get -s 指定获取数据的agent端 -k 关键的键
zabbix agent查看所有可监控项目,在agent端输入这个命令就可以查看zabbix_agentd -p在server端进行操作
- [root@zabbix~]#zabbix_get-s192.168.200.128-k system.hostname
- www_001
- [root@zabbix~]#zabbix_get-s192.168.200.128-k system.uname
- Linuxwww_0012.6.32-431.el6.x86_64#1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64
2.3监控cpu的负载
cpu负载的键(也可以通过zabbix_agentd -p来过滤查看)
- key: system.cpu.load[all,avg1] Float型
- key: system.cpu.load[all,avg5] Float型
- key: system.cpu.load[all,avg15] Float型
2.4监控cpu使用和空闲
system.cpu.util[,iowait,] Float型 cpu读写磁盘等待
system.cpu.util[,system,] Float型 系统使用cpu
system.cpu.util[,user,] Float型 用户使用cpu
system.cpu.util[,idle,] Float型 cpu空闲






同理我们在克隆几个出来我们监控cpu的状态










2.5监控剩余内存(buffers\cached实际上也是剩余的)
2.6监控磁盘
vfs.fs.size[/,pfree] Float型 监控磁盘容量剩余百分比
vfs.fs.inode[/,pfree] Float型 监控磁盘iNode的使用率剩余的百分比









2.7监控流量
net.if.in[eth0] 入流量 整形(每秒速率) 默认返回字节数,需要8
net.if.out[eth0] 出流量 整形(每秒速率) 默认返回字节数,需要8
我们zabbix获取的流量是总的,我们想要每秒多少流量是需要算的
流量计算公式:(本次获取的流量总数-上次获取的流量总数)/时间间隔(ps:我们一般是30秒)*8














附录>如果不知道key的参数是做什么的,我们可以去官网查看
官网地址:https://www.zabbix.com/
查询key怎么用的地址:https://www.zabbix.com/documentation/4.0/manual
三、使用模板监控




















四、自定义key监控项
自定义key
无参数自定义key
有参数自定义key
使用自定义Shell脚本监控内存,一般脚本只需要输出数字即可
4.1在agent端修改配置文件
我们自己写一个无参数的获取可用内存的key,在001这台主机上读取内存,我们需要输出的值只是个数字
- [root@www_001~]#free-m|grep’Mem:’|awk’{print $NF}’
- 311
将这条命令写到脚本里
- [root@www_001~]#cat/tmp/memavailable.sh
!/bin/bash
- free-m|grep’Mem:’|awk’{print $NF}’
- [root@www_001~]#sh/tmp/memavailable.sh
- 311
- [root@www_001~]#cat/usr/local/zabbix/etc/zabbix_agentd.conf
- PidFile=/usr/local/zabbix/zabbix_agentd.pid
- LogFile=/usr/local/zabbix/zabbix_agentd.log
- Hostname=www_001
- Server=192.168.200.173
- ServerActive=192.168.200.173
- UnsafeUserParameters=1
- Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf #看下agent端的配置文件,如果要定义key需要修改配置文件,我们如果都在主配置文件里写会特别的大,修改起来还麻烦,所以我们引用别的配置文件,类似nginx的配置文件标准化
- [root@www_001 ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/mem.conf
- UserParameter=mem.available,sh /tmp/memavailable.sh
这个是我们的自定义key的配置文件
UserParameter —>表示自定义key
mem.available—->逗号前边的是我们的key的名字,这个名字跟我们在web页面上写的时候要一样,不然报错
sh /tmp/memavailable.sh—->逗号后边是我们需要执行的命令,这个命令的执行结果一定是个值,这个值就我们key返回的值
重启服务
- [root@www_001 ~]# pkill zabbix_agentd
- [root@www_001 ~]# ps -ef | grep zabbix
- root 15813 15723 0 12:45 pts/0 00:00:00 grep zabbix
- [root@www_001 ~]# zabbix_agentd
- [root@www_001 ~]# ps -ef | grep zabbix
- zabbix 15816 1 0 12:45 ? 00:00:00 zabbix_agentd
- zabbix 15817 15816 0 12:45 ? 00:00:00 zabbix_agentd: collector [idle 1 sec]
- zabbix 15818 15816 0 12:45 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection]
- zabbix 15819 15816 0 12:45 ? 00:00:00 zabbix_agentd: listener #2 [waiting for connection]
- zabbix 15820 15816 0 12:45 ? 00:00:00 zabbix_agentd: listener #3 [waiting for connection]
- zabbix 15821 15816 0 12:45 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root 15823 15723 0 12:45 pts/0 00:00:00 grep zabbix
4.2在server端测试获取值
[root@zabbix~]#zabbix_get-s192.168.200.128-k mem.available
- 311
-s 指定去哪里获取
-k 我的key 是什么名字
4.3在网页上添加
五、可以传参的自定义key
5.1在agent端编写脚本
- [root@www_001~]#cat/tmp/mem.sh
!/bin/bash
- case”$1”in
- “available”)free-m|grep’Mem:’|awk’{print $NF}’;;
- “total”)free-m|grep’Mem:’|awk’{print $2}’;;
- “used”)free-m|grep’Mem:’|awk’{print $3}’;;
- *)echo”not supported”;;
- esac
- [root@www_001~]#sh/tmp/mem.sh total
- 980
- [root@www_001~]#sh/tmp/mem.sh used
- 408
修改配置文件
- [root@www_001~]#cat/usr/local/zabbix/etc/zabbix_agentd.conf.d/mem.conf
- UserParameter=mem.available,sh/tmp/memavailable.sh
- UserParameter=mem.check[*],sh/tmp/mem.sh $1#新添加的一行
重启服务
- [root@www_001~]#pkill zabbix_agentd
- [root@www_001~]#ps-ef|grep zabbix
- root1599115723013:18pts/000:00:00grep zabbix
- [root@www_001~]#zabbix_agentd
- [root@www_001~]#ps-ef|grep zabbix
- zabbix159941013:18?00:00:00zabbix_agentd
- zabbix1599515994013:18?00:00:00zabbix_agentd:collector[idle1sec]
- zabbix1599615994013:18?00:00:00zabbix_agentd:listener#1 [waiting for connection]
- zabbix1599715994013:18?00:00:00zabbix_agentd:listener#2 [waiting for connection]
- zabbix1599815994013:18?00:00:00zabbix_agentd:listener#3 [waiting for connection]
- zabbix1599915994013:18?00:00:00zabbix_agentd:active checks#1 [idle 1 sec]
- root1600115723013:18pts/000:00:00grep zabbix
-
5.2在server端验证
[root@zabbix~]#zabbix_get-s192.168.200.128-k mem.check[used]
- 408
- [root@zabbix~]#zabbix_get-s192.168.200.128-k mem.check[total]
- 980
5.3在web界面添加监控项
六、Windows系统添加zabbix
6.1我们创建一个Windows系统
一直下一步知道安装完成
6.2zabbix监控Windows
- [root@zabbix~]#zabbix_get-s192.168.200.149-k system.uname
- WindowsDESKTOP-MRVB91210.0.10586MicrosoftWindows10企业版x64
- [root@zabbix~]#zabbix_get-s192.168.200.149-k vm.memory.size[free]
- 1142566912
- [root@zabbix~]#zabbix_get-s192.168.200.149-k vfs.fs.size[C:,pfree]
- 82.884299
- [root@zabbix~]#zabbix_get-s192.168.200.149-k vfs.fs.size[C:,free]
- 52903399424

































