Cloud Database Monitoring using SelectStar – Part V
We are looking at SelectStar, the
heterogeneous monitoring solution for cloud databases. In the last blog post here,
we added an Oracle database from our on-premise collector. For monitoring
purposes, we selected the existing “dbsnmp” user.
The help page https://app.selectstar.io/prereqs/oracle_database also lists the commands to create a user for
Amazon RDS (Relational Database Service), along with calls to the RDS specific
procedure rdsadmin.rdsadmin_util.grant_sys_object. This is under the heading “Creating
user for RDS”. The commands listed are:
CREATE
USER SELECTSTAR_USER IDENTIFIED BY yourmonitoringpassword;
GRANT CONNECT TO SELECTSTAR_USER;
GRANT SELECT on gv$instance to SELECTSTAR_USER
GRANT SELECT on dba_data_files TO SELECTSTAR_USER;
GRANT SELECT on dba_free_space TO SELECTSTAR_USER;
GRANT SELECT on dba_tablespaces TO SELECTSTAR_USER;
GRANT SELECT on dba_temp_files TO SELECTSTAR_USER;
GRANT SELECT on global_name TO SELECTSTAR_USER;
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$ARCHIVE_DEST','SELECTSTAR_USER','SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$FILESTAT', 'SELECTSTAR_USER', 'SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$INSTANCE','SELECTSTAR_USER', 'SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$PARAMETER','SELECTSTAR_USER', 'SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$RESOURCE_LIMIT','SELECTSTAR_USER', 'SELECT');
…
GRANT CONNECT TO SELECTSTAR_USER;
GRANT SELECT on gv$instance to SELECTSTAR_USER
GRANT SELECT on dba_data_files TO SELECTSTAR_USER;
GRANT SELECT on dba_free_space TO SELECTSTAR_USER;
GRANT SELECT on dba_tablespaces TO SELECTSTAR_USER;
GRANT SELECT on dba_temp_files TO SELECTSTAR_USER;
GRANT SELECT on global_name TO SELECTSTAR_USER;
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$ARCHIVE_DEST','SELECTSTAR_USER','SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$FILESTAT', 'SELECTSTAR_USER', 'SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$INSTANCE','SELECTSTAR_USER', 'SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$PARAMETER','SELECTSTAR_USER', 'SELECT');
CALL rdsadmin.rdsadmin_util.grant_sys_object('GV_$RESOURCE_LIMIT','SELECTSTAR_USER', 'SELECT');
…
At the bottom of the help page, the
Metrics captured by the collector for an Oracle database are also listed under
separate categories such as Database, Instance, Cache Advice, Application,
Control File, Redo Log File, SGA Advice, Shared Pool Advice, Memory Advice and
Tablespace. Some examples of the Metrics are Archive Log Files count, Archive
Log Mode, Days since last RMAN backup, Average Datafile Read time, Consistent
Read Gets, Average Write Time, Logical Reads, Physical Reads, Tablespace Free
space, and so on.
Coming
back to the “Configure Oracle Connection” page we were on (seen here),
click on the Save button. You are now placed in the next step in the new
account workflow, which is the “Select Infrastructure” page seen below.
As can
be seen, SelectStar allows you to monitor databases in Amazon EC2, RDS,
Microsoft Azure, and VMware. More infrastructure is on the way, such as Oracle
Public Cloud and Google Cloud Platform.
You can
skip this step, we will add other infrastructure later on. On the same page,
you have the ability to add a user, such as a co-worker who can work under your
account. But we won’t do that now.
At this
point, the database is being monitored by SelectStar and appears on the main
SelectStar database overview page. Since you are just starting out, a few
helpful hits appear on the page, and even an offer to take part in a review
about the overview page. You can add more databases at this point.
We will
come back to the overview page later, to drill down to the database in detail,
since the collector should be given some time to collect the database metrics.
Let us have a quick look at the collector processes at the unix level, via a ps
–aef and filtering out the results using grep:
# ps -aef
| grep collector
root 4445
1 0 02:46 ? 00:00:30 java -jar
-Dlog4j.configurationFile=file:/opt/bluemedora/frontier-collector//config/log4j2.xml
-Dlogfile.name=frontier-launcher -Dfrontier.home=/opt/bluemedora/frontier-collector/
/opt/bluemedora/frontier-collector//launcher/frontier-launcher.jar
root 4710
4445 0 02:46 ? 00:01:20 java -Xms64m
-Dlog4j.configurationFile=file:/opt/bluemedora/frontier-collector/config/log4j2.xml
-Dlogfile.name=collector -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/bluemedora/frontier-collector/log/collector.heap
-XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC
-XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:+UseCompressedOops
-jar /opt/bluemedora/frontier-collector/collector/frontier-collector.jar
root 4910
4710 5 02:46 ? 00:19:20 java
-Dlog4j.configurationFile=file:/opt/bluemedora/frontier-collector/config/log4j2.xml
-Dfrontier.plugin_instance.uuid=44d2b6fc-ce39-4143-8718-d0f4297956aa
-Dfrontier.plugin.is_extension=false -Dstomp.port=65110
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/bluemedora/frontier-collector/log/44d2b6fc-ce39-4143-8718-d0f4297956aa.heap
-XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC
-XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
-XX:+UseCompressedOops
-Dlogfile.name=SaiProd_44d2b6fc-ce39-4143-8718-d0f4297956aa -Xmx768m -Xms64m
-jar /opt/bluemedora/frontier-collector/collector/plugin_runner_v3/frontier-plugin-v3.jar
root 4265
4143 0 08:30 pts/0 00:00:00 grep collector
We can see three main Java collector processes. The process
ids are 4445, 4710 and 4910.
We will continue examining the OS-level impact of the
processes in the next blog post.
Comments
Post a Comment