Zabbix企業應用之服務器硬件信息監控
之前介紹的Zabbix監控都是屬于監控服務方面,現在介紹一下Zabbix監控服務器硬件信息的。
由于我公司服務器都是使用Dell(我公司是手游方面,服務器全部是Dell),服務器型號有r410、r420、r710、r720,系統有Centos 5.x、Centos 6.x 、Redhat 5.x、Redhat 6.x、Ubuntu 12.04、Ubuntu 12.04.4等版本,對于硬件監控,我測試過Ipmi、Megacli、Smart等,但這些監控軟件的監控內容都比較少,沒有通用的那種,***找到了Dell專門的Omsa,滿足了我的需求,下面就介紹一下使用Omsa來監控Dell服務器的硬件信息。
目前我監控以下的硬件信息:
1、cpu處理器狀態
2、cpu省電模式狀態(如果開啟了省電模式,在壓力大的時候,會很卡的)
3、raid狀態(比如做了哪個raid模式,raid狀態是否正常)
4、內存狀態(可以查看當前服務器***支持多少內存,當前多少內存,如果內存有問題,可以顯示哪個位置內存故障)
5、機器溫度狀態(監控機器的溫度是否超過閥值)
6、物理硬盤狀態(監控物理硬盤是否有故障)
7、電源狀態(是單電還是雙電,是否有故障)
8、系統面板CMOS電池(cmos電池是否有故障)
9、網卡狀態(當前的網卡數量,以及網卡是否有問題)
10、風扇(當前的風扇數量,以及是否有故障)
默認是cpu省電模式監控關閉報警,其他的監控都是15分鐘監控一次,如果連續2次都有問題則報警通知。
下面是監控圖
1、硬件正常的服務器監控截圖
2、部分硬件不正常的監控圖
可以看到此服務器的cpu開啟了省電模式,并且內存條有問題
經過命令行查看,發現有問題的內存條是***個插槽
下面是安裝方法:
一、客戶端
A.在redhat或者centos系統里安裝
1、安裝dell的yum源
- wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash
2、安裝omsa
- yum install srvadmin-all
3、做軟連接
- ln -s /opt/dell/srvadmin/sbin/omreport /usr/bin/omreport
- ln -s /opt/dell/srvadmin/sbin/omconfig /usr/bin/omconfig
4、關閉web模式(僅允許運行cli)
- echo "/usr/bin/omconfig system webserver action=stop" >>/opt/dell/srvadmin/sbin/srvadmin-services.sh
5、啟動omsa
- /opt/dell/srvadmin/sbin/srvadmin-services.sh start
6、把omsa加入到開機啟動里
- echo "/opt/dell/srvadmin/sbin/srvadmin-services.sh start">>/etc/rc.local
以上是在centos或者redhat系統里安裝omsa。
B.下面是在ubuntu下的安裝
1、增加源
- echo 'deb http://linux.dell.com/repo/community/ubuntu precise openmanage' | sudo tee -a /etc/apt/sources.list.d/linux.dell.com.sources.list
2、檢測與增加key
- gpg --keyserver pool.sks-keyservers.net --recv-key 1285491434D8786F
- gpg -a --export 1285491434D8786F | sudo apt-key add -
3、更新源
- apt-get update -y
4、安裝omsa
- apt-get install srvadmin-all -y
5、做軟連接
- ln -s /opt/dell/srvadmin/sbin/omreport /usr/bin/omreport
- ln -s /opt/dell/srvadmin/sbin/omconfig /usr/bin/omconfig
6、啟動cli模式omsa
- service dataeng start
C.zabbix客戶端的配置
1、下面是在zabbix_agentd.conf里配置
- #follow is monitor hardware
- UserParameter=hardware_battery,omreport chassis batteries|awk'/^Status/{if($NF=="Ok") {print 1} else {print 0}}'
- UserParameter=hardware_cpu_model,awk-vhardware_cpu_crontol=`sudoomreport chassis biossetup|awk'/C State/{if($NF=="Enabled") {print 0} else {print 1}}'` -vhardware_cpu_c1=`sudoomreport chassis biossetup|awk'/C1[-|E]/{if($NF=="Enabled") {print 0} else {print 1}}'` 'BEGIN{if(hardware_cpu_crontol==0 && hardware_cpu_c1==0) {print 0} else {print 1}}'
- UserParameter=hardware_fan_health,awk-vhardware_fan_number=`omreport chassis fans|grep-c "^Index"` -vhardware_fan=`omreport chassis fans|awk'/^Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_fan_number==hardware_fan) {print 1} else {print 0}}'
- UserParameter=hardware_memory_health,awk-vhardware_memory=`omreport chassis memory|awk'/^Health/{print $NF}'` 'BEGIN{if(hardware_memory=="Ok") {print 1} else {print 0}}'
- UserParameter=hardware_nic_health,awk-vhardware_nic_number=`omreport chassis nics |grep-c "Interface Name"` -vhardware_nic=`omreport chassis nics |awk'/^Connection Status/{print $NF}'|wc-l` 'BEGIN{if(hardware_nic_number==hardware_nic) {print 1} else {print 0}}'
- UserParameter=hardware_cpu,omreport chassis processors|awk'/^Health/{if($NF=="Ok") {print 1} else {print 0}}'
- UserParameter=hardware_power_health,awk-vhardware_power_number=`omreport chassis pwrsupplies|grep-c "Index"` -vhardware_power=`omreport chassis pwrsupplies|awk'/^Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_power_number==hardware_power) {print 1} else {print 0}}'
- UserParameter=hardware_temp,omreport chassis temps|awk'/^Status/{if($NF=="Ok") {print 1} else {print 0}}'|head-n 1
- UserParameter=hardware_physics_health,awk-vhardware_physics_disk_number=`omreport storage pdisk controller=0|grep-c "^ID"` -vhardware_physics_disk=`omreport storage pdisk controller=0|awk'/^Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_physics_disk_number==hardware_physics_disk) {print 1} else {print 0}}'
- UserParameter=hardware_virtual_health,awk-vhardware_virtual_disk_number=`omreport storage vdisk controller=0|grep-c "^ID"` -vhardware_virtual_disk=`omreport storage vdisk controller=0|awk'/^Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_virtual_disk_number==hardware_virtual_disk) {print 1} else {print 0}}'
2、重啟zabbix_agentd服務
- ps-ef|grepzabbix|grep-vgrep|awk'{print $2}'|xargskill-9
- /usr/local/zabbix/sbin/zabbix_agentd-c /usr/local/zabbix/conf/zabbix_agentd.conf
如果需要在其他系統里安裝,請參看官方wiki,地址是http://linux.dell.com/wiki/index.php/Repository/hardware。
二、服務端
1、模板導入
把Template Hardware Monitor導入到zabbix里(模板在附件),具體操作不介紹。
2、主機關聯模板
把需要監控的硬件服務器關聯此模板即可