Database Monitoring
OracleDB Monitoring
OracleDB Integration with KloudMate using OpenTelemetry
8 min
oracledb is foundational for many enterprise applications, and robust monitoring is crucial for maintaining performance and reliability integrating kloudmate enables comprehensive monitoring of oracledb, delivering real time insights via logs and metrics this guide explains how to configure oracledb monitoring using opentelemetry collector and kloudmate step 1 install and configure the opentelemetry collector deploy an opentelemetry collector in your environment this agent will collect, process, and export telemetry data from oracledb configure the collector to receive logs and metrics ensure it is set up to handle the expected data volume and types generated by oracledb sample opentelemetry collector 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 the collector can handle a large amount of telemetry data from the database, it is recommended to use processors to control the memory and the batch size of the data sent use both the memory limiter and batch processors in your pipeline, adjusting their parameters according to your requirements and use case 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 5 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 here