一台服务器两个网卡,怎么用zabbix去监控与显示

一台服务器两个网卡,怎么用zabbix去监控与显示,第1张

一个服务器有几个网卡都无所谓,网卡监控这块ZABBIX采用的是LLD(Low Level Discovery)功能来实现的,也就是会根据服务器自身启动了几块网卡,就自动监控上几块网卡。所以这块无需考虑。

HP的服务器在硬件管理方面提供了自己管理工具hpacucli,通过该工具可以查看HP服务器的RAID信息,服务器硬盘等信息。
1)安装hpacucli工具(下载地址:HP hpacucli管理工具)
[root@monitor ~]#rpm -ivh hpacucli-940-120x86_64rpm
2)查看服务器RAID信息,硬盘是否正常。
[root@monitor~]# hpacucli ctrl all show config Smart Array P410i in Slot 0 (Embedded) (sn: 5001438018042FF0) array A (SAS, Unused Space: 0 MB) logicaldrive 1 (2794 GB, RAID 1, OK) physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 300 GB, OK) physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 300 GB, OK)
3)通过hpacucli ctrl all show config detail命令可以详细地查看RAID和硬盘的信息。
[root@monitor ~]# hpacucli ctrl all show config detail Smart Array P410i in Slot 0 (Embedded) Bus Interface: PCI Slot: 0 Serial Number: 5001438018042FF0 Cache Serial Number: PBCDH0CRH1FH62 RAID 6 (ADG) Status: Disabled Controller Status: OK Chassis Slot: Hardware Revision: Rev C Firmware Version: 514 Rebuild Priority: Medium Expand Priority: Medium Surface Scan Delay: 15 secs Monitor and Performance Delay: 60 min Elevator Sort: Enabled Degraded Performance Optimization: Disabled Inconsistency Repair Policy: Disabled Post Prompt Timeout: 0 secs Cache Board Present: True Cache Status: OK Accelerator Ratio: 25% Read / 75% Write Drive Write Cache: Disabled Total Cache Size: 512 MB No-Battery Write Cache: Disabled Cache Backup Power Source: Capacitors Battery/Capacitor Count: 1 Battery/Capacitor Status: OK SATA NCQ Supported: True Array: A Interface Type: SAS Unused Space: 0 MB Status: OK Logical Drive: 1 Size: 2794 GB Fault Tolerance: RAID 1 Heads: 255 Sectors Per Track: 32 Cylinders: 65535 Stripe Size: 128 KB Status: OK Array Accelerator: Enabled Unique Identifier: 600508B1001034373220202020200002 Disk Name: /dev/cciss/c0d0 Mount Points: /boot 99 MB Logical Drive Label: A00ADBD9PR7AMU1472 898D Mirror Group 0: physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 300 GB, OK) Mirror Group 1: physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 300 GB, OK) physicaldrive 1I:1:1 Port: 1I Box: 1 Bay: 1 Status: OK Drive Type: Data Drive Interface Type: SAS Size: 300 GB Rotational Speed: 10000 Firmware Revision: HPD4 Serial Number: ECA1PC80GTS31234 Model: HP EG0300FBDSP PHY Count: 2 PHY Transfer Rate: 60GBPS, Unknown physicaldrive 1I:1:2 Port: 1I Box: 1 Bay: 2 Status: OK Drive Type: Data Drive Interface Type: SAS Size: 300 GB Rotational Speed: 10000 Firmware Revision: HPD7 Serial Number: PMX6902D Model: HP EG0300FBDBR PHY Count: 2 PHY Transfer Rate: 60GBPS, Unknown
HP官方还有一个hpasmcli管理工具,可以很详细查看服务器CPU,内存,处理器,电源等的温度信息。

自动寻找磁盘

说到底,所有的自动判断都是人为的设置好所有的可能性,然后根据实际情况从中选择,方法有很多,看大家具体要求。在这里,我要对磁盘监控,首先要找出有哪些磁盘,这里使用shell脚本实现。由于zabbix的discovery需要固定的格式,具体可以参考这里,最下面部分。

脚本如下:

1 #!/bin/bash 2 #written by lenwood 3 #mail:ccyhaoran@livecn 4 diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bxvd[abcdefg]\b"|grep -i "\b$1\b"|awk '{print $3}'|sort|uniq   2>/dev/null`) 5 length=${#diskarray[@]} 6 printf "{\n" 7 printf  '\t'"\"data\":[" 8 for ((i=0;i<$length;i++)) 9 do10         printf '\n\t\t{'11         printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"12         if [ $i -lt $[$length-1] ];then13                 printf ','14         fi15 done16 printf  "\n\t]\n"17 printf "}\n"

如上,这里通过读取/proc/diskstats,选择其中的磁盘,根据实际情况,我这里就找出类似sda或者xvda的,因为我们用的是sata接口的硬盘以及部分阿里云的服务器。

脚本执行出来的结果类似如下

1 {2     "data":[3         {"{#DISK_NAME}":"sda"}4         {"{#DISK_NAME}":"sdb"}5     ]6 }

然后使用zabbix执行这个脚本,那么就要将其写到zabbix_agentdconf中去,如下

UserParameter=ioscandisk[],/infra/zabbix/os/disk_scansh $1

iostat命令

对于磁盘的监控我采用iostat命令,因为它能给出磁盘的详细信息,如扇区读写情况,io队列长度,iowait,svctime等等。

命令如下:

1 nohup iostat -m -x -d 30 >/tmp/iostat_output &

通过tail -f /tmp/iostat_output,可获得iostat命令收集的磁盘信息,结果类似下面

Device:         rrqm/s   wrqm/s   r/s   w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
hda               000     020  000  743     000     016    4328     023   3080   243   181hda1              000     020  000  743     000     016    4328     023   3080   243   181hda2              000     000  000  000     000     000     000     000    000   000   000xvdb              000     000  000  000     000     000     000     000    000   000   000xvdb1             000     000  000  000     000     000     000     000    000   000   000hdc               000     000  000  000     000     000     000     000    000   000   000

其中部分参数的详细解释如下

rrqm/s:   每秒进行 merge 的读 *** 作数目。即 delta(rmerge)/s
wrqm/s:  每秒进行 merge 的写 *** 作数目。即 delta(wmerge)/s
r/s:           每秒完成的读 I/O 设备次数。即 delta(rio)/sw/s:         每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s:    每秒读扇区数。即 delta(rsect)/s
wsec/s:  每秒写扇区数。即 delta(wsect)/s
rkB/s:      每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s:    每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O *** 作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await:    平均每次设备I/O *** 作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm:   平均每次设备I/O *** 作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)%util:      一秒中有百分之多少的时间用于 I/O *** 作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

1 zabbix:是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位,解决存在的各种问题。
2 Nagios:是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。
3 Anturis:是一个基于云平台的Saas平台,可监控Windows、Linux服务器,网站和IT基础架构,通过全面的监控解决方案列表,让管理员快速了解整体主机或者服务器瓶颈与风险。
4 SeaLion:是一个基于云的Linux服务器监控工具,也是通过统一的仪表盘监控所有服务器指标,它只需几分钟即可完成设置,具有即时报警功能。
5 lcinga:是一个免费的开源监控系统,可以检查服务器资源的可用性,它会记录服务器问题并在停机的时候通知您。
6 Munin:是一个网络和系统监控工具,可帮助您分析服务器资源趋势,旨在成为一个即插即用的解决方案,安装后无需太多额外工作即可收集关键信息。
7 Monit:是一个用于管理和监控Unix系统的开源工具。可以进行自动维护和维修,如果出现错误情况,还可以自动触发保护行为。
8 Pingdom:可以对互联网上很多地方的服务器以及网站进行监控,以保证他们可以有效的运行;通过Pingdom,可以对电子邮件的服务器、FTP服务器、受密码保护的那些网站进行监控。

>配置方式:
1 完成自定义监控脚本的编写(windows或linux脚本)
脚本要求:(1)既然是监控,那必然要有输出结果值(字符串,数字皆可)
(2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件)
(3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数
2 找到zabbix agent的配置文件zabbix_agentdconf,修改如下两个参数
UnsafeUserParameters=0 => UnsafeUserParameters=1并去掉前面的注释符
UserParameter= => UserParameter=aaabbb[], /usr/local/script/monitorsh $1 $2 …
说明:aaabbb[] ---zabbix服务器添加监控信息时需要用到的key值,
格式:aaabbb[](例:systemfilesize[])
/usr/local/script/monitorsh ----监控脚本绝对路径
为了便于灵活监控,有时脚本需要传入参数,此参数可从zabbix服务器端传入,所有参数按顺序分别从$1-$9表示
注:(1)若无需传入参数,则红色部分可省略
(2)该自定义脚本可由zabbix服务器控制收集数据的频率(如:每30s运行一次),无需再添加计划任务
(3)以上参数请根据实际情况填写,并注意去除参数前注释符(#)
(4)注意在key值和后面的脚本之间有个逗号隔开
至此,自定义监控脚本zabbix agent端配置结束
3 测试
测试命令: /usr/local/bin/zabbix_agentd -t key[参数]
示例:/usr/local/bin/zabbix_agentd -t systemfilesize[/etc/atxt,abc,…]
4 监控脚本举例:
脚本名称:/usr/local/script/monitorsh
脚本内容:echo `date +"%F %T"`
脚本要求:必须在控制台输出值,该值将作为返回值返回给zabbix服务器端

笔者之前一直用zabbix监控服务器的各项状态,最近老板交待一项新工作,监控类似交换机、路由器之类的网络设备的接口流量。老板的要求就是职工的需求,立即开始监控准备工作。为了统一管理,决定还是使用zabbix来监控网络设备,但网络设备和服务器的监控方法有所不同。下面请大家跟着笔者一起一步一步来完成我们的小目标吧。

监控的目标是类似交换机这样的设备,所以不能使用zabbix提供的客户端来获取目标设备的数据。另一种解决方案是使用SNMP(简单网络管理协议),它是TCP/IP协议族中的其中一个协议,其主要作用就是监控设备的各项指数并进行反馈。现在的可配置式网络设备基本都支持该协议,同时zabbix自身对SNMP的支持也是相当强悍。
本文以华为交换机为例,其它品牌的交换机或路由器实现思路都是一致的,只是使用的命令有所不同。具体实现方式如下:

交换机的配置就这么几步就可以了,接下来我们配置zabbix。

配置全部在zabbix前端进行,我们对关键配置进行说明

SNMP community:在交换机上配置的团体名
端口:从交换机上获取SNMP信息的端口,默认为161,本例中为10050
其它采用默认设置即可,每30秒获取一次交换机信息

获取了监控目标的端口信息,接下来需要设置具体监控项,本例中需要监控目标端口的入流量和出流量。
点击“监控项原型”。

再点击“创建监控项原型”进入配置界面

键值:ifInOctets[{#IFDESCR}],唯一值,这里就是名称变量出处
SNMP OID:获取每一个端口的入流量,SNMPINDEX是每个端口的索引号
储存值:一定要选择差量(简单变化),意思是每次从交换机获取的流量都是真实的流量,这和监控服务器网卡数据不一样。
其它采用默认设置即可。
接下来设置出流量监控原型

到这里,我们对交换机入流量和出流量的监控工作已经完成了。zabbix是一款非常强大的运维工作,它的自定义监控项以及自定义触发报警机制能够帮助运维人员快速而主动的发现问题。作为一个运维人员,我们应该掌握zabbix的使用方法。如果大家在配置过程中有什么疑问,欢迎留言,我们一起探讨交流。

第一:zabbix
zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位或解决存在的各种问题。
第二:Nagios
Nagios是一款开源的的免费网络监视工具,能有效监控Windows、Linux和Unix的状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。
第三:SeaLion
SeaLion是一个基于云的Linux服务器监控工具。也是通过统一的仪表盘监控所有服务器指标,它只需几分钟即可完成设置,它具有即时报警功能,以便在发生问题时,可以快速收到通知和每日数据摘要等。
第四:Icinga
Icinga是一个免费的开源监控系统,可以检查服务器资源的可用性,它会记录服务器问题并在停机的时候通知您。
第五:Munin
Munin是一个网络和系统监控工具,可帮助您分析服务器资源趋势。它旨在成为一个即插即用的解决方案,安装后无需太多额外工作即可收集关键信息。Munin主要功能是有效分析服务器资源优势,属于网络及系统监控的工具。
第六:Monit
Monit是一个用于管理和监控Unix系统的开源工具。Monit可以进行自动维护和维修,如果出现错误情况,Monit可以自动触发保护行为。
第七:Performance Co-Pilot
Performance Co-Pilot,简称PCP,是一个系统性能分析框架。它收集并分析来自多个主机的各种性能指标,可以通过它观察指标走向的趋势,以帮助您快速识别异常所在点。它提供API,可依据此来开发自定义的监控和报告解决方案。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12631298.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存