0. OverviewZabbix is an extremely powerful open source monitoring tool. Below I will share how Zabbix monitors tablespaces. Following this idea, monitoring other items is similar. The prerequisite is that you already have zabbix server and zabbix agent, and zabbix agent and oracle database are running on the same machine. 1. Prepare the script on the agenta. Define the script for table space usage /home/oracle/get_tablespace_usage.sh #!/bin/bash # get tablespace usage source ~/.bash_profile function check { sqlplus -S "/ as sysdba" << EOF set linesize 200 pagesize 200 set feedback off heading off spool /tmp/tablespace.log select tablespace_name,round(used_percent) used_percent from dba_tablespace_usage_metrics; spool off quit EOF }; check &> /dev/null errors=`grep ERROR /tmp/tablespace.log | wc -l` if [ "$errors" -gt 0 ]; then echo "" > /tmp/tablespace.log fi chown oracle:get_tablespace_usage.sh chmod 755 get_tablespace_usage.sh b. Define the script for automatic discovery of tablespaces /etc/zabbix/scripts/discovery_tablespace.sh #!/bin/bash # zabbix auto discovery oracle tablespace tablespaces=(`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 "," fi done printf "\n\t]\n" printf "}\n" chmod 755 /etc/zabbix/scripts/discovery_tablespace.sh c. Define tablespace monitoring item script /etc/zabbix/scripts/tablespace_check.sh #!/bin/bash # oracle tablespace check TABLESPACE_NAME=$1 grep "\b$TABLESPACE_NAME\b" /tmp/tablespace.log | awk '{print $2}' chmod 755 /etc/zabbix/scripts/tablespace_check.sh 2. Put script a into crontabsu - oracle crontab -e */5 * * * * /home/oracle/get_tablespace_usage.sh The execution results are in /tmp/tablespace.log. The first column is the name of the tablespace, and the second column is the corresponding tablespace usage. EXAMPLE 2 SYSAUX 3 SYSTEM 5 TBS01 85 TEMP 0 UNDOTBS1 0 USERS 1 3. Edit agent parameters vi /etc/zabbix/zabbix_agentd.d/userparameter_oracle.conf 4. Set relevant options in the zabbix web interfacea. Create a template. You can name the template as you like. Here I define a macro b. Create automatic discovery rules c. Create monitoring item prototype d. Create a trigger type e. Create a graphic prototype 5. TestingI created a table in a tablespace and inserted data to make it exceed 80% to see if it alarms. Test passed! This is the end of this article about the operation process of using zabbix to monitor oracle table space. For more relevant content about zabbix monitoring oracle table space, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Two ways to achieve horizontal arrangement of ul and li using CSS
>>: How to query the intersection of time periods in Mysql
Preface: The most commonly used architecture of M...
Preface MySQL is a relational database with stron...
Preface This article was written by a big shot fr...
Preface It is very simple to create a server in n...
1. Problem There is a table as shown below, we ne...
1. System Configuration 1. Turn off sudo password...
1. Tomcat service is not open Enter localhost:808...
Table of contents 1. Usage 1. Basic usage 2. The ...
This article example shares the specific code of ...
Table of contents 1. List interface display examp...
Table of contents vue router 1. Understand the co...
Table of contents 1. Listening for events 2. Pass...
Teaching Topics Web page Applicable grade Second ...
Table of contents 1. What is lazy loading? 2. Imp...
The default program publishing path of tomcat7 is...