Hello, dear Colleagues! We have:
Oracle 19c database.
There are about 20 TABLESPACEs available.
About five of them are very critical.
Three of them are very large, 400-500-800GB, consisting of several DATAFILES.
All TS were created with the SMALLFILE option, so that when space in the TS runs out, just add a data file to it by command ALTER TABLESPACE "TS_NAME" ADD DATAFILE.....
All datafiles were added with the options "AUTOEXTEND ON NEXT 1G" or "ON NEXT 2G", etc. That is, with the autoextend option.
We are trying to set up monitoring via zabbix using the Oracle plugin for zabbix_agent2.
Everything works fine, the data is captured, except for the correct calculation of free space in the TS.
This plugin (Oracle plugin for zabbix_agent2) does not seem to know about AUTOEXTEND.
For example: The plugin sees a table space of 100GB. He sees that it uses 99GB. It begins to notify that the state of free space in TS is an alarm, and the plugin does not understand the fact that when the data file reaches its critical volume and its automatic autoextend occurs and space is automatically added to the tablespace.
How did you get out of such a situation?
I really don’t want to write self-written scripts, because they need to be supported. There is more than one database, more than one server, more than one database instance, etc.
I need zabbix to take into account the entire total volume of TABLESPACE, relying on the option to create/add a datafile MAXSIZE 32767M;
And not for the actual available space in the database.
For example, this is how I add a new datafile:
ALTER TABLESPACE "TRAN" add datafile '/home/oracle/app/oradata/tran_26.ora' SIZE 3G AUTOEXTEND ON NEXT 1G MAXSIZE 32767M;
I need Zabbix to see the entire data file volume of 32GB, and not +3GB.
Thank you!
Sorry for my bad English.
PS:
[root@mgmt1 user]# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)
[root@mgmt1 user]# uname -a
Linux mgmt1.host.com 4.18.0-372.19.1.el8_6.x86_64 #1 SMP Tue Aug 2 16:19:42 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@mgmt1 user]# rpm -qa | grep zabbix
zabbix-selinux-policy-6.4.10-release1.el8.x86_64
zabbix-web-6.4.10-release1.el8.noarch
zabbix-server-pgsql-6.4.10-release1.el8.x86_64
zabbix-sql-scripts-6.4.10-release1.el8.noarch
zabbix-get-6.4.10-release1.el8.x86_64
zabbix-release-6.4-1.el8.noarch
zabbix-web-deps-6.4.10-release1.el8.noarch
zabbix-nginx-conf-6.4.10-release1.el8.noarch
zabbix-agent-6.4.10-release1.el8.x86_64
zabbix-web-pgsql-6.4.10-release1.el8.noarch
[root@mgmt1 user]#
Oracle 19c database.
There are about 20 TABLESPACEs available.
About five of them are very critical.
Three of them are very large, 400-500-800GB, consisting of several DATAFILES.
All TS were created with the SMALLFILE option, so that when space in the TS runs out, just add a data file to it by command ALTER TABLESPACE "TS_NAME" ADD DATAFILE.....
All datafiles were added with the options "AUTOEXTEND ON NEXT 1G" or "ON NEXT 2G", etc. That is, with the autoextend option.
We are trying to set up monitoring via zabbix using the Oracle plugin for zabbix_agent2.
Everything works fine, the data is captured, except for the correct calculation of free space in the TS.
This plugin (Oracle plugin for zabbix_agent2) does not seem to know about AUTOEXTEND.
For example: The plugin sees a table space of 100GB. He sees that it uses 99GB. It begins to notify that the state of free space in TS is an alarm, and the plugin does not understand the fact that when the data file reaches its critical volume and its automatic autoextend occurs and space is automatically added to the tablespace.
How did you get out of such a situation?
I really don’t want to write self-written scripts, because they need to be supported. There is more than one database, more than one server, more than one database instance, etc.
I need zabbix to take into account the entire total volume of TABLESPACE, relying on the option to create/add a datafile MAXSIZE 32767M;
And not for the actual available space in the database.
For example, this is how I add a new datafile:
ALTER TABLESPACE "TRAN" add datafile '/home/oracle/app/oradata/tran_26.ora' SIZE 3G AUTOEXTEND ON NEXT 1G MAXSIZE 32767M;
I need Zabbix to see the entire data file volume of 32GB, and not +3GB.
Thank you!
Sorry for my bad English.
PS:
[root@mgmt1 user]# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)
[root@mgmt1 user]# uname -a
Linux mgmt1.host.com 4.18.0-372.19.1.el8_6.x86_64 #1 SMP Tue Aug 2 16:19:42 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@mgmt1 user]# rpm -qa | grep zabbix
zabbix-selinux-policy-6.4.10-release1.el8.x86_64
zabbix-web-6.4.10-release1.el8.noarch
zabbix-server-pgsql-6.4.10-release1.el8.x86_64
zabbix-sql-scripts-6.4.10-release1.el8.noarch
zabbix-get-6.4.10-release1.el8.x86_64
zabbix-release-6.4-1.el8.noarch
zabbix-web-deps-6.4.10-release1.el8.noarch
zabbix-nginx-conf-6.4.10-release1.el8.noarch
zabbix-agent-6.4.10-release1.el8.x86_64
zabbix-web-pgsql-6.4.10-release1.el8.noarch
[root@mgmt1 user]#