原文出自  http://www.abcdocker.com/abcdocker/1453

Zabbix 3.0 部署监控 [二]

zabbix

一、添加监控主机及设置

1.创建主机

1.png-47.5kB
2.png-52.5kB
Agent可以干一些SNMP无法干的事情,例如自定义监控项 
snmp相关文章:http://www.abcdocker.com/abcdocker/1376 
3.png-32kB
这里我们先不着急点add,还需要设置其他选项 
5.png-17.4kB
点击监控模板 
  zabbix监控是由监控项组成(cpu使用率监控就是一个监控项/内存使用率就是一个监控项),如果是100台服务器就需要监控模板了。只需要将监控项和模板关联起来即可 
举个例子:我们上面主机使用的是SNMP,就可以直接搜索SNMP提示:有的模板需要自己定义 
1.png-30.2kB
温馨提示:请点击下面的小add 然后在点大的。否则会出现问题哦 
image_1at2saf6j15ooem1lddvte1asc2i.png-36.4kB
IPMI如果有的话,需要在这里写上用户名密码 
image_1at2sb78ma065339fr1ublvp52v.png-26.1kB
宏定义,这个宏其实就是一个变量。我们给可以给变量附一个值 
image_1at2scmt9noe1etp180i1pr07dn3c.png-17.5kB
  因为我们设置的是SNMPSNMP有一个团体名。并且可以设置定义 
  团体名是中间的abcdocker,具体的可以看http://www.abcdocker.com/abcdocker/1376

 
 
  1. [root@localhost ~]# cat /etc/snmp/snmpd.conf
  2. rocommunity abcdocker 192.168.56.11

image_1at2sfbvvohgmmocuj3t81e3h3p.png-26kB
值:{$SNMP_COMMUNITY} 
image_1at2sgthgmdtqko1f3da4n1rlo46.png-49.5kB
主机资产设置分为3中 
1、关闭 Disabled 
2、手动 Manual 
3、自动 Automatic (自动代表的是你在定义监控项的时候,他有一个小箭头,勾上之后监控项的值就会填写在这里) 
   我们这设置好模板就可以选择add了 
image_1at2shoe51kde1urstr4c4m1ad4j.png-48.9kB
SNMP变绿就好了 
image_1at2sijrq1nqc1nf4cukuh4odp50.png-58.8kB
  现在的状态是用SNMP进行监控了,我们只是添加了一个SNMP OS LINUX的模板,但是出现了4个。这4个链接。可以和多个模板连起来用 
image_1at2skc6cbc96bfl1p1jbs14715d.png-52kB
进入监控项,下面这个菜单是过滤搜索用的 
image_1at2sl19sgfndcc18lros31g8e5q.png-65.1kB
下面全都是模板 
  我们可以随便点击一个,这里我们新建一个监控项 
image_1at2sng2bijj1bf91io6lmq9c767.png-73.9kB
image_1at2so85e1us51hsp9au1uadvea6k.png-51.2kB
点击创建 
类型选择 
  Zabbix agent 被动 
  Zabbix agent (active主动模式) 
  Simple check 简单检测 
  SNMPv1 agent ……

在Key这行点击Select 可以进行选择 
image_1at2sq9efn7dgllgan1rtrv6171.png-1.6kB
image_1at2sqlfpajq1ei5ee3lo91qu17e.png-109.3kB
image_1at2sru73vrju1d5361i731bsk7r.png-23kB
我们随便选择一个,例如agent.version。查看agent的版本 
Numeric是无符号整数型

2.图形说明

Configuration----hosts----Graphs 
image_1at2su1tm17ra1j3j1fdi1b981ked88.png-91.7kB
绘图靠的是监控项,我们可以随便打开一个看看 
image_1at2sumg2lk12kb1k751j7gbo68l.png-66.5kB
颜色等都是可以随意设置

3、聚合图形screens设置

image_1at2t1brc3ljf9c1u1h0jvrf92.png-47.7kB
提示:因为咱们用的版本是3.0当2.4的时候需要在Configuration----下面来创建screens

创建Screens 
image_1at2t38hvucf14bh1j3c1j6o14rqa9.png-18.7kB
我们创建一个2*2 命名为test screensscreens 
image_1at2t4en9bme1a9vhiv1auf1hlsb3.png-42.6kB
然后我们点进去 
点击编辑 
image_1at2t5an5bi11mvdmkefvi1akbg.png-39.4kB
点击Change进行设置 
image_1at2t6cck1vgj1po41q0bf5m6gbbt.png-37.1kB
image_1at2t6nairp31ed1bhf1pa39vbca.png-29kB
多添加几个之后就是以下结果 
image_1at2t766k1hvk1u0noah10bs1r3rcn.png-109.1kB

二、监控案例[自定义监控项]

例如:我们自己添加一个监控项来进行监控当前的活动连接数 [Nginx 安装请看上一篇] 
nginx安装地址:http://www.abcdocker.com/abcdocker/1376 
Nginx状态模块配置如下,过于简单不说了

 
 
  1. [root@localhost ~]# cat /usr/local/nginx/conf/nginx.conf
  2. listen 8080;
  3. location /status {
  4. stub_status on;
  5. access_log off;
  6. allow 192.168.56.0/24;
  7. deny all;
  8. }

修改nginx端口并重启 
测试:http://192.168.56.11:8080/status 
image_1at2tcg6c10j91sccv3l9814bdd4.png-9.5kB
解释说明:使用zabbix来监控活动连接数,通过status状态模块为前提 
  我们现在命令取出我们想要的值,例如:

 
 
  1. [root@localhost ~]# curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[ ]" '{print $3}'
  2. 1

因为我们是监控他的活动连接数,他的活动连接数为1

 
 
  1. [root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. Include=/etc/zabbix/zabbix_agentd.d/

#提示: 如果想要加自定义监控项,不要在配置文件中写入,可以在Include里面定义的目录写上 
  只要我们写在Include目录下,都可以识别到

 
 
  1. [root@linux-node1 ~]# cd /etc/zabbix/zabbix_agentd.d/
  2. [root@linux-node1 zabbix_agentd.d]# ls
  3. userparameter_mysql.conf
  4. #默认有一个MySQL的,我们可以参考MySQL的进行操作
  5. UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
  6. #提示,前面是key的名称 后面的key的命令
  7. UserParameter=mysql.version,mysql -V

我们自己编辑一个文件

 
 
  1. [root@linux-node1 zabbix_agentd.d]# cat nginx.conf
  2. UserParameter=nginx.active,/usr/bin/curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[ ]" '{print $3}'
  3. #提示,此处配置文件的名字可以随便起

  如果是多个命令可以写一个脚本,命令最好写绝对路径!这个过程其实就是我们定义监控的过程,前面是key的名字,后面是命令 
修改完配置文件之后需要重启zabbix-agent

 
 
  1. [root@linux-node1 zabbix_agentd.d]# systemctl restart zabbix-agent

  配置完成之后先在server端测试,是否可以获取到agent上的值。不要着急添加 
  我们现在只用了1台服务器,本机是server也是agent。然后使用zabbix-get进行测试

 
 
  1. [root@linux-node1 zabbix_agentd.d]# yum list|grep zabbix
  2. zabbix-agent.x86_64 3.0.4-1.el7 @zabbix
  3. zabbix-release.noarch 3.0-1.el7 installed
  4. zabbix-server-mysql.x86_64 3.0.4-1.el7 @zabbix
  5. zabbix-web.noarch 3.0.4-1.el7 @zabbix
  6. zabbix-web-mysql.noarch 3.0.4-1.el7 @zabbix
  7. python-pyzabbix.noarch 0.7.3-2.el7 epel
  8. uwsgi-stats-pusher-zabbix.x86_64 2.0.13.1-2.el7 epel
  9. zabbix-get.x86_64 3.0.4-1.el7 zabbix
  10. 查看zabbix_get
  11. [root@linux-node1 zabbix_agentd.d]# yum install -y zabbix-get

zabbix-get使用参数如下:

 
 
  1. [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
  2. -s 指定我们要查看的服务器
  3. -p 端口,可以不加。默认是10050
  4. -k 监控项的名称(根据上面的配置来定义的)
  5. 更多参数:zabbix_get --help

错误案例:

如果出现如下错误,大致意思是拒绝连接

 
 
  1. [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
  2. zabbix_get [24234]: Check access restrictions in Zabbix agent configuration

解决方法:

 
 
  1. [root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. Server= 192.168.56.11

因为我们当时只允许本机127.0.0.1进行连接。所以会出现这样问题

 
 
  1. [root@linux-node1 ~]# systemctl restart zabbix-agent

修改完配置文件都要重启 
提示: zabbix-agent的配置文件中指定允许那个server连接,那个才可以进行连接。

 
 
  1. [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
  2. 1

正确结果如上! 
提示:如果在zabbix-agent上面修改了,还需要在网页上进行修改 
image_1at3ehun7nve12s61u351hhmcsadh.png-83.3kB
/etc/zabbix/zabbix-agent.conf上面指定的Server是谁,就只会允许谁通过。如果有多个ip可以使用逗号进行分割

添加item

image_1at3ekebedau1q5910tp1dfep40du.png-110.7kB
找到一个安装zabbix-agent,点击 
image_1at3el1f02np4f71ni61sbd3jaeb.png-93.5kB
点击items 
image_1at3elk52edq1fjr1k98ig5pdheo.png-77.5kB
然后添加Create item(创建item) 
image_1at3em3ocshd1fq61efbmcp1274f5.png-4.9kB
Data type:数据类型,这里我们选择Decimal。其他的基本上用不上 
Units:单位 超过1千就写成1k了。 可以在这里做一个单位的设置。默认就可以 
Use custom multiplier:如果这里面设置了一个数,得出来的结果都需要乘以文本框设定的值 
image_1at3eocqk1e4m12e41v7v1mv519jdfi.png-19.5kB
Update interval(in sec) 监控项刷新时间间隔(一般不要低于60秒) 
Custom intervals 创建时间间隔(例如:1点-7点每隔多少秒进行监控)格式大致为:周,时,分 
image_1at3ep2d11rqsu6h160lvlg1vv4fv.png-25.6kB
History storage period 历史数据存储时间(根据业务来设置,默认就可以) 
Trend storage period 趋势图要保存多久 
New application 监控项的组 
application 选择一个监控项组 
Populates host inventory field 资产,可以设定一个监控项。把获取的值设置在资产上面 
image_1at3eppubf571sj9dhr1cgb14d4gc.png-30.2kB
描述!必须要写。 要不你就是不负责任 
image_1at3eq52q9jtade11qq5khvcbgp.png-7.3kB
添加自定义监控项小结: 
   1、添加用户自定义参数(在/etc/zabbix/zabbix.agent.d/定义了一个nginx.conf步骤如上) 
   2、重启zabbix-agent 
   3、在Server端使用zabbix_get测试获取(命令如上) 
   4、在web界面创建item(监控项) 
   

自定义图形

image_1at3ete061o8bee11l6n155j4bnh6.png-123.9kB
Name:名字 
Width:宽度 
Height:高度 
Graph type:图形类型 
其他默认即可 
image_1at3eugijl3d5q6eqd1lfafa9hj.png-52kB
然后我们点击Add添加Items监控项,找到我们刚刚设置的服务器 
image_1at3ev3131v99qf21462n3t4s9i0.png-163.8kB
然后找到我们刚刚添加的监控项 
image_1at3evhp5com10t018ps1bvtg0cid.png-12.7kB
还可以选择颜色,添加其他的很多设置。不细说 
image_1at3evqqj1u4r1esi1i9019e78q5iq.png-43kB
  点击Prewview可以进行预览,如果出现字符乱码可以阅读我们另一篇文章(zabbix默认不支持中文) 
  确定没有问题,选择下方Add即可 
image_1at3f0jc7d2h1b5h1rmv4u21iojj7.png-104.5kB
出现我们添加的 
image_1at3f0t1v1ni21n74vos1i9q1f2hjk.png-75.2kB
需要在Monitoring--->Graphs--->选择我们添加的主机即可 
接下来我们需要进行测试: 
测试前: 
image_1at3f1kve1dgu1urrab21mabcgak1.png-15.8kB
使用ab测试工具进行测试,设置100万并发进行访问

 
 
  1. [root@linux-node1 ~]# ab -c 1000 -n 1000000 http://192.168.56.11:8080/
  2. This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
  3. Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  4. Licensed to The Apache Software Foundation, http://www.apache.org/
  5. Benchmarking 192.168.56.11 (be patient)

测试后: 
image_1at3f2isda17bsf153ujpp1ianke.png-17.3kB
我们可以查看zabbix监控图标 
image_1at3f2shvaav1iv2sjt15ucpslkr.png-79.4kB
我们中间设置了间隔60秒,说明每隔60秒我们进行获取一次 
  我们可以设置它的方式显示 
找到Graph选择类型,Stacked是堆叠显示,其他的大家可以自行百度。不细说 
  堆叠显示如下: 
image_1at3f4855gjd14nmuvq1iepue7l8.png-66.4kB
如果我们想加多个图形都显示在一张图上,可以进行如下操作 
image_1at3f4mgvu1hfcp1d9t17p7118cll.png-64.1kB
找到Graphs 
image_1at3f525aal7f756kg1ml01vjrm2.png-101.5kB
找到我们设置的图形 
image_1at3f5ar21v7tm3m132e1dep1pi4mf.png-74kB
点击添加即可

我们可以让多个图标显示在一个图片上 
image_1at3f5u011li41to5s6qs91si3ms.png-47.7kB
点击我们创建一个聚合图形(screens) 
image_1at3f69t5rdnpvs1un41281qbjn9.png-51.9kB
点击进去 
image_1at3f6hlgi166udif8v99rnm.png-45.8kB
点击编辑 
image_1at3f6s121hkshr916u13811q8o3.png-31.8kB
选择item添加的地方,因为上面创建聚合图形的时候我们选择了2X2 所以这里会显示2个 
image_1at3f7dp5g861bg61gn4132517tiog.png-61.4kB
找到相对应的添加即可 
我们可以多添加几个 
image_1at3f7pbb1mes3ih125t1ecjmpmot.png-73.4kB
结果如上图显示 
除了显示图片还可以显示其他内容 
image_1at3f84ri11ubi7kdhk15j91b3lpa.png-27.7kB

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:

image_1at3f98h6a8sro2144o5i8qlopn.png-20.4kB
image_1at3f9f0f1b97d3892jn0km84q4.png-67.3kB
我们还可以自定义一个Maps,一张架构图。操作如下: 
image_1at3f9saoetdq2tlj01g346lrqh.png-51.3kB
第二步:选择编辑Edit map 
image_1at3fa8fp1f741lpaqjg1ndv1pe7qu.png-51.8kB
因为他默认图片比较小,我们可以点击下方,进行调整图片大小。 
image_1at3faiob1u3o4ve1q4v1ehqpqorb.png-47kB
点击右上角编辑,然后我们点中图中的服务器即可 
image_1at3fauso149j19dd1r5l19u828fro.png-61.6kB
我们模拟有2台服务器 
image_1at3fb6rv1vqsbse12a41plqr0ss5.png-54.6kB
然后我们选中新添加的服务器进行修改 
image_1at3fbhva1eta180r19t9r59mpcsi.png-78.8kB
点击Apply就可以了。 
按住Ctrl点中zabbix server和另台服务器 
image_1at3fcdoc14df18to1k941ok16b5sv.png-72.9kB
然后我们点击左上方的Link:他们就连接起来了 
image_1at3fcrkas5eg2g18av1a7g1afitc.png-87.9kB
温馨提示:修改完成后需要点击保存[update]如果不点后果就是从新在做一遍~ 
image_1at3fd8mv7619b3ajj1edi1i4mtp.png-56.9kB

未完!



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐