zabbix自动发现磁盘组空间
来源:互联网 发布:票乎为什么关闭了 编辑:程序博客网 时间:2024/06/05 15:01
查询磁盘组空间
[grid@monitordb1 scripts]$ cat /etc/zabbix/scripts/lsdg.sh #!/bin/bash#查询数据库磁盘组空间PATH=$PATH:$HOME/binexport PATHexport TMP=/tmpexport TMPDIR=$TMPexport ORACLE_SID=+ASM1export ORACLE_BASE=/u01/app/gridexport ORACLE_HOME=/u01/app/11.2.0/gridexport ORACLE_TERM=xtermexport NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'export TNS_ADMIN=$ORACLE_HOME/network/adminexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexport EDITOR=viexport LANG=en_USexport NLS_LANG=AMERICAN_AMERICA.ZHS16GBKasmcmd lsdg > /tmp/lsdg.log
查询结果
[grid@monitordb1 scripts]$ cat /tmp/lsdg.log State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files NameMOUNTED EXTERN N 512 4096 1048576 2332672 2117637 0 2117637 0 N DATA/MOUNTED EXTERN N 512 4096 1048576 122880 113262 0 113262 0 N FLASH/MOUNTED EXTERN N 512 4096 1048576 2048 1652 0 1652 0 Y ORC/
将查询脚本写入计划任务,一分钟执行一次
[grid@monitordb1 ~]$ crontab -l* * * * * /etc/zabbix/scripts/lsdg.sh
编写zabbix自动发现脚本
cat /etc/zabbix/scripts/discovery_oracle_dgspace.sh #!/bin/bash#自动发现磁盘组空间并保存为json数据格式,{#TABLESPACE_NAME}为传递给zabbix的json变量,dg_spaces为表空间数据dg_spaces=(`cat /tmp/lsdg.log | sed -e "1d" -e "/^$/d" | awk '{print $13}'`)length=${#dg_spaces[@]}printf "{\n"printf '\t'"\"data\":["for ((i=0;i<$length;i++))do printf "\n\t\t{" printf "\"{#DG_NAME}\":\"${dg_spaces[$i]}\"}" if [ $i -lt $[$length-1] ];then printf "," fidone printf "\n\t]\n"printf "}\n"
输出结果
{ "data":[ {"{#DG_NAME}":"DATA/"}, {"{#DG_NAME}":"FLASH/"}, {"{#DG_NAME}":"ORC/"} ]}
编写查询磁盘组空间脚本
#!/bin/bash# oracle dgspace check,定义两个变量CEHCK_TYPE、DG_NAME,方便在zabbix脚本中调用,不同的CEHCK_TYPE调用不同的函数。zabbix自定义函数中,首先输入$1通过case匹配不同的检查类型,其次通过$2进行grep匹配CEHCK_TYPE=$1DG_NAME=$2function freeper { grep "\b$DG_NAME" /tmp/lsdg.log | awk '{printf "%.f\n",($7-$8)/$7*100}'}function total { grep "\b$DG_NAME" /tmp/lsdg.log | awk '{printf $7}'}function used { grep "\b$DG_NAME" /tmp/lsdg.log | awk '{printf "%.f\n",$7-$8}'}case $CEHCK_TYPE in freeper) freeper ;; total) total ;; used) used ;; *) echo -e "Usage: $0 [freeper|total|used] [DG_NAME]"esac
编写zabbix自动发现及磁盘组空间查询item
[root@monitordb1 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_oracle_dgspace.conf UserParameter=discovery.oracle.dgspace[*],/etc/zabbix/scripts/discovery_oracle_dgspace.shUserParameter=dgspace.check[*],/etc/zabbix/scripts/dgspace_check.sh $1 $2
重启agent
[root@monitordb1 ~]# killall zabbix_agentd[root@monitordb1 ~]# zabbix_agentd
server端测试item
[root@localhost ~]# zabbix_get -p10050 -k 'dgspace.check[freeper,DATA/]' -s 192.168.200.8
zabbix控制台添加discovery发现规则及item
创建自动发现规则
主机——自动发现——创建自动发现规则name:Oracle dgspace discovery key:discovery.oracle.dgspace 数据类型:char
创建自动发现item
监控项原型(item)
自动发现磁盘组名称
name:discovery.oracle.dgspace:[{#DG_NAME}] key:discovery.oracle.dgspace:[{#DG_NAME}]
查看磁盘组总空间
name:dgspace.check[freeper,{#DG_NAME}]key:dgspace.check[freeper,{#DG_NAME}]
查看磁盘组使用空间
name:dgspace.check[used,{#DG_NAME}]key:dgspace.check[used,{#DG_NAME}]
查看磁盘组可用百分比
name:dgspace.check[freeper,{#DG_NAME}]key:dgspace.check[freeper,{#DG_NAME}]
阅读全文
0 0
- zabbix自动发现磁盘组空间
- zabbix自动发现
- zabbix自动发现/注册
- [zabbix/自动发现规则]
- [Zabbix] 自动发现&动作
- zabbix自动发现network
- zabbix 自动发现设置
- zabbix自动发现端口
- zabbix 自动发现监控redis
- Zabbix “Discovery” 自动发现主机
- zabbix自动发现cpu核心
- Zabbix自动发现之fping
- Zabbix自动发现之fping
- Zabbix自动发现和自动注册
- zabbix自动发现mysql端口并监控
- zabbix自动发现mysql端口并监控
- 通过zabbix自动发现Tomcat服务端口
- zabbix自动发现并监控tcp端口
- 红黑树添加删除操作c语言示例代码
- safari坑点
- 从面试到离职——Android开发应届生被人事欺辱的过程
- java之变量以及对象的存储位置区别
- linux下安装微软雅黑字体库
- zabbix自动发现磁盘组空间
- 【视频】TechWorld2017热点回顾 | 居安思危 防微杜渐:车联网安全思考
- 获取oracle表中所有需要的信息(字段、注释、类型等等)
- Ubuntu 修改计算机名
- 设计模式学习—模板模式(Template Design Pattern)
- Expected one result (or null) to be returned by selectOne(), but found: XX
- 启动Tomcat错误:he JRE_HOME environment variable is not defined correctly
- 字符串的全排列和组合算法
- 归一化方法(Normalization Method)