监控归档日志脚本
#!/bin/bash
source ~/.bash_profile
function check {
sqlplus -S "/ as sysdba" << EOF
spool /tmp/archived.log # spool 将执行的结果输出到文件当中
select * from v\$flash_recovery_area_usage;
spool off
quit
EOF
};check &>/dev/null
# 如果不使用oracle用户执行的话,是下面这个样子的
#!/bin/bash
source ~/.bash_profile
function check {
sudo su - oracle << EOF
sqlplus -S "/ as sysdba"
spool /tmp/archived.log
select * from v\$flash_recovery_area_usage;
spool off
quit
EOF
};check &>/dev/null
执行结果
![](https://img-blog.csdnimg.cn/20190705153409310.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEyMzczNw==,size_16,color_FFFFFF,t_70)
取值脚本
#!/bin/bash
# Get archive log and backup set usage
# version: 1
# ctime:
# mtime:
check() { # json格式输出的item变量
printf "{\n"
printf '\t'"\"data\":["
printf '\n\t\t{'
printf "\"{#STATUS_NAME}\":\"ARCHIVED\"}"
printf "\n\t]\n"
printf "}\n"
}
archived() { # 过滤归档日志使用率 函数
status=`grep ^ARCHIVED /tmp/archived.log | awk '{print $3}'`
echo "$status"
}
backup() { # 过滤备份集使用率函数
status=`grep ^BACKUP /tmp/archived.log | awk '{print $3}'`
echo "$status"
}
$1
执行结果
![](https://img-blog.csdnimg.cn/20190705153944353.png)
![](https://img-blog.csdnimg.cn/20190705153923768.png)
![](https://img-blog.csdnimg.cn/20190705154030387.png)
UserParameter配置文件
[SZSqxf@ecs-da85 ~]$ cat /usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/archived_log.conf
UserParameter=