Database Monitoring
OracleDB Monitoring
OracleDB Integration with KloudMate using KloudMate Agents
7 min
oracledb is foundational for many enterprise applications, and robust monitoring is essential for maintaining performance and reliability kloudmate provides comprehensive visibility into oracledb by delivering real time insights through logs and metrics the recommended approach is to use the kloudmate agent , which simplifies telemetry collection and automatically sends oracledb metrics and logs to kloudmate the following guide explains how to set up oracledb monitoring using kloudmate agent step 1 access agents and opentelemetry collector configuration navigate to the kloudmate platform and log in to your account go to settings > agents section here you can view all installed agents access configuration settings for each agent review the default configurations provided by kloudmate to edit an agent's collector configuration select the desired agent click the actions menu (or agent action tab) choose collector configuration a text editor ui will open allowing you to edit the agent’s yaml configuration directly within the platform sample configuration extensions health check pprof endpoint 0 0 0 0 1777 zpages endpoint 0 0 0 0 55679 receivers otlp protocols grpc endpoint 0 0 0 0 4317 http endpoint 0 0 0 0 4318 opencensus endpoint 0 0 0 0 55678 oracledb datasource "oracle //otel\ passwd@\<host ip address>/xepdb1" \# collect own metrics prometheus config scrape configs \ job name 'otel collector' scrape interval 10s static configs \ targets \['0 0 0 0 8888'] jaeger protocols grpc endpoint 0 0 0 0 14250 thrift binary endpoint 0 0 0 0 6832 thrift compact endpoint 0 0 0 0 6831 thrift http endpoint 0 0 0 0 14268 zipkin endpoint 0 0 0 0 9411 processors memory limiter check interval 1s limit mib 1000 spike limit mib 800 batch send batch size 1000 timeout 10s exporters debug verbosity detailed otlphttp endpoint 'https //otel kloudmate com 4318' headers authorization \<api key> service pipelines traces receivers \[otlp, opencensus, jaeger, zipkin] processors \[batch] exporters \[debug, otlphttp] metrics receivers \[oracledb] processors \[memory limiter, batch] exporters \[debug, otlphttp] logs receivers \[otlp, oracledb] processors \[memory limiter, batch] exporters \[debug, otlphttp] extensions \[health check, pprof, zpages] step 2 configure the oracledb receiver in the configuration above, the oracledb receiver specifies the database connection string replace values in the datasource string as follows username otel password passwd host \<host ip address> database service xepdb1 (type of pluggable database; replace if yours differs) the username appears first, followed by the password, then your host ip address, and finally the database service you want to connect to to ensure reliable handling of high volume telemetry data from the database, the kloudmate agent uses processors that manage memory consumption and control batch sizes before sending data to kloudmate it is recommended to enable both the memory limiter and batch processors in your configuration and adjust their parameters according to your workload and performance requirements step 3 export data to kloudmate use the otlphttp exporter set the endpoint to https //otel kloudmate com 4318 insert your kloudmate workspace api key in the authorization header this enables forwarding telemetry to kloudmate for analysis and visualization depending on which metrics you collect, you will need to assign the following permissions to the database user grant select on v $session to \<username>; grant select on v $sysstat to \<username>; grant select on v $resource limit to \<username>; grant select on dba tablespaces to \<username>; grant select on dba data files to \<username>; grant select on dba tablespace usage metrics to \<username>; step 4 set up kloudmate dashboards and alerts access kloudmate and create dashboards to visualize oracledb logs and metrics tailor dashboards to your operations team’s requirements configure alerting rules, such as grafana alerts for critical oracledb thresholds and unusual log activity, to ensure rapid response to database issues default metrics default metrics oracledb cpu time oracledb dml locks limit oraclb dml locks usage oracledb enqueue deadlocks oracledb enqueue locks limit oracledb enqueue locks usage oracledb enqueue resources limit oracledb enqueue resources usage oracledb exchange deadlocks oracledb executions oracledb hard parses oracledb logical reads oracledb parse calls oracledb pga memory oracledb physical reads oracledb processes limit oracledb processes usage oracledb sessions limit oracledb sessions usage oracledb tablespace size limit oracledb tablespace size usage oracledb transactions limit oracledb transactions usage oracledb user commits oracledb user rollbacks optional metrics oracledb consistent gets oracledb db block gets for full details on metrics, click https //github com/open telemetry/opentelemetry collector contrib/blob/main/receiver/oracledbreceiver/documentation md