zabbix监控dell服务器脚本及方式key值

#!/bin/bash
function CheckChassis ()
{
OMREPORTPATH="/opt/dell/srvadmin/bin/"
TRIGGER=`"$OMREPORTPATH"omreport chassis | grep -i "$1" | awk {‘print $1‘}`;
echo "$TRIGGER";
}

function CheckRaidStatus ()
{
OMREPORTPATH="/opt/dell/srvadmin/bin/"
"$OMREPORTPATH"omreport storage vdisk | grep ‘^ID‘ |         while read LINE
                do
                        read -a VDISKIDALL <<<$LINE;
                        VDISKID="${VDISKIDALL[2]}";
                        VDISKIDSTATUS=`"$OMREPORTPATH"omreport storage vdisk | grep -1 "$VDISKID" | grep -i "status" | awk {‘print $3‘}`;
                        VDISKTYPE=`"$OMREPORTPATH"omreport storage vdisk | grep -6 "$VDISKID" | grep -i "layout" | awk {‘print $3‘}`; 
                        if [[ "$VDISKIDSTATUS" != "Ok" ]]
                                then
                                        TRIGGER="$VDISKID--$VDISKTYPE--$VDISKIDSTATUS";
                                        echo "$TRIGGER";
                        fi
                done;
}

function CheckStorage ()
{
OMREPORTPATH="/opt/dell/srvadmin/bin/"
"$OMREPORTPATH"omreport storage pdisk controller=0 | grep ‘^ID‘ |         while read LINE
                do
                        read -a PDISKIDALL <<<$LINE;
                        PDISKID="${PDISKIDALL[2]}";
                        PDISKIDSTATUS=`"$OMREPORTPATH"omreport storage pdisk controller=0 | grep -1 "$PDISKID" | grep -i "status" | awk {‘print $3‘}`;
                        if [[ "$PDISKIDSTATUS" != "Ok" ]]
                                then
                                        TRIGGER="$PDISKID--$PDISKIDSTATUS";
                                        echo "$TRIGGER";
                        fi
                done;
}

case "$1" in
        fans)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        intrusion)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        memory)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        supplies)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        management)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        processors)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        temperatures)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        voltages)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        hardware)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        batteries)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
        storage)
                TRIGGERVALUE=`CheckStorage`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                        TRIGGERVALUE="Ok";
                fi
                echo $TRIGGERVALUE;;
        raid)
                TRIGGERVALUE=`CheckRaidStatus`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                        TRIGGERVALUE="Ok";
                fi
                echo $TRIGGERVALUE;;
        *)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                                TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
esac;

UserParameter=custom.dell.osma.check[*],/etc/zabbix/dell-osma-check.sh $1

时间: 2024-10-28 14:35:33

zabbix监控dell服务器脚本及方式key值的相关文章

zabbix监控windows服务器上进程的内存使用情况

zabbix监控windows服务器上进程的内存使用情况 由于在windows服务器上不能像linux上一样使用top,或者类似于/pro目录下的数据信息,所以在在windows服务器上获得一个进程的内存或者CPU的使用情况不是很容易. 这里通过在windows服务器上使用python脚本获得进程的内存使用值,通过key传递给zabbix客户端,也就是本机上安装的zabbix客户端. windows上安装zabbix客户端网上的文章很多,这里不再记录. 1,首先安装python环境: 点击这里下

zabbix监控windows日志脚本

zabbix监控windows日志脚本     脚本用于监控windows服务器上日志,查看日志文件的末尾N行,如果N行中包含某字段,则输出0,否则输出1,然后再zabbix的配置文件空定义kye,进行监控. 文本文件的换行符是"\n" 编辑脚本log.py import sys import re def last_lines(filename, lines = 1):     lines = int(lines)     block_size = 1024     block = 

zabbix监控dell服务器硬件信息

说明:  公司的所有的服务器都是Dell服务器.为什么做这个监控呢?是因为线上的一台DB数据库的磁盘发生损坏.结果我们运维组人员(公司只有我一名,当然出了事由我个人负责了,想想还是自己技术欠缺)没有第一时间发现.于是网络搜寻zabbix去监控Dell服务器. 1.监控工具使用dell自带的omsa工具进行监控,下载安装omsa工具,并进行安装 wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash

Zabbix 监控ESXi服务器【非虚拟机】CPU、内存、硬盘、网络带宽

之前写过一个帖子,是如何完美监控ESXi节点的硬盘的,没想到效果那么好.最近好多朋友过来问面包肿么配置.说实话我也是太懒了,所以就把这个脚本优化了一下,一不小心没有刹住车,把CPU.内存.硬盘.网卡流量什么的都监控出来了,哦,对了,还有虚拟机在节点上占用的空间(主要是因为我使用的大多是本地的空间,然后没有一个完美的曲线展示是节点上哪个虚拟机增长量过快导致的本地空间耗费,对运维是有很大隐患的).然后本来前天v2.0版都已经写好了,上线了!但是发现了一些性能上面的问题,最后没有发布.经过两天的奋笔疾

Zabbix监控 之sendEmail脚本邮件报警配置【5】

本次zabbix邮件报警时通过sendEmail这一个轻量级的命令行的smtp电子邮件客户端,使用脚本的方式实现邮件报警. 此次使用的Linux发行版是CentOS 6.5,zabbix版本为3.0.3 Zabbix监控之不发送邮件异常[附属] 一.下载sendEmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz sendEmail安装方法: 1 2 3 shell# tar xv

zabbix监控管理维护脚本

zabbix监控的机器越来越多,新增机器很频繁,废弃的,每天都在手动同样的事情,写了个脚本自动维护,已经加入到MySQL初始化安装.机器下线.高可用等流程中,自动处理: 脚本如下: #!/usr/bin/python  #coding:utf-8    import json  import urllib2  from urllib2 import URLError  import sys,argparse   class zabbix_api:  def __init__(self):    

zabbix监控利用Python脚本发邮件

最近实施了zabbix监控,开源软件杠杠的,甩nagios 好几条街-- 环境:centos6.6 + Zabbix 2.4.5 + Python 2.6.6 cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录vi SendAlertEmail.sh #编辑,添加以下代码#!/bin/shecho "$3" | mail -s "$2" $1:wq! #保存退出chown zabbix.zabbix /u

zabbix 监控redis python3脚本

一:安装redis-python模块 wge  thttps://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz tar xf redis-2.9.1.tar.gz cd redis-2.9.1 python setup.py install 二:配置zabbix (1) 将zabbix-redis.py 放入到/usr/local/zabbix/etc/scripts目录下 (2) 更改zabbix_agentd.conf

zabbix系列二:zabbix监控linux服务器

linux安装zabbix_agent客户端 1,创建zabbix用户: [roo[email protected] ~]# useradd zabbix -s /sbin/nologin 2,编译安装zabbix_agent: [[email protected] zabbix-2.2.2]# ./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix [[email protecte