本文主要讲述Zabbix加入主机的各个设置以及Zabbix 主机中的每个设置的含义,最后以nginx status模块进行监控的案例。
Zabbix 3.0 部署监控 [二]
zabbix
时间:2016年9月22日
笔者QQ:381493251
Abcdocker交流群:454666672
如果遇到什么问题可以进群询问,我们是一个乐于帮助的集体!
一、添加监控主机及设置
1.创建主机
Agent可以干一些SNMP无法干的事情,例如自定义监控项
snmp相关文章:http://www.abcdocker.com/abcdocker/1376
这里我们先不着急点add,还需要设置其他选项
点击监控模板
zabbix监控是由监控项组成(cpu使用率监控就是一个监控项/内存使用率就是一个监控项),如果是100台服务器就需要监控模板了。只需要将监控项和模板关联起来即可
举个例子:我们上面主机使用的是SNMP,就可以直接搜索SNMP。提示:有的模板需要自己定义
温馨提示:请点击下面的小add 然后在点大的。否则会出现问题哦
IPMI如果有的话,需要在这里写上用户名和密码
宏定义,这个宏其实就是一个变量。我们给可以给变量附一个值
因为我们设置的是SNMP,SNMP有一个团体名。并且可以设置定义
团体名是中间的abcdocker,具体的可以看http://www.abcdocker.com/abcdocker/1376
[root@localhost ~]# cat /etc/snmp/snmpd.conf rocommunity abcdocker 192.168.56.11
值:{$SNMP_COMMUNITY}
主机资产设置分为3中
1、关闭 Disabled
2、手动 Manual
3、自动 Automatic (自动代表的是你在定义监控项的时候,他有一个小箭头,勾上之后监控项的值就会填写在这里)
我们这设置好模板就可以选择add了
等SNMP变绿就好了
现在的状态是用SNMP进行监控了,我们只是添加了一个SNMP OS LINUX的模板,但是出现了4个。这4个链接。可以和多个模板连起来用
进入监控项,下面这个菜单是过滤搜索用的
下面全都是模板
我们可以随便点击一个,这里我们新建一个监控项
点击创建
类型选择
Zabbix agent 被动
Zabbix agent (active主动模式)
Simple check 简单检测
SNMPv1 agent ......
在Key这行点击Select 可以进行选择
我们随便选择一个,例如agent.version。查看agent的版本
Numeric是无符号整数型
2.图形说明
Configuration----hosts----Graphs
绘图靠的是监控项,我们可以随便打开一个看看
颜色等都是可以随意设置
3、聚合图形screens设置
提示:因为咱们用的版本是3.0当2.4的时候需要在Configuration----下面来创建screens
创建Screens
我们创建一个2*2 命名为test screens的screens
然后我们点进去
点击编辑
点击Change进行设置
多添加几个之后就是以下结果
二、监控案例[自定义监控项]
例如:我们自己添加一个监控项来进行监控当前的活动连接数 [Nginx 安装请看上一篇]
nginx安装地址:http://www.abcdocker.com/abcdocker/1376
Nginx状态模块配置如下,过于简单不说了
[root@localhost ~]# cat /usr/local/nginx/conf/nginx.conf listen 8080; location /status { stub_status on; access_log off; allow 192.168.56.0/24; deny all; }
修改nginx端口并重启
测试:http://192.168.56.11:8080/status
解释说明:使用zabbix来监控活动连接数,通过status状态模块为前提
我们现在命令取出我们想要的值,例如:
[root@localhost ~]# curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[ ]" '{print $3}' 1
因为我们是监控他的活动连接数,他的活动连接数为1
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf Include=/etc/zabbix/zabbix_agentd.d/
#提示: 如果想要加自定义监控项,不要在配置文件中写入,可以在Include里面定义的目录写上
只要我们写在Include目录下,都可以识别到
[root@linux-node1 ~]# cd /etc/zabbix/zabbix_agentd.d/ [root@linux-node1 zabbix_agentd.d]# ls userparameter_mysql.conf #默认有一个MySQL的,我们可以参考MySQL的进行操作 UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive #提示,前面是key的名称 后面的key的命令 UserParameter=mysql.version,mysql -V
我们自己编辑一个文件
[root@linux-node1 zabbix_agentd.d]# cat nginx.conf UserParameter=nginx.active,/usr/bin/curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[ ]" '{print $3}' #提示,此处配置文件的名字可以随便起
如果是多个命令可以写一个脚本,命令最好写绝对路径!这个过程其实就是我们定义监控的过程,前面是key的名字,后面是命令
修改完配置文件之后需要重启zabbix-agent
[root@linux-node1 zabbix_agentd.d]# systemctl restart zabbix-agent
配置完成之后先在server端测试,是否可以获取到agent上的值。不要着急添加
我们现在只用了1台服务器,本机是server也是agent。然后使用zabbix-get进行测试
[root@linux-node1 zabbix_agentd.d]# yum list|grep zabbix zabbix-agent.x86_64 3.0.4-1.el7 @zabbix zabbix-release.noarch 3.0-1.el7 installed zabbix-server-mysql.x86_64 3.0.4-1.el7 @zabbix zabbix-web.noarch 3.0.4-1.el7 @zabbix zabbix-web-mysql.noarch 3.0.4-1.el7 @zabbix python-pyzabbix.noarch 0.7.3-2.el7 epel uwsgi-stats-pusher-zabbix.x86_64 2.0.13.1-2.el7 epel zabbix-get.x86_64 3.0.4-1.el7 zabbix 查看zabbix_get [root@linux-node1 zabbix_agentd.d]# yum install -y zabbix-get
zabbix-get使用参数如下:
[root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active" -s 指定我们要查看的服务器 -p 端口,可以不加。默认是10050 -k 监控项的名称(根据上面的配置来定义的) 更多参数:zabbix_get --help
错误案例:
如果出现如下错误,大致意思是拒绝连接
[root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active" zabbix_get [24234]: Check access restrictions in Zabbix agent configuration
解决方法:
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf Server= 192.168.56.11
因为我们当时只允许本机127.0.0.1进行连接。所以会出现这样问题
[root@linux-node1 ~]# systemctl restart zabbix-agent
修改完配置文件都要重启
提示: zabbix-agent的配置文件中指定允许那个server连接,那个才可以进行连接。
[root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active" 1
正确结果如上!
提示:如果在zabbix-agent上面修改了,还需要在网页上进行修改
在/etc/zabbix/zabbix-agent.conf上面指定的Server是谁,就只会允许谁通过。如果有多个ip可以使用逗号进行分割
添加item
找到一个安装zabbix-agent,点击
点击items
然后添加Create item(创建item)
Data type:数据类型,这里我们选择Decimal。其他的基本上用不上
Units:单位 超过1千就写成1k了。 可以在这里做一个单位的设置。默认就可以
Use custom multiplier:如果这里面设置了一个数,得出来的结果都需要乘以文本框设定的值
Update interval(in sec) 监控项刷新时间间隔(一般不要低于60秒)
Custom intervals 创建时间间隔(例如:1点-7点每隔多少秒进行监控)格式大致为:周,时,分
History storage period 历史数据存储时间(根据业务来设置,默认就可以)
Trend storage period 趋势图要保存多久
New application 监控项的组
application 选择一个监控项组
Populates host inventory field 资产,可以设定一个监控项。把获取的值设置在资产上面
描述!必须要写。 要不你就是不负责任
添加自定义监控项小结:
1、添加用户自定义参数(在/etc/zabbix/zabbix.agent.d/定义了一个nginx.conf步骤如上)
2、重启zabbix-agent
3、在Server端使用zabbix_get测试获取(命令如上)
4、在web界面创建item(监控项)
自定义图形
Name:名字
Width:宽度
Height:高度
Graph type:图形类型
其他默认即可
然后我们点击Add添加Items监控项,找到我们刚刚设置的服务器
然后找到我们刚刚添加的监控项
还可以选择颜色,添加其他的很多设置。不细说
点击Prewview可以进行预览,如果出现字符乱码可以阅读我们另一篇文章(zabbix默认不支持中文)
确定没有问题,选择下方Add即可
出现我们添加的
需要在Monitoring--->Graphs--->选择我们添加的主机即可
接下来我们需要进行测试:
测试前:
使用ab测试工具进行测试,设置100万并发进行访问
[root@linux-node1 ~]# ab -c 1000 -n 1000000 http://192.168.56.11:8080/ This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.56.11 (be patient)
测试后:
我们可以查看zabbix监控图标
我们中间设置了间隔60秒,说明每隔60秒我们进行获取一次
我们可以设置它的方式显示
找到Graph选择类型,Stacked是堆叠显示,其他的大家可以自行百度。不细说
堆叠显示如下:
如果我们想加多个图形都显示在一张图上,可以进行如下操作
找到Graphs
找到我们设置的图形
点击添加即可
我们可以让多个图标显示在一个图片上
点击我们创建一个聚合图形(screens)
点击进去
点击编辑
选择item添加的地方,因为上面创建聚合图形的时候我们选择了2X2 所以这里会显示2个
找到相对应的添加即可
我们可以多添加几个
结果如上图显示
除了显示图片还可以显示其他内容
Action log:日志 Clock:时间 Data overview:数据概述 Graph:图形 History of events:历史事件 Host group issues:主机组问题 Host issues:主机问题 Hosts info:主机信息 Plain text:文本 Map:架构图 Screen:屏幕 Server info:服务器信息 Simple graph:简单的图 Simple graph prototype:简单的原型图 System status:系统状态 Triggers info:触发器信息 Tiggers overview:概述 URL:URL地址
例如我们输入一个URL:
我们还可以自定义一个Maps,一张架构图。操作如下:
第二步:选择编辑Edit map
因为他默认图片比较小,我们可以点击下方,进行调整图片大小。
点击右上角编辑,然后我们点中图中的服务器即可
我们模拟有2台服务器
然后我们选中新添加的服务器进行修改
点击Apply就可以了。
按住Ctrl点中zabbix server和另一台服务器
然后我们点击左上方的Link:他们就连接起来了
温馨提示:修改完成后需要点击保存[update]如果不点后果就是从新在做一遍~
未完!
为了方便大家观看博客当中的文章,本人开通了微信公众号。喜欢我们就快来关注我们吧
相关文章:
- Kubernetes 1.14 二进制集群安装
- CentOS 7 ETCD集群配置大全
- Kuerbernetes 1.11 集群二进制安装
- Docker 镜像及Docker仓库配置 [四]