您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

使用zabbix监控oracle表空间的操作流程

51自学网 2022-07-04 11:31:55
  网站维护

0.概述

zabbix是一款极其强大的开源监控工具,下面我分享下zabbix如何监控表空间,跟着这个思路,监控其他项都是类似操作。

前提条件是你已经有了zabbix server和zabbix agent,且zabbix agent与oracle数据库运行在一台机器上面。

1.在agent上面准备脚本

a.定义查表空间使用率的脚本

/home/oracle/get_tablespace_usage.sh

#!/bin/bash# get tablespace usagesource ~/.bash_profilefunction check {sqlplus -S "/ as sysdba" <<  EOFset linesize 200 pagesize 200set feedback off heading offspool /tmp/tablespace.logselect tablespace_name,round(used_percent) used_percent from dba_tablespace_usage_metrics;spool offquitEOF};check &> /dev/nullerrors=`grep ERROR /tmp/tablespace.log | wc -l`if [ "$errors" -gt 0 ]; then    echo "" > /tmp/tablespace.logfi

chown oracle: get_tablespace_usage.sh

chmod 755 get_tablespace_usage.sh

b.定义表空间自动发现的脚本

/etc/zabbix/scripts/discovery_tablespace.sh

#!/bin/bash# zabbix auto discovery oracle tablespacetablespaces=(`cat /tmp/tablespace.log | awk '{print $1}' | grep -v "^$"`)length=${#tablespaces[@]}printf "{/n"printf '/t'"/"data/":["for ((i=0;i<$length;i++))do    printf "/n/t/t{"    printf "/"{#TABLESPACE_NAME}/":/"${tablespaces[$i]}/"}"    if [ $i -lt $[$length-1] ];then        printf ","    fidone    printf "/n/t]/n"printf "}/n"

chmod 755/etc/zabbix/scripts/discovery_tablespace.sh

c.定义表空间监控项脚本

/etc/zabbix/scripts/tablespace_check.sh

#!/bin/bash# oracle tablespace checkTABLESPACE_NAME=$1grep "/b$TABLESPACE_NAME/b" /tmp/tablespace.log | awk '{print $2}'

chmod 755/etc/zabbix/scripts/tablespace_check.sh

2.将脚本a放入crontab里面

su - oracle

crontab -e

*/5 * * * * /home/oracle/get_tablespace_usage.sh

执行的结果查看/tmp/tablespace.log,第一列是表空间的名字,第二列是对应的表空间使用率

EXAMPLE                                   2                                                                                                                                                             SYSAUX                                    3                                                                                                                                                             SYSTEM                                    5                                                                                                                                                             TBS01                                    85                                                                                                                                                             TEMP                                      0                                                                                                                                                             UNDOTBS1                                  0                                                                                                                                                             USERS                                     1

3.编辑agent参数

vi /etc/zabbix/zabbix_agentd.d/userparameter_oracle.conf
# tablespace usage
UserParameter=discovery.tablespace,/etc/zabbix/scripts/discovery_tablespace.sh
UserParameter=tablespace.check.[*],/etc/zabbix/scripts/tablespace_check.sh $1

4.在zabbix web界面中设置相关选项

a.创建模板,模板名字随便起,这里我定义了一个宏

b.创建自动发现规则

c.创建监控项原型

d.创建触发器类型

e.创建图形原型

5.测试

我将一个表空间创建表,并插入数据,使其超过80%,看其是否报警

测试通过!


下载地址:
解决vscode docker插件docker.socket权限问题
Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1