原文出自 http://www.abcdocker.com/abcdocker/1453
Zabbix 3.0 部署监控 [二]
zabbix
一、添加监控主机及设置
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
]如果不点后果就是从新在做一遍~
未完!