diff --git a/docs/404.html b/docs/404.html index 34c155b8..4db0bdde 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,7 +4,7 @@ Page Not Found | Oracle Database Metrics Exporter - + diff --git a/docs/assets/js/af966633.71b7106b.js b/docs/assets/js/af966633.71b7106b.js new file mode 100644 index 00000000..357733ec --- /dev/null +++ b/docs/assets/js/af966633.71b7106b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[2173],{1035:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"getting-started/basics","title":"Installation","description":"In this section you will find information on running the exporter.","source":"@site/docs/getting-started/basics.md","sourceDirName":"getting-started","slug":"/getting-started/basics","permalink":"/oracle-db-appdev-monitoring/docs/next/getting-started/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/docs/getting-started/basics.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Installation","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Getting Started","permalink":"/oracle-db-appdev-monitoring/docs/next/category/getting-started"},"next":{"title":"Default Metrics","permalink":"/oracle-db-appdev-monitoring/docs/next/getting-started/default-metrics"}}');var a=t(4848),s=t(8453);const i={title:"Installation",sidebar_position:1},r="Installation",l={},c=[{value:"Database Permissions",id:"database-permissions",level:2},{value:"Docker, Podman, etc",id:"docker-podman-etc",level:2},{value:"Oracle Database Free",id:"oracle-database-free",level:3},{value:"Exporter",id:"exporter",level:3},{value:"Simple connection",id:"simple-connection",level:3},{value:"Standalone Binary",id:"standalone-binary",level:2},{value:"Docker Compose",id:"docker-compose",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"installation",children:"Installation"})}),"\n",(0,a.jsx)(n.p,{children:"In this section you will find information on running the exporter."}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["In a container runtime like ",(0,a.jsx)(n.a,{href:"#docker-podman-etc",children:"Docker, Podman, etc"})]}),"\n",(0,a.jsxs)(n.li,{children:["In a test/demo environment using ",(0,a.jsx)(n.a,{href:"#docker-compose",children:"Docker Compose"})]}),"\n",(0,a.jsxs)(n.li,{children:["In ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/getting-started/kubernetes",children:"Kubernetes"})]}),"\n",(0,a.jsxs)(n.li,{children:["As a ",(0,a.jsx)(n.a,{href:"#standalone-binary",children:"standalone binary"})]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"database-permissions",children:"Database Permissions"}),"\n",(0,a.jsxs)(n.p,{children:["For the built-in default metrics, the exporter database database user must have the ",(0,a.jsx)(n.code,{children:"SELECT_CATALOG_ROLE"})," privilege and/or ",(0,a.jsx)(n.code,{children:"SELECT"})," permission on the following objects:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{children:"dba_tablespace_usage_metrics\ndba_tablespaces\ngv$system_wait_class\ngv$asm_diskgroup_stat\ngv$datafile\ngv$sysstat\ngv$process\ngv$waitclassmetric\ngv$session\ngv$resource_limit\ngv$parameter\ngv$database\ngv$sqlstats\ngv$sysmetric\nv$diag_alert_ext (for alert logs only)\n"})}),"\n",(0,a.jsx)(n.h2,{id:"docker-podman-etc",children:"Docker, Podman, etc"}),"\n",(0,a.jsxs)(n.p,{children:["You can run the exporter in a local container using a container image from ",(0,a.jsx)(n.a,{href:"https://container-registry.oracle.com",children:"Oracle Container Registry"}),'. The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.']}),"\n",(0,a.jsx)(n.h3,{id:"oracle-database-free",children:"Oracle Database Free"}),"\n",(0,a.jsxs)(n.p,{children:["If you need an Oracle Database to test the exporter, you can use this command to start up an instance of ",(0,a.jsx)(n.a,{href:"https://www.oracle.com/database/free/",children:"Oracle Database Free"})," which also requires no authentication or license presentment/acceptance to pull the image."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run --name free23ai \\\n -d \\\n -p 1521:1521 \\\n -e ORACLE_PASSWORD=Welcome12345 \\\n gvenzl/oracle-free:23.9-slim-faststart\n"})}),"\n",(0,a.jsx)(n.p,{children:'This will pull the image and start up the database with a listener on port 1521. It will also create a pluggable database (a database container) called "FREEPDB1" and will set the admin passwords to the password you specified on this command.'}),"\n",(0,a.jsx)(n.p,{children:"You can tail the logs to see when the database is ready to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker logs -f free23ai\n\n(look for this message...)\n#########################\nDATABASE IS READY TO USE!\n#########################\n"})}),"\n",(0,a.jsx)(n.p,{children:'To obtain the IP address of the container, which you will need to connect to the database, use this command. Note: depending on your platform and container runtime, you may be able to access the database at "localhost":'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'docker inspect free23ai | grep IPA\n "SecondaryIPAddresses": null,\n "IPAddress": "172.17.0.2",\n "IPAMConfig": null,\n "IPAddress": "172.17.0.2",\n'})}),"\n",(0,a.jsx)(n.h3,{id:"exporter",children:"Exporter"}),"\n",(0,a.jsx)(n.p,{children:"You need to give the exporter the connection details for the Oracle Database that you want it to run against. You can use a simple connection, or a wallet."}),"\n",(0,a.jsx)(n.h3,{id:"simple-connection",children:"Simple connection"}),"\n",(0,a.jsx)(n.p,{children:"For a simple connection, you will provide the details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"free23ai:1521/freepdb"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"}),", ",(0,a.jsx)(n.code,{children:"SYSOPER"}),", ",(0,a.jsx)(n.code,{children:"SYSBACKUP"}),", ",(0,a.jsx)(n.code,{children:"SYSDG"}),", ",(0,a.jsx)(n.code,{children:"SYSKM"}),", ",(0,a.jsx)(n.code,{children:"SYSRAC"})," or ",(0,a.jsx)(n.code,{children:"SYSASM"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"To run the exporter in a container and expose the port, use a command like this, with the appropriate values for the environment variables:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run -it --rm \\\n -e DB_USERNAME=pdbadmin \\\n -e DB_PASSWORD=Welcome12345 \\\n -e DB_CONNECT_STRING=free23ai:1521/freepdb \\\n -p 9161:9161 \\\n container-registry.oracle.com/database/observability-exporter:2.1.0\n"})}),"\n",(0,a.jsx)(n.h2,{id:"standalone-binary",children:"Standalone Binary"}),"\n",(0,a.jsxs)(n.p,{children:["Pre-compiled versions for Linux, ARM and Darwin 64-bit can be found under ",(0,a.jsx)(n.a,{href:"https://github.com/oracle/oracle-db-appdev-monitoring/releases",children:"releases"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["In order to run, you'll need the ",(0,a.jsx)(n.a,{href:"http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html",children:"Oracle Instant Client Basic"})," for your operating system. Only the basic version is required for the exporter."]}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:["NOTE: If you are running the Standalone binary on a Mac ARM platform you must set the variable ",(0,a.jsx)(n.code,{children:"DYLD_LIBRARY_PATH"})," to the location of where the instant client installed. For example ",(0,a.jsx)(n.code,{children:"export DYLD_LIBRARY_PATH=/lib/oracle/instantclient_23_3"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"The following command line arguments (flags) can be passed to the exporter (the --help flag will show the table below)."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'Usage of oracledb_exporter:\n --config.file="example-config.yaml"\n File with metrics exporter configuration. (env: CONFIG_FILE)\n --web.telemetry-path="/metrics"\n Path under which to expose metrics. (env: TELEMETRY_PATH)\n --default.metrics="default-metrics.toml"\n File with default metrics in a TOML file. (env: DEFAULT_METRICS)\n --custom.metrics="" Comma separated list of file(s) that contain various custom metrics in a TOML format. (env: CUSTOM_METRICS)\n --query.timeout=5 Query timeout (in seconds). (env: QUERY_TIMEOUT)\n --database.maxIdleConns=0 Number of maximum idle connections in the connection pool. (env: DATABASE_MAXIDLECONNS)\n --database.maxOpenConns=10\n Number of maximum open connections in the connection pool. (env: DATABASE_MAXOPENCONNS)\n --database.poolIncrement=-1\n Connection increment when the connection pool reaches max capacity. (env: DATABASE_POOLINCREMENT)\n --database.poolMaxConnections=-1\n Maximum number of connections in the connection pool. (env: DATABASE_POOLMAXCONNECTIONS)\n --database.poolMinConnections=-1\n Minimum number of connections in the connection pool. (env: DATABASE_POOLMINCONNECTIONS)\n --scrape.interval=0s Interval between each scrape. Default is to scrape on collect requests.\n --log.disable=0 Set to 1 to disable alert logs\n --log.interval=15s Interval between log updates (e.g. 5s).\n --log.destination="/log/alert.log"\n File to output the alert log to. (env: LOG_DESTINATION)\n --web.listen-address=:9161 ...\n Addresses on which to expose metrics and web interface. Repeatable for multiple addresses. Examples: `:9100` or `[::1]:9100` for http, `vsock://:9100` for vsock\n --web.config.file="" Path to configuration file that can enable TLS or authentication. See: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md\n --log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]\n --log.format=logfmt Output format of log messages. One of: [logfmt, json]\n --[no-]version Show application version.\n'})}),"\n",(0,a.jsx)(n.p,{children:"You may provide the connection details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"localhost:1521/freepdb1"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"})," or ",(0,a.jsx)(n.code,{children:"SYSOPER"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"ORACLE_HOME"})," is the location of the Oracle Instant Client, e.g., ",(0,a.jsx)(n.code,{children:"/lib/oracle/21/client64/lib"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"TNS_ADMIN"})," is the location of your (unzipped) wallet. The ",(0,a.jsx)(n.code,{children:"DIRECTORY"})," set in the ",(0,a.jsx)(n.code,{children:"sqlnet.ora"})," file must match the path that it will be mounted on inside the container."]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["The following example puts the logfile in the current location with the filename ",(0,a.jsx)(n.code,{children:"alert.log"})," and loads the default matrics file (",(0,a.jsx)(n.code,{children:"default-metrics,toml"}),") from the current location."]}),"\n",(0,a.jsxs)(n.p,{children:["If you prefer to provide configuration via a ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/configuration/config-file",children:"config file"}),", you may do so with the ",(0,a.jsx)(n.code,{children:"--config.file"}),' argument. The use of a config file over command line arguments is preferred. If a config file is not provided, the "default" database connection is managed by command line arguments.']}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n# If you include a config value that contains a '$' character, escape that '$' with another '$', e.g.,\n# \"$test$pwd\" => \"$$test$$pwd\"\n# Otherwise, the value will be expanded as an environment variable.\n\n# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n\ndatabases:\n ## Path on which metrics will be served\n # metricsPath: /metrics\n ## Database connection information for the \"default\" database.\n default:\n ## Database username\n username: ${DB_USERNAME}\n ## Database password\n password: ${DB_PASSWORD}\n ## Database password file\n ## If specified, will load the database password from a file.\n # passwordFile: ${DB_PASSWORD_FILE}\n ## Database connection url\n url: localhost:1521/freepdb1\n\n ## Metrics query timeout for this database, in seconds\n queryTimeout: 5\n\n ## Rely on Oracle Database External Authentication by network or OS\n # externalAuth: false\n ## Database role\n # role: SYSDBA\n ## Path to Oracle Database wallet, if using wallet\n # tnsAdmin: /path/to/database/wallet\n\n ### Connection settings:\n ### Either the go-sql or Oracle Database connection pool may be used.\n ### To use the Oracle Database connection pool over the go-sql connection pool,\n ### set maxIdleConns to zero and configure the pool* settings.\n\n ### Connection pooling settings for the go-sql connection pool\n ## Max open connections for this database using go-sql connection pool\n maxOpenConns: 10\n ## Max idle connections for this database using go-sql connection pool\n maxIdleConns: 10\n\n ### Connection pooling settings for the Oracle Database connection pool\n ## Oracle Database connection pool increment.\n # poolIncrement: 1\n ## Oracle Database Connection pool maximum size\n # poolMaxConnections: 15\n ## Oracle Database Connection pool minimum size\n # poolMinConnections: 15\n\n ## Arbitrary labels to add to each metric scraped from this database\n # labels:\n # label_name1: label_value1\n # label_name2: label_value2\n\nmetrics:\n ## How often to scrape metrics. If not provided, metrics will be scraped on request.\n # scrapeInterval: 15s\n ## Path to default metrics file.\n default: default-metrics.toml\n ## Paths to any custom metrics files\n custom:\n - custom-metrics-example/custom-metrics.toml\n\nlog:\n # Path of log file\n destination: /opt/alert.log\n # Interval of log updates\n interval: 15s\n ## Set disable to 1 to disable logging\n # disable: 0\n\n# Optionally configure prometheus webserver\n#web:\n# listenAddresses: [':9161']\n# systemdSocket: true|false\n# configFile: /path/to/webconfigfile\n"})}),"\n",(0,a.jsx)(n.h3,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,a.jsx)(n.p,{children:'If you would like to set up a test environment with the exporter, you can use the provided "Docker Compose" file in this repository which will start an Oracle Database instance, the exporter, Prometheus and Grafana.'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd docker-compose\ndocker-compose up -d\n"})}),"\n",(0,a.jsx)(n.p,{children:"The containers will take a short time to start. The first time, the Oracle container might take a few minutes to start while it creates the database instance, but this is a one-time operation, and subequent restarts will be much faster (a few seconds)."}),"\n",(0,a.jsx)(n.p,{children:"Once the containers are all running, you can access the services using these URLs:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"http://localhost:9161/metrics",children:"Exporter"})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:9090",children:"Prometheus"}),' - try a query for "oracle".']}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:3000",children:"Grafana"}),' - username is "admin" and password is "grafana". An Oracle Database dashboard is provisioned and configured to use data from the exporter.']}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>r});var o=t(6540);const a={},s=o.createContext(a);function i(e){const n=o.useContext(s);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/af966633.dc1a00f4.js b/docs/assets/js/af966633.dc1a00f4.js deleted file mode 100644 index 51cb60b8..00000000 --- a/docs/assets/js/af966633.dc1a00f4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[2173],{1035:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"getting-started/basics","title":"Installation","description":"In this section you will find information on running the exporter.","source":"@site/docs/getting-started/basics.md","sourceDirName":"getting-started","slug":"/getting-started/basics","permalink":"/oracle-db-appdev-monitoring/docs/next/getting-started/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/docs/getting-started/basics.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Installation","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Getting Started","permalink":"/oracle-db-appdev-monitoring/docs/next/category/getting-started"},"next":{"title":"Default Metrics","permalink":"/oracle-db-appdev-monitoring/docs/next/getting-started/default-metrics"}}');var a=t(4848),i=t(8453);const s={title:"Installation",sidebar_position:1},r="Installation",l={},c=[{value:"Docker, Podman, etc",id:"docker-podman-etc",level:2},{value:"Oracle Database Free",id:"oracle-database-free",level:3},{value:"Exporter",id:"exporter",level:3},{value:"Simple connection",id:"simple-connection",level:3},{value:"Standalone Binary",id:"standalone-binary",level:2},{value:"Docker Compose",id:"docker-compose",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"installation",children:"Installation"})}),"\n",(0,a.jsx)(n.p,{children:"In this section you will find information on running the exporter."}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["In a container runtime like ",(0,a.jsx)(n.a,{href:"#docker-podman-etc",children:"Docker, Podman, etc"})]}),"\n",(0,a.jsxs)(n.li,{children:["In a test/demo environment using ",(0,a.jsx)(n.a,{href:"#docker-compose",children:"Docker Compose"})]}),"\n",(0,a.jsxs)(n.li,{children:["In ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/getting-started/kubernetes",children:"Kubernetes"})]}),"\n",(0,a.jsxs)(n.li,{children:["As a ",(0,a.jsx)(n.a,{href:"#standalone-binary",children:"standalone binary"})]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"docker-podman-etc",children:"Docker, Podman, etc"}),"\n",(0,a.jsxs)(n.p,{children:["You can run the exporter in a local container using a container image from ",(0,a.jsx)(n.a,{href:"https://container-registry.oracle.com",children:"Oracle Container Registry"}),'. The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.']}),"\n",(0,a.jsx)(n.h3,{id:"oracle-database-free",children:"Oracle Database Free"}),"\n",(0,a.jsxs)(n.p,{children:["If you need an Oracle Database to test the exporter, you can use this command to start up an instance of ",(0,a.jsx)(n.a,{href:"https://www.oracle.com/database/free/",children:"Oracle Database Free"})," which also requires no authentication or license presentment/acceptance to pull the image."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run --name free23ai \\\n -d \\\n -p 1521:1521 \\\n -e ORACLE_PASSWORD=Welcome12345 \\\n gvenzl/oracle-free:23.9-slim-faststart\n"})}),"\n",(0,a.jsx)(n.p,{children:'This will pull the image and start up the database with a listener on port 1521. It will also create a pluggable database (a database container) called "FREEPDB1" and will set the admin passwords to the password you specified on this command.'}),"\n",(0,a.jsx)(n.p,{children:"You can tail the logs to see when the database is ready to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker logs -f free23ai\n\n(look for this message...)\n#########################\nDATABASE IS READY TO USE!\n#########################\n"})}),"\n",(0,a.jsx)(n.p,{children:'To obtain the IP address of the container, which you will need to connect to the database, use this command. Note: depending on your platform and container runtime, you may be able to access the database at "localhost":'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'docker inspect free23ai | grep IPA\n "SecondaryIPAddresses": null,\n "IPAddress": "172.17.0.2",\n "IPAMConfig": null,\n "IPAddress": "172.17.0.2",\n'})}),"\n",(0,a.jsx)(n.h3,{id:"exporter",children:"Exporter"}),"\n",(0,a.jsx)(n.p,{children:"You need to give the exporter the connection details for the Oracle Database that you want it to run against. You can use a simple connection, or a wallet."}),"\n",(0,a.jsx)(n.h3,{id:"simple-connection",children:"Simple connection"}),"\n",(0,a.jsx)(n.p,{children:"For a simple connection, you will provide the details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"free23ai:1521/freepdb"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"}),", ",(0,a.jsx)(n.code,{children:"SYSOPER"}),", ",(0,a.jsx)(n.code,{children:"SYSBACKUP"}),", ",(0,a.jsx)(n.code,{children:"SYSDG"}),", ",(0,a.jsx)(n.code,{children:"SYSKM"}),", ",(0,a.jsx)(n.code,{children:"SYSRAC"})," or ",(0,a.jsx)(n.code,{children:"SYSASM"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"To run the exporter in a container and expose the port, use a command like this, with the appropriate values for the environment variables:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run -it --rm \\\n -e DB_USERNAME=pdbadmin \\\n -e DB_PASSWORD=Welcome12345 \\\n -e DB_CONNECT_STRING=free23ai:1521/freepdb \\\n -p 9161:9161 \\\n container-registry.oracle.com/database/observability-exporter:2.1.0\n"})}),"\n",(0,a.jsx)(n.h2,{id:"standalone-binary",children:"Standalone Binary"}),"\n",(0,a.jsxs)(n.p,{children:["Pre-compiled versions for Linux, ARM and Darwin 64-bit can be found under ",(0,a.jsx)(n.a,{href:"https://github.com/oracle/oracle-db-appdev-monitoring/releases",children:"releases"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["In order to run, you'll need the ",(0,a.jsx)(n.a,{href:"http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html",children:"Oracle Instant Client Basic"})," for your operating system. Only the basic version is required for the exporter."]}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:["NOTE: If you are running the Standalone binary on a Mac ARM platform you must set the variable ",(0,a.jsx)(n.code,{children:"DYLD_LIBRARY_PATH"})," to the location of where the instant client installed. For example ",(0,a.jsx)(n.code,{children:"export DYLD_LIBRARY_PATH=/lib/oracle/instantclient_23_3"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"The following command line arguments (flags) can be passed to the exporter (the --help flag will show the table below)."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'Usage of oracledb_exporter:\n --config.file="example-config.yaml"\n File with metrics exporter configuration. (env: CONFIG_FILE)\n --web.telemetry-path="/metrics"\n Path under which to expose metrics. (env: TELEMETRY_PATH)\n --default.metrics="default-metrics.toml"\n File with default metrics in a TOML file. (env: DEFAULT_METRICS)\n --custom.metrics="" Comma separated list of file(s) that contain various custom metrics in a TOML format. (env: CUSTOM_METRICS)\n --query.timeout=5 Query timeout (in seconds). (env: QUERY_TIMEOUT)\n --database.maxIdleConns=0 Number of maximum idle connections in the connection pool. (env: DATABASE_MAXIDLECONNS)\n --database.maxOpenConns=10\n Number of maximum open connections in the connection pool. (env: DATABASE_MAXOPENCONNS)\n --database.poolIncrement=-1\n Connection increment when the connection pool reaches max capacity. (env: DATABASE_POOLINCREMENT)\n --database.poolMaxConnections=-1\n Maximum number of connections in the connection pool. (env: DATABASE_POOLMAXCONNECTIONS)\n --database.poolMinConnections=-1\n Minimum number of connections in the connection pool. (env: DATABASE_POOLMINCONNECTIONS)\n --scrape.interval=0s Interval between each scrape. Default is to scrape on collect requests.\n --log.disable=0 Set to 1 to disable alert logs\n --log.interval=15s Interval between log updates (e.g. 5s).\n --log.destination="/log/alert.log"\n File to output the alert log to. (env: LOG_DESTINATION)\n --web.listen-address=:9161 ...\n Addresses on which to expose metrics and web interface. Repeatable for multiple addresses. Examples: `:9100` or `[::1]:9100` for http, `vsock://:9100` for vsock\n --web.config.file="" Path to configuration file that can enable TLS or authentication. See: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md\n --log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]\n --log.format=logfmt Output format of log messages. One of: [logfmt, json]\n --[no-]version Show application version.\n'})}),"\n",(0,a.jsx)(n.p,{children:"You may provide the connection details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"localhost:1521/freepdb1"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"})," or ",(0,a.jsx)(n.code,{children:"SYSOPER"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"ORACLE_HOME"})," is the location of the Oracle Instant Client, e.g., ",(0,a.jsx)(n.code,{children:"/lib/oracle/21/client64/lib"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"TNS_ADMIN"})," is the location of your (unzipped) wallet. The ",(0,a.jsx)(n.code,{children:"DIRECTORY"})," set in the ",(0,a.jsx)(n.code,{children:"sqlnet.ora"})," file must match the path that it will be mounted on inside the container."]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["The following example puts the logfile in the current location with the filename ",(0,a.jsx)(n.code,{children:"alert.log"})," and loads the default matrics file (",(0,a.jsx)(n.code,{children:"default-metrics,toml"}),") from the current location."]}),"\n",(0,a.jsxs)(n.p,{children:["If you prefer to provide configuration via a ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/configuration/config-file",children:"config file"}),", you may do so with the ",(0,a.jsx)(n.code,{children:"--config.file"}),' argument. The use of a config file over command line arguments is preferred. If a config file is not provided, the "default" database connection is managed by command line arguments.']}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n# If you include a config value that contains a '$' character, escape that '$' with another '$', e.g.,\n# \"$test$pwd\" => \"$$test$$pwd\"\n# Otherwise, the value will be expanded as an environment variable.\n\n# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n\ndatabases:\n ## Path on which metrics will be served\n # metricsPath: /metrics\n ## Database connection information for the \"default\" database.\n default:\n ## Database username\n username: ${DB_USERNAME}\n ## Database password\n password: ${DB_PASSWORD}\n ## Database password file\n ## If specified, will load the database password from a file.\n # passwordFile: ${DB_PASSWORD_FILE}\n ## Database connection url\n url: localhost:1521/freepdb1\n\n ## Metrics query timeout for this database, in seconds\n queryTimeout: 5\n\n ## Rely on Oracle Database External Authentication by network or OS\n # externalAuth: false\n ## Database role\n # role: SYSDBA\n ## Path to Oracle Database wallet, if using wallet\n # tnsAdmin: /path/to/database/wallet\n\n ### Connection settings:\n ### Either the go-sql or Oracle Database connection pool may be used.\n ### To use the Oracle Database connection pool over the go-sql connection pool,\n ### set maxIdleConns to zero and configure the pool* settings.\n\n ### Connection pooling settings for the go-sql connection pool\n ## Max open connections for this database using go-sql connection pool\n maxOpenConns: 10\n ## Max idle connections for this database using go-sql connection pool\n maxIdleConns: 10\n\n ### Connection pooling settings for the Oracle Database connection pool\n ## Oracle Database connection pool increment.\n # poolIncrement: 1\n ## Oracle Database Connection pool maximum size\n # poolMaxConnections: 15\n ## Oracle Database Connection pool minimum size\n # poolMinConnections: 15\n\n ## Arbitrary labels to add to each metric scraped from this database\n # labels:\n # label_name1: label_value1\n # label_name2: label_value2\n\nmetrics:\n ## How often to scrape metrics. If not provided, metrics will be scraped on request.\n # scrapeInterval: 15s\n ## Path to default metrics file.\n default: default-metrics.toml\n ## Paths to any custom metrics files\n custom:\n - custom-metrics-example/custom-metrics.toml\n\nlog:\n # Path of log file\n destination: /opt/alert.log\n # Interval of log updates\n interval: 15s\n ## Set disable to 1 to disable logging\n # disable: 0\n\n# Optionally configure prometheus webserver\n#web:\n# listenAddresses: [':9161']\n# systemdSocket: true|false\n# configFile: /path/to/webconfigfile\n"})}),"\n",(0,a.jsx)(n.h3,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,a.jsx)(n.p,{children:'If you would like to set up a test environment with the exporter, you can use the provided "Docker Compose" file in this repository which will start an Oracle Database instance, the exporter, Prometheus and Grafana.'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd docker-compose\ndocker-compose up -d\n"})}),"\n",(0,a.jsx)(n.p,{children:"The containers will take a short time to start. The first time, the Oracle container might take a few minutes to start while it creates the database instance, but this is a one-time operation, and subequent restarts will be much faster (a few seconds)."}),"\n",(0,a.jsx)(n.p,{children:"Once the containers are all running, you can access the services using these URLs:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"http://localhost:9161/metrics",children:"Exporter"})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:9090",children:"Prometheus"}),' - try a query for "oracle".']}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:3000",children:"Grafana"}),' - username is "admin" and password is "grafana". An Oracle Database dashboard is provisioned and configured to use data from the exporter.']}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>r});var o=t(6540);const a={},i=o.createContext(a);function s(e){const n=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c539bf3f.6b61fa87.js b/docs/assets/js/c539bf3f.6b61fa87.js new file mode 100644 index 00000000..f86a767e --- /dev/null +++ b/docs/assets/js/c539bf3f.6b61fa87.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[9100],{1432:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"releases/changelog","title":"Changelog","description":"List of upcoming and historic changes to the exporter.","source":"@site/docs/releases/changelog.md","sourceDirName":"releases","slug":"/releases/changelog","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/changelog","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/docs/releases/changelog.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"Changelog","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Roadmap","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/roadmap"},"next":{"title":"Builds","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/builds"}}');var r=i(4848),t=i(8453);const l={title:"Changelog",sidebar_position:2},o="Release Notes",a={},d=[{value:"Next, in-development",id:"next-in-development",level:3},{value:"Version 2.1.0, September 29, 2025",id:"version-210-september-29-2025",level:3},{value:"Version 2.0.4, September 8, 2025",id:"version-204-september-8-2025",level:3},{value:"Version 2.0.3, August 27, 2025",id:"version-203-august-27-2025",level:3},{value:"Version 2.0.2, June 24, 2025",id:"version-202-june-24-2025",level:3},{value:"Version 2.0.1, June 12, 2025",id:"version-201-june-12-2025",level:3},{value:"Version 2.0.0, May 27, 2025",id:"version-200-may-27-2025",level:3},{value:"Version 1.6.1, May 2, 2025",id:"version-161-may-2-2025",level:3},{value:"Version 1.6.0, April 18, 2025",id:"version-160-april-18-2025",level:3},{value:"Version 1.5.5, March 13, 2025",id:"version-155-march-13-2025",level:3},{value:"Version 1.5.4, March 3, 2025",id:"version-154-march-3-2025",level:3},{value:"Version 1.5.3, January 28, 2025",id:"version-153-january-28-2025",level:3},{value:"Version 1.5.2, December 2, 2024",id:"version-152-december-2-2024",level:3},{value:"Version 1.5.1, October 28, 2024",id:"version-151-october-28-2024",level:3},{value:"Version 1.5.0, September 26, 2024",id:"version-150-september-26-2024",level:3},{value:"Version 1.4.0, September 4, 2024",id:"version-140-september-4-2024",level:3},{value:"Version 1.3.1, July 22, 2024",id:"version-131-july-22-2024",level:3},{value:"Version 1.3.0, June 7, 2024",id:"version-130-june-7-2024",level:3},{value:"Version 1.2.1, April 16, 2024",id:"version-121-april-16-2024",level:3},{value:"Version 1.2.0, January 17, 2024",id:"version-120-january-17-2024",level:3},{value:"Version 1.1.1, November 28, 2023",id:"version-111-november-28-2023",level:3},{value:"Version 1.1, October 27, 2023",id:"version-11-october-27-2023",level:3},{value:"Version 1.0, September 13, 2023",id:"version-10-september-13-2023",level:3}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"release-notes",children:"Release Notes"})}),"\n",(0,r.jsx)(n.p,{children:"List of upcoming and historic changes to the exporter."}),"\n",(0,r.jsx)(n.h3,{id:"next-in-development",children:"Next, in-development"}),"\n",(0,r.jsx)(n.p,{children:"Our current priorities to support metrics for advanced database features and use cases, like Exadata, GoldenGate, and views included in the Oracle Diagnostics Pack."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Move ",(0,r.jsx)(n.code,{children:"oracledb_dbtype"})," metric to the default metrics. You may now disable or override this metric like any other database metric."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/MansuyDavid",children:"@MansuyDavid"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-210-september-29-2025",children:"Version 2.1.0, September 29, 2025"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Updated project dependencies."}),"\n",(0,r.jsx)(n.li,{children:"Standardize multi-arch builds and document supported database versions."}),"\n",(0,r.jsx)(n.li,{children:"The metrics override capability is extended, allowing users to redefine individual existing metrics in custom metrics files. This allows users to modify individual default metrics without wholly replacing the default metrics file."}),"\n",(0,r.jsx)(n.li,{children:"If the exporter fails to connect to a database due to invalid or locked credentials (ORA-01017 or ORA-28000 errors), that database configuration will be invalidated and the exporter will not attempt to re-establish the database connection. Other databases will continue to be scraped."}),"\n",(0,r.jsxs)(n.li,{children:["Metrics with an empty databases array (",(0,r.jsx)(n.code,{children:"databases = []"}),") are now considered disabled, and will not be scraped."]}),"\n",(0,r.jsxs)(n.li,{children:["Increased the default query timeout for the ",(0,r.jsx)(n.code,{children:"top_sql"})," metric to 10 seconds (previously 5 seconds)."]}),"\n",(0,r.jsxs)(n.li,{children:["Metrics using the ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," property will no longer be scraped on every request if they have a cached value. This only applies when the metrics exporter is configured to scrape metrics ",(0,r.jsx)(n.em,{children:"on request"}),", rather than on a global interval."]}),"\n",(0,r.jsxs)(n.li,{children:["Metrics using the ",(0,r.jsx)(n.code,{children:"fieldtoappend"})," property now support labels. The ",(0,r.jsx)(n.code,{children:"wait_time"})," and ",(0,r.jsx)(n.code,{children:"activity"})," default metrics use the ",(0,r.jsx)(n.code,{children:"fieldtoappend"})," property, and now properly display their labels."]}),"\n",(0,r.jsxs)(n.li,{children:["Fix ",(0,r.jsx)(n.code,{children:"wait_time"})," default metric to work with Oracle Database 19c."]}),"\n",(0,r.jsx)(n.li,{children:"Fix an issue where the exporter would unnecessarily scrape metrics with a custom scrape interval."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/romankspb",children:"@romankspb"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/muhammadabdullah-amjad",children:"@muhammadabdullah-amjad"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/MansuyDavid",children:"@MansuyDavid"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/borkoz",children:"@borkoz"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/ristagg",children:"@ristagg"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-204-september-8-2025",children:"Version 2.0.4, September 8, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Added WARN logging when database configurations are duplicated in the exporter configuration."}),"\n",(0,r.jsxs)(n.li,{children:["Added INST_ID to ",(0,r.jsx)(n.code,{children:"gv$"})," query metrics as a label."]}),"\n",(0,r.jsx)(n.li,{children:"Fixed multiple concurrency bugs when the exporter is connected to multiple databases and using a custom scrape interval."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Supporterino",children:"@Supporterino"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/msafdal",children:"@msafdal"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/aberinnj",children:"@aberinnj"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-203-august-27-2025",children:"Version 2.0.3, August 27, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Enable configuration of the prometheus webserver from the config file using the ",(0,r.jsx)(n.code,{children:"web"})," prefix."]}),"\n",(0,r.jsx)(n.li,{children:"Allow loading of database password(s) from a file."}),"\n",(0,r.jsx)(n.li,{children:"Fixed a bug where database type (CDB, PDB, etc.) was not reported in certain situations."}),"\n",(0,r.jsxs)(n.li,{children:["Fixed a bug where literal passwords containing the '$' character (in the config file) would be evaluated as environment variables. To use literal passwords with the '$' character, escape the '$' character with a second '$': ",(0,r.jsx)(n.code,{children:"$test$pwd"})," becomes ",(0,r.jsx)(n.code,{children:"$$test$$pwd"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Fixed a bug when using ",(0,r.jsx)(n.code,{children:"metrics.scrapeInterval"})," combined with per-metric scrape intervals that made the available metrics data set inconsistent."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Supporterino",children:"@Supporterino"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/neilschelly",children:"@neilschelly"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/aberinnj",children:"@aberinnj"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/redelang",children:"@redelang"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/qrkop",children:"@qrkop"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/KevDi",children:"@KevDi"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/bomuva",children:"@bomuva"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/anilmoris",children:"@anilmoris"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Sycri",children:"@Sycri"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/kizuna-lek",children:"@kizuna-lek"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rfrozza",children:"@rfrozza"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/neilschelly",children:"@neilschelly"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-202-june-24-2025",children:"Version 2.0.2, June 24, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Fixed a case-sensitive issue with resource name in the default metrics file."}),"\n",(0,r.jsx)(n.li,{children:"Add query timeouts to initial database connections, which could cause the exporter to hang in multi-database configurations"}),"\n",(0,r.jsx)(n.li,{children:"Fix an issue where rapidly acquiring connections could cause the exporter to crash. This was more common in multi-database configurations, due to the increased number of connection pools."}),"\n",(0,r.jsx)(n.li,{children:"Update some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rfrozza",children:"@rfrozza"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/neilschelly",children:"@neilschelly"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rafal-szypulka",children:"@rafal-szypulka"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/darkelfit",children:"@darkelfit"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-201-june-12-2025",children:"Version 2.0.1, June 12, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Use gv$ views instead of v$ views to allow collection of metrics from all instances in a cluster. (In preparation for RAC support)."}),"\n",(0,r.jsx)(n.li,{children:"Update some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-200-may-27-2025",children:"Version 2.0.0, May 27, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Fixed an issue with ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," that could cause metrics not to be scraped (#172, #176)."]}),"\n",(0,r.jsxs)(n.li,{children:["Added configuration through a YAML file, passed using the ",(0,r.jsx)(n.code,{children:"--config.file"})," command-line argument. Backwards compatibility is maintained for the command-line arguments, through it is recommended to use the configuration file from the 2.0.0 release onward. It is not recommended to use a combination of command-line arguments and the configuration file."]}),"\n",(0,r.jsx)(n.li,{children:"Added support for multiple databases through the configuration file. As many database instances may be specified as needed, which will be scraped concurrently (#89)."}),"\n",(0,r.jsx)(n.li,{children:"Updated provided dashboards."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-161-may-2-2025",children:"Version 1.6.1, May 2, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Deepak A."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-160-april-18-2025",children:"Version 1.6.0, April 18, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Added support for Azure Key Vault (#200)."}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/4Aiur",children:"4Aiur"})," added missing grants for alert log to the demo environment (#207)."]}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Brian, Damian et al."}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/4Aiur",children:"4Aiur"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-155-march-13-2025",children:"Version 1.5.5, March 13, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/VictorErmakov",children:"@VictorErmakov"})," updated the docker-compose sample with connection pool parameters to avoid fast connect cycling (#191)."]}),"\n",(0,r.jsx)(n.li,{children:"Update default values for connection pool parameters to use go-sql pooling by default to avoid fast connet cycling."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/VictorErmakov",children:"@VictorErmakov"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-154-march-3-2025",children:"Version 1.5.4, March 3, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Based of this recommendation from ",(0,r.jsx)(n.a,{href:"https://github.com/godror/godror?tab=readme-ov-file#pooling",children:"godror"}),", which relates to the two following items, and in discussion with the ODPI-C team, we have introduced additional parameters to allow you to set connection pool parameters, and have set defaults which will avoid fast connect cycling. It is our expectation that a fix may be produced in the underlying ODPI-C library for the underlying issue. In the mean time, these changes will avoid the conditions under which the error can occur."]}),"\n",(0,r.jsx)(n.li,{children:"Fix malloc error (#177, #181)."}),"\n",(0,r.jsx)(n.li,{children:"Fix intermittent connection issues with ADB-S when exporter is run in a container (#169)."}),"\n",(0,r.jsx)(n.li,{children:"Fix Multiple custom metrics files overwrite one another (#179)."}),"\n",(0,r.jsx)(n.li,{children:"Replace go-kit/log with log/slog, due to upstream changes in prometheus/common."}),"\n",(0,r.jsxs)(n.li,{children:["Add support for additional admin roles, expanding list of options for ",(0,r.jsx)(n.code,{children:"DB_ROLE"})," to ",(0,r.jsx)(n.code,{children:"SYSDBA"}),", ",(0,r.jsx)(n.code,{children:"SYSOPER"}),", ",(0,r.jsx)(n.code,{children:"SYSBACKUP"}),", ",(0,r.jsx)(n.code,{children:"SYSDG"}),", ",(0,r.jsx)(n.code,{children:"SYSKM"}),", ",(0,r.jsx)(n.code,{children:"SYSRAC"})," and ",(0,r.jsx)(n.code,{children:"SYSASM"})," (#180)."]}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Jman1993",children:"@Jman1993"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/oey",children:"@oey"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/jlembeck06",children:"@jlembeck06"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Jman1993",children:"@Jman1993"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/PeterP55P",children:"@PeterP55P"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rlagyu0",children:"@rlagyu0"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Sycri",children:"@Sycri"})}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Thank you to ",(0,r.jsx)(n.a,{href:"https://github.com/tgulacsi",children:"@tgulacsi"})," for changes in godror (",(0,r.jsx)(n.a,{href:"https://github.com/godror/godror/issues/361",children:"https://github.com/godror/godror/issues/361"}),", ",(0,r.jsx)(n.a,{href:"https://github.com/godror/godror/issues/360",children:"https://github.com/godror/godror/issues/360"}),"), and to ",(0,r.jsx)(n.a,{href:"https://github.com/cjbj",children:"@cjbj"})," and ",(0,r.jsx)(n.a,{href:"https://github.com/sudarshan12s",children:"@sudarshan12s"})," for support and guidance from ODPI-C (",(0,r.jsx)(n.a,{href:"https://github.com/oracle/odpi",children:"https://github.com/oracle/odpi"}),")."]}),"\n",(0,r.jsx)(n.p,{children:"In this release, we also continued some minor code refactoring."}),"\n",(0,r.jsx)(n.h3,{id:"version-153-january-28-2025",children:"Version 1.5.3, January 28, 2025"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Known issue"}),": This release has a known issue that results in the error message ",(0,r.jsx)(n.code,{children:"malloc(): unsorted double linked list corrupted"}),".\nWe recommend staying on 1.5.2 until a new release with a fix is available. We hope to have a fix by early March."]}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Fix over-zealous supression of errors when ",(0,r.jsx)(n.code,{children:"ignorezeroresult = true"})," (#168)."]}),"\n",(0,r.jsxs)(n.li,{children:["When ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," is set, do first scrape immediately, not after the interval (#166)."]}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/redelang",children:"@redelang"})}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"In this release, we also started some minor code refactoring."}),"\n",(0,r.jsx)(n.h3,{id:"version-152-december-2-2024",children:"Version 1.5.2, December 2, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Update the metric defintion for tablespace usage to report more accurate temp space usage."}),"\n",(0,r.jsx)(n.li,{children:"Revert InstantClient to 21c version due to ADB connectivity issue."}),"\n",(0,r.jsx)(n.li,{children:"Update documentation to explain how to obtain credentials from a wallet."}),"\n",(0,r.jsx)(n.li,{children:"Fix race condition on err variable in scrape() func (by @valrusu)."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/aureliocirella",children:"@aureliocirella"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/mitoeth",children:"@mitoeth"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/valrusu",children:"@valrusu"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-151-october-28-2024",children:"Version 1.5.1, October 28, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Added support for using the ",(0,r.jsx)(n.code,{children:"TNS_ADMIN"})," environment variable, which fixes an issue when connecting to Autonomous Database instances using TNS name."]}),"\n",(0,r.jsx)(n.li,{children:"Updated InstantClient to 23ai version for amd64 and latest available 19.24 version for arm64."}),"\n",(0,r.jsxs)(n.li,{children:["Fixed an issue with wrong ",(0,r.jsx)(n.code,{children:"LD_LIBRARY_PATH"})," on some platforms. (#136)"]}),"\n",(0,r.jsxs)(n.li,{children:["Added documentation and an example of using the ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," setting to change the interval at which a certain metric is colected."]}),"\n",(0,r.jsx)(n.li,{children:"Added notes to documentation for extra security parameters needed when using a wallet with Podman."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-150-september-26-2024",children:"Version 1.5.0, September 26, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Support for running the exporter on ARM processors (darwin and linux)."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n",(0,r.jsx)(n.li,{children:'Updated the "test/demo environment" to use newer version of Oracle Database (23.5.0.24.07) and faster startup.'}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-140-september-4-2024",children:"Version 1.4.0, September 4, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Allow multiple custom metrics definition files."}),"\n",(0,r.jsx)(n.li,{children:"Allow query timeout per-metric."}),"\n",(0,r.jsx)(n.li,{children:"Allow scrape interval per-metric."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-131-july-22-2024",children:"Version 1.3.1, July 22, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Alert logs can be disabled by setting parameter ",(0,r.jsx)(n.code,{children:"log.disable"})," to ",(0,r.jsx)(n.code,{children:"1"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Alert log exporter will stop if it gets three consecutive failures."}),"\n",(0,r.jsx)(n.li,{children:"Updated the list of required permissions."}),"\n",(0,r.jsx)(n.li,{children:"Updated the TxEventQ sample dashboard."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/tux-jochen",children:"@tux-jochen"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-130-june-7-2024",children:"Version 1.3.0, June 7, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Alert logs can be exported for collection by a log reader like Promtail or FluentBit. Default\noutput to ",(0,r.jsx)(n.code,{children:"/log/alert.log"})," in JSON format."]}),"\n",(0,r.jsx)(n.li,{children:"Provide ability to connect as SYSDBA or SYSOPER by setting DB_ROLE."}),"\n",(0,r.jsx)(n.li,{children:"New default metric is added to report the type of database connected to (CDB or PDB)."}),"\n",(0,r.jsx)(n.li,{children:"New default metrics are added for cache hit ratios."}),"\n",(0,r.jsx)(n.li,{children:"Default metrics updated to suppress spurious warnings in log."}),"\n",(0,r.jsx)(n.li,{children:"Wait class metric updated to use a better query."}),"\n",(0,r.jsx)(n.li,{children:"The sample dashboard is updated to include new metrics."}),"\n",(0,r.jsx)(n.li,{children:"Fixed a bug which prevented periodic freeing of memory."}),"\n",(0,r.jsx)(n.li,{children:"Set CLIENT_INFO to a meaningful value."}),"\n",(0,r.jsx)(n.li,{children:"Update Go toolchain to 1.22.4."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/pioro",children:"@pioro"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/savoir81",children:"@savoir81"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-121-april-16-2024",children:"Version 1.2.1, April 16, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Accept max idle and open connections settings as parameters."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-120-january-17-2024",children:"Version 1.2.0, January 17, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Introduced a new feature to periodically restart the process if requested."}),"\n",(0,r.jsx)(n.li,{children:"Introduced a new feature to periodically attempt to free OS memory if requested."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-111-november-28-2023",children:"Version 1.1.1, November 28, 2023"}),"\n",(0,r.jsx)(n.p,{children:"This release just updates some third-party dependencies."}),"\n",(0,r.jsx)(n.h3,{id:"version-11-october-27-2023",children:"Version 1.1, October 27, 2023"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The query for the standard metric ",(0,r.jsx)(n.code,{children:"wait_class"})," has been updated so that it will work in both container databases\nand pluggable databases, including in Oracle Autonomous Database instances. Note that this query will not return\nany data unless the database instance is under load."]}),"\n",(0,r.jsxs)(n.li,{children:["Support for reading the database password from OCI Vault has been added (see ",(0,r.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/configuration/oci-vault",children:"details"}),")"]}),"\n",(0,r.jsx)(n.li,{children:"Log messages have been improved"}),"\n",(0,r.jsx)(n.li,{children:"Some dependencies have been updated"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-10-september-13-2023",children:"Version 1.0, September 13, 2023"}),"\n",(0,r.jsx)(n.p,{children:"The first production release, v1.0, includes the following features:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["A number of ",(0,r.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/getting-started/default-metrics",children:"standard metrics"})," are exposed,"]}),"\n",(0,r.jsxs)(n.li,{children:["Users can define ",(0,r.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/configuration/custom-metrics",children:"custom metrics"}),","]}),"\n",(0,r.jsx)(n.li,{children:"Oracle regularly reviews third-party licenses and scans the code and images, including transitive/recursive dependencies for issues,"}),"\n",(0,r.jsx)(n.li,{children:"Connection to Oracle can be a basic connection or use an Oracle Wallet and TLS - connection to Oracle Autonomous Database is supported,"}),"\n",(0,r.jsx)(n.li,{children:"Metrics for Oracle Transactional Event Queues are also supported,"}),"\n",(0,r.jsx)(n.li,{children:"A Grafana dashboard is provided for Transactional Event Queues, and"}),"\n",(0,r.jsx)(n.li,{children:"A pre-built container image is provided, based on Oracle Linux, and optimized for size and security."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Note that this exporter uses a different Oracle Database driver which in turn uses code directly written by Oracle to access the database. This driver does require an Oracle client. In this initial release, the client is bundled into the container image, however we intend to make that optional in order to minimize the image size."}),"\n",(0,r.jsx)(n.p,{children:"The interfaces for this version have been kept as close as possible to those of earlier alpha releases in this repository to assist with migration. However, it should be expected that there may be breaking changes in future releases."})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>o});var s=i(6540);const r={},t=s.createContext(r);function l(e){const n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c539bf3f.fb47e104.js b/docs/assets/js/c539bf3f.fb47e104.js deleted file mode 100644 index a4d0ecf1..00000000 --- a/docs/assets/js/c539bf3f.fb47e104.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[9100],{1432:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"releases/changelog","title":"Changelog","description":"List of upcoming and historic changes to the exporter.","source":"@site/docs/releases/changelog.md","sourceDirName":"releases","slug":"/releases/changelog","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/changelog","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/docs/releases/changelog.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"Changelog","sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Roadmap","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/roadmap"},"next":{"title":"Builds","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/builds"}}');var r=i(4848),t=i(8453);const l={title:"Changelog",sidebar_position:2},o="Release Notes",a={},d=[{value:"Next, in-development",id:"next-in-development",level:3},{value:"Version 2.1.0, September 29, 2025",id:"version-210-september-29-2025",level:3},{value:"Version 2.0.4, September 8, 2025",id:"version-204-september-8-2025",level:3},{value:"Version 2.0.3, August 27, 2025",id:"version-203-august-27-2025",level:3},{value:"Version 2.0.2, June 24, 2025",id:"version-202-june-24-2025",level:3},{value:"Version 2.0.1, June 12, 2025",id:"version-201-june-12-2025",level:3},{value:"Version 2.0.0, May 27, 2025",id:"version-200-may-27-2025",level:3},{value:"Version 1.6.1, May 2, 2025",id:"version-161-may-2-2025",level:3},{value:"Version 1.6.0, April 18, 2025",id:"version-160-april-18-2025",level:3},{value:"Version 1.5.5, March 13, 2025",id:"version-155-march-13-2025",level:3},{value:"Version 1.5.4, March 3, 2025",id:"version-154-march-3-2025",level:3},{value:"Version 1.5.3, January 28, 2025",id:"version-153-january-28-2025",level:3},{value:"Version 1.5.2, December 2, 2024",id:"version-152-december-2-2024",level:3},{value:"Version 1.5.1, October 28, 2024",id:"version-151-october-28-2024",level:3},{value:"Version 1.5.0, September 26, 2024",id:"version-150-september-26-2024",level:3},{value:"Version 1.4.0, September 4, 2024",id:"version-140-september-4-2024",level:3},{value:"Version 1.3.1, July 22, 2024",id:"version-131-july-22-2024",level:3},{value:"Version 1.3.0, June 7, 2024",id:"version-130-june-7-2024",level:3},{value:"Version 1.2.1, April 16, 2024",id:"version-121-april-16-2024",level:3},{value:"Version 1.2.0, January 17, 2024",id:"version-120-january-17-2024",level:3},{value:"Version 1.1.1, November 28, 2023",id:"version-111-november-28-2023",level:3},{value:"Version 1.1, October 27, 2023",id:"version-11-october-27-2023",level:3},{value:"Version 1.0, September 13, 2023",id:"version-10-september-13-2023",level:3}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"release-notes",children:"Release Notes"})}),"\n",(0,r.jsx)(n.p,{children:"List of upcoming and historic changes to the exporter."}),"\n",(0,r.jsx)(n.h3,{id:"next-in-development",children:"Next, in-development"}),"\n",(0,r.jsx)(n.p,{children:"Our current priorities to support metrics for advanced database features and use cases, like Exadata, GoldenGate, and views included in the Oracle Diagnostics Pack."}),"\n",(0,r.jsx)(n.h3,{id:"version-210-september-29-2025",children:"Version 2.1.0, September 29, 2025"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Updated project dependencies."}),"\n",(0,r.jsx)(n.li,{children:"Standardize multi-arch builds and document supported database versions."}),"\n",(0,r.jsx)(n.li,{children:"The metrics override capability is extended, allowing users to redefine individual existing metrics in custom metrics files. This allows users to modify individual default metrics without wholly replacing the default metrics file."}),"\n",(0,r.jsx)(n.li,{children:"If the exporter fails to connect to a database due to invalid or locked credentials (ORA-01017 or ORA-28000 errors), that database configuration will be invalidated and the exporter will not attempt to re-establish the database connection. Other databases will continue to be scraped."}),"\n",(0,r.jsxs)(n.li,{children:["Metrics with an empty databases array (",(0,r.jsx)(n.code,{children:"databases = []"}),") are now considered disabled, and will not be scraped."]}),"\n",(0,r.jsxs)(n.li,{children:["Increased the default query timeout for the ",(0,r.jsx)(n.code,{children:"top_sql"})," metric to 10 seconds (previously 5 seconds)."]}),"\n",(0,r.jsxs)(n.li,{children:["Metrics using the ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," property will no longer be scraped on every request if they have a cached value. This only applies when the metrics exporter is configured to scrape metrics ",(0,r.jsx)(n.em,{children:"on request"}),", rather than on a global interval."]}),"\n",(0,r.jsxs)(n.li,{children:["Metrics using the ",(0,r.jsx)(n.code,{children:"fieldtoappend"})," property now support labels. The ",(0,r.jsx)(n.code,{children:"wait_time"})," and ",(0,r.jsx)(n.code,{children:"activity"})," default metrics use the ",(0,r.jsx)(n.code,{children:"fieldtoappend"})," property, and now properly display their labels."]}),"\n",(0,r.jsxs)(n.li,{children:["Fix ",(0,r.jsx)(n.code,{children:"wait_time"})," default metric to work with Oracle Database 19c."]}),"\n",(0,r.jsx)(n.li,{children:"Fix an issue where the exporter would unnecessarily scrape metrics with a custom scrape interval."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/romankspb",children:"@romankspb"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/muhammadabdullah-amjad",children:"@muhammadabdullah-amjad"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/MansuyDavid",children:"@MansuyDavid"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/borkoz",children:"@borkoz"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/ristagg",children:"@ristagg"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-204-september-8-2025",children:"Version 2.0.4, September 8, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Added WARN logging when database configurations are duplicated in the exporter configuration."}),"\n",(0,r.jsxs)(n.li,{children:["Added INST_ID to ",(0,r.jsx)(n.code,{children:"gv$"})," query metrics as a label."]}),"\n",(0,r.jsx)(n.li,{children:"Fixed multiple concurrency bugs when the exporter is connected to multiple databases and using a custom scrape interval."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Supporterino",children:"@Supporterino"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/msafdal",children:"@msafdal"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/aberinnj",children:"@aberinnj"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-203-august-27-2025",children:"Version 2.0.3, August 27, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Enable configuration of the prometheus webserver from the config file using the ",(0,r.jsx)(n.code,{children:"web"})," prefix."]}),"\n",(0,r.jsx)(n.li,{children:"Allow loading of database password(s) from a file."}),"\n",(0,r.jsx)(n.li,{children:"Fixed a bug where database type (CDB, PDB, etc.) was not reported in certain situations."}),"\n",(0,r.jsxs)(n.li,{children:["Fixed a bug where literal passwords containing the '$' character (in the config file) would be evaluated as environment variables. To use literal passwords with the '$' character, escape the '$' character with a second '$': ",(0,r.jsx)(n.code,{children:"$test$pwd"})," becomes ",(0,r.jsx)(n.code,{children:"$$test$$pwd"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Fixed a bug when using ",(0,r.jsx)(n.code,{children:"metrics.scrapeInterval"})," combined with per-metric scrape intervals that made the available metrics data set inconsistent."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Supporterino",children:"@Supporterino"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/neilschelly",children:"@neilschelly"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/aberinnj",children:"@aberinnj"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/redelang",children:"@redelang"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/qrkop",children:"@qrkop"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/KevDi",children:"@KevDi"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/bomuva",children:"@bomuva"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/anilmoris",children:"@anilmoris"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Sycri",children:"@Sycri"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/kizuna-lek",children:"@kizuna-lek"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rfrozza",children:"@rfrozza"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/neilschelly",children:"@neilschelly"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-202-june-24-2025",children:"Version 2.0.2, June 24, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Fixed a case-sensitive issue with resource name in the default metrics file."}),"\n",(0,r.jsx)(n.li,{children:"Add query timeouts to initial database connections, which could cause the exporter to hang in multi-database configurations"}),"\n",(0,r.jsx)(n.li,{children:"Fix an issue where rapidly acquiring connections could cause the exporter to crash. This was more common in multi-database configurations, due to the increased number of connection pools."}),"\n",(0,r.jsx)(n.li,{children:"Update some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rfrozza",children:"@rfrozza"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/neilschelly",children:"@neilschelly"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rafal-szypulka",children:"@rafal-szypulka"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/darkelfit",children:"@darkelfit"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-201-june-12-2025",children:"Version 2.0.1, June 12, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Use gv$ views instead of v$ views to allow collection of metrics from all instances in a cluster. (In preparation for RAC support)."}),"\n",(0,r.jsx)(n.li,{children:"Update some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-200-may-27-2025",children:"Version 2.0.0, May 27, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Fixed an issue with ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," that could cause metrics not to be scraped (#172, #176)."]}),"\n",(0,r.jsxs)(n.li,{children:["Added configuration through a YAML file, passed using the ",(0,r.jsx)(n.code,{children:"--config.file"})," command-line argument. Backwards compatibility is maintained for the command-line arguments, through it is recommended to use the configuration file from the 2.0.0 release onward. It is not recommended to use a combination of command-line arguments and the configuration file."]}),"\n",(0,r.jsx)(n.li,{children:"Added support for multiple databases through the configuration file. As many database instances may be specified as needed, which will be scraped concurrently (#89)."}),"\n",(0,r.jsx)(n.li,{children:"Updated provided dashboards."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-161-may-2-2025",children:"Version 1.6.1, May 2, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Deepak A."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-160-april-18-2025",children:"Version 1.6.0, April 18, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Added support for Azure Key Vault (#200)."}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/4Aiur",children:"4Aiur"})," added missing grants for alert log to the demo environment (#207)."]}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Brian, Damian et al."}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/4Aiur",children:"4Aiur"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-155-march-13-2025",children:"Version 1.5.5, March 13, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/VictorErmakov",children:"@VictorErmakov"})," updated the docker-compose sample with connection pool parameters to avoid fast connect cycling (#191)."]}),"\n",(0,r.jsx)(n.li,{children:"Update default values for connection pool parameters to use go-sql pooling by default to avoid fast connet cycling."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/VictorErmakov",children:"@VictorErmakov"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-154-march-3-2025",children:"Version 1.5.4, March 3, 2025"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Based of this recommendation from ",(0,r.jsx)(n.a,{href:"https://github.com/godror/godror?tab=readme-ov-file#pooling",children:"godror"}),", which relates to the two following items, and in discussion with the ODPI-C team, we have introduced additional parameters to allow you to set connection pool parameters, and have set defaults which will avoid fast connect cycling. It is our expectation that a fix may be produced in the underlying ODPI-C library for the underlying issue. In the mean time, these changes will avoid the conditions under which the error can occur."]}),"\n",(0,r.jsx)(n.li,{children:"Fix malloc error (#177, #181)."}),"\n",(0,r.jsx)(n.li,{children:"Fix intermittent connection issues with ADB-S when exporter is run in a container (#169)."}),"\n",(0,r.jsx)(n.li,{children:"Fix Multiple custom metrics files overwrite one another (#179)."}),"\n",(0,r.jsx)(n.li,{children:"Replace go-kit/log with log/slog, due to upstream changes in prometheus/common."}),"\n",(0,r.jsxs)(n.li,{children:["Add support for additional admin roles, expanding list of options for ",(0,r.jsx)(n.code,{children:"DB_ROLE"})," to ",(0,r.jsx)(n.code,{children:"SYSDBA"}),", ",(0,r.jsx)(n.code,{children:"SYSOPER"}),", ",(0,r.jsx)(n.code,{children:"SYSBACKUP"}),", ",(0,r.jsx)(n.code,{children:"SYSDG"}),", ",(0,r.jsx)(n.code,{children:"SYSKM"}),", ",(0,r.jsx)(n.code,{children:"SYSRAC"})," and ",(0,r.jsx)(n.code,{children:"SYSASM"})," (#180)."]}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Jman1993",children:"@Jman1993"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/oey",children:"@oey"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/jlembeck06",children:"@jlembeck06"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Jman1993",children:"@Jman1993"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/PeterP55P",children:"@PeterP55P"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/rlagyu0",children:"@rlagyu0"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Sycri",children:"@Sycri"})}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Thank you to ",(0,r.jsx)(n.a,{href:"https://github.com/tgulacsi",children:"@tgulacsi"})," for changes in godror (",(0,r.jsx)(n.a,{href:"https://github.com/godror/godror/issues/361",children:"https://github.com/godror/godror/issues/361"}),", ",(0,r.jsx)(n.a,{href:"https://github.com/godror/godror/issues/360",children:"https://github.com/godror/godror/issues/360"}),"), and to ",(0,r.jsx)(n.a,{href:"https://github.com/cjbj",children:"@cjbj"})," and ",(0,r.jsx)(n.a,{href:"https://github.com/sudarshan12s",children:"@sudarshan12s"})," for support and guidance from ODPI-C (",(0,r.jsx)(n.a,{href:"https://github.com/oracle/odpi",children:"https://github.com/oracle/odpi"}),")."]}),"\n",(0,r.jsx)(n.p,{children:"In this release, we also continued some minor code refactoring."}),"\n",(0,r.jsx)(n.h3,{id:"version-153-january-28-2025",children:"Version 1.5.3, January 28, 2025"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.em,{children:"Known issue"}),": This release has a known issue that results in the error message ",(0,r.jsx)(n.code,{children:"malloc(): unsorted double linked list corrupted"}),".\nWe recommend staying on 1.5.2 until a new release with a fix is available. We hope to have a fix by early March."]}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Fix over-zealous supression of errors when ",(0,r.jsx)(n.code,{children:"ignorezeroresult = true"})," (#168)."]}),"\n",(0,r.jsxs)(n.li,{children:["When ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," is set, do first scrape immediately, not after the interval (#166)."]}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/redelang",children:"@redelang"})}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"In this release, we also started some minor code refactoring."}),"\n",(0,r.jsx)(n.h3,{id:"version-152-december-2-2024",children:"Version 1.5.2, December 2, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Update the metric defintion for tablespace usage to report more accurate temp space usage."}),"\n",(0,r.jsx)(n.li,{children:"Revert InstantClient to 21c version due to ADB connectivity issue."}),"\n",(0,r.jsx)(n.li,{children:"Update documentation to explain how to obtain credentials from a wallet."}),"\n",(0,r.jsx)(n.li,{children:"Fix race condition on err variable in scrape() func (by @valrusu)."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/aureliocirella",children:"@aureliocirella"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/mitoeth",children:"@mitoeth"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/valrusu",children:"@valrusu"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-151-october-28-2024",children:"Version 1.5.1, October 28, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Added support for using the ",(0,r.jsx)(n.code,{children:"TNS_ADMIN"})," environment variable, which fixes an issue when connecting to Autonomous Database instances using TNS name."]}),"\n",(0,r.jsx)(n.li,{children:"Updated InstantClient to 23ai version for amd64 and latest available 19.24 version for arm64."}),"\n",(0,r.jsxs)(n.li,{children:["Fixed an issue with wrong ",(0,r.jsx)(n.code,{children:"LD_LIBRARY_PATH"})," on some platforms. (#136)"]}),"\n",(0,r.jsxs)(n.li,{children:["Added documentation and an example of using the ",(0,r.jsx)(n.code,{children:"scrapeinterval"})," setting to change the interval at which a certain metric is colected."]}),"\n",(0,r.jsx)(n.li,{children:"Added notes to documentation for extra security parameters needed when using a wallet with Podman."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-150-september-26-2024",children:"Version 1.5.0, September 26, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Support for running the exporter on ARM processors (darwin and linux)."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n",(0,r.jsx)(n.li,{children:'Updated the "test/demo environment" to use newer version of Oracle Database (23.5.0.24.07) and faster startup.'}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-140-september-4-2024",children:"Version 1.4.0, September 4, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Allow multiple custom metrics definition files."}),"\n",(0,r.jsx)(n.li,{children:"Allow query timeout per-metric."}),"\n",(0,r.jsx)(n.li,{children:"Allow scrape interval per-metric."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-131-july-22-2024",children:"Version 1.3.1, July 22, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Alert logs can be disabled by setting parameter ",(0,r.jsx)(n.code,{children:"log.disable"})," to ",(0,r.jsx)(n.code,{children:"1"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Alert log exporter will stop if it gets three consecutive failures."}),"\n",(0,r.jsx)(n.li,{children:"Updated the list of required permissions."}),"\n",(0,r.jsx)(n.li,{children:"Updated the TxEventQ sample dashboard."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/tux-jochen",children:"@tux-jochen"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-130-june-7-2024",children:"Version 1.3.0, June 7, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Alert logs can be exported for collection by a log reader like Promtail or FluentBit. Default\noutput to ",(0,r.jsx)(n.code,{children:"/log/alert.log"})," in JSON format."]}),"\n",(0,r.jsx)(n.li,{children:"Provide ability to connect as SYSDBA or SYSOPER by setting DB_ROLE."}),"\n",(0,r.jsx)(n.li,{children:"New default metric is added to report the type of database connected to (CDB or PDB)."}),"\n",(0,r.jsx)(n.li,{children:"New default metrics are added for cache hit ratios."}),"\n",(0,r.jsx)(n.li,{children:"Default metrics updated to suppress spurious warnings in log."}),"\n",(0,r.jsx)(n.li,{children:"Wait class metric updated to use a better query."}),"\n",(0,r.jsx)(n.li,{children:"The sample dashboard is updated to include new metrics."}),"\n",(0,r.jsx)(n.li,{children:"Fixed a bug which prevented periodic freeing of memory."}),"\n",(0,r.jsx)(n.li,{children:"Set CLIENT_INFO to a meaningful value."}),"\n",(0,r.jsx)(n.li,{children:"Update Go toolchain to 1.22.4."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Thank you to the following people for their suggestions and contributions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/pioro",children:"@pioro"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/savoir81",children:"@savoir81"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-121-april-16-2024",children:"Version 1.2.1, April 16, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Accept max idle and open connections settings as parameters."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-120-january-17-2024",children:"Version 1.2.0, January 17, 2024"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Introduced a new feature to periodically restart the process if requested."}),"\n",(0,r.jsx)(n.li,{children:"Introduced a new feature to periodically attempt to free OS memory if requested."}),"\n",(0,r.jsx)(n.li,{children:"Updated some third-party dependencies."}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-111-november-28-2023",children:"Version 1.1.1, November 28, 2023"}),"\n",(0,r.jsx)(n.p,{children:"This release just updates some third-party dependencies."}),"\n",(0,r.jsx)(n.h3,{id:"version-11-october-27-2023",children:"Version 1.1, October 27, 2023"}),"\n",(0,r.jsx)(n.p,{children:"This release includes the following changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The query for the standard metric ",(0,r.jsx)(n.code,{children:"wait_class"})," has been updated so that it will work in both container databases\nand pluggable databases, including in Oracle Autonomous Database instances. Note that this query will not return\nany data unless the database instance is under load."]}),"\n",(0,r.jsxs)(n.li,{children:["Support for reading the database password from OCI Vault has been added (see ",(0,r.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/configuration/oci-vault",children:"details"}),")"]}),"\n",(0,r.jsx)(n.li,{children:"Log messages have been improved"}),"\n",(0,r.jsx)(n.li,{children:"Some dependencies have been updated"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"version-10-september-13-2023",children:"Version 1.0, September 13, 2023"}),"\n",(0,r.jsx)(n.p,{children:"The first production release, v1.0, includes the following features:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["A number of ",(0,r.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/getting-started/default-metrics",children:"standard metrics"})," are exposed,"]}),"\n",(0,r.jsxs)(n.li,{children:["Users can define ",(0,r.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/next/configuration/custom-metrics",children:"custom metrics"}),","]}),"\n",(0,r.jsx)(n.li,{children:"Oracle regularly reviews third-party licenses and scans the code and images, including transitive/recursive dependencies for issues,"}),"\n",(0,r.jsx)(n.li,{children:"Connection to Oracle can be a basic connection or use an Oracle Wallet and TLS - connection to Oracle Autonomous Database is supported,"}),"\n",(0,r.jsx)(n.li,{children:"Metrics for Oracle Transactional Event Queues are also supported,"}),"\n",(0,r.jsx)(n.li,{children:"A Grafana dashboard is provided for Transactional Event Queues, and"}),"\n",(0,r.jsx)(n.li,{children:"A pre-built container image is provided, based on Oracle Linux, and optimized for size and security."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Note that this exporter uses a different Oracle Database driver which in turn uses code directly written by Oracle to access the database. This driver does require an Oracle client. In this initial release, the client is bundled into the container image, however we intend to make that optional in order to minimize the image size."}),"\n",(0,r.jsx)(n.p,{children:"The interfaces for this version have been kept as close as possible to those of earlier alpha releases in this repository to assist with migration. However, it should be expected that there may be breaking changes in future releases."})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>o});var s=i(6540);const r={},t=s.createContext(r);function l(e){const n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cb6f8875.21cdf4ae.js b/docs/assets/js/cb6f8875.21cdf4ae.js deleted file mode 100644 index 9bd831dd..00000000 --- a/docs/assets/js/cb6f8875.21cdf4ae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[1412],{7804:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"getting-started/basics","title":"Installation","description":"In this section you will find information on running the exporter.","source":"@site/versioned_docs/version-2.1.0/getting-started/basics.md","sourceDirName":"getting-started","slug":"/getting-started/basics","permalink":"/oracle-db-appdev-monitoring/docs/getting-started/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/versioned_docs/version-2.1.0/getting-started/basics.md","tags":[],"version":"2.1.0","sidebarPosition":1,"frontMatter":{"title":"Installation","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Getting Started","permalink":"/oracle-db-appdev-monitoring/docs/category/getting-started"},"next":{"title":"Default Metrics","permalink":"/oracle-db-appdev-monitoring/docs/getting-started/default-metrics"}}');var a=t(4848),i=t(8453);const s={title:"Installation",sidebar_position:1},r="Installation",l={},c=[{value:"Docker, Podman, etc",id:"docker-podman-etc",level:2},{value:"Oracle Database Free",id:"oracle-database-free",level:3},{value:"Exporter",id:"exporter",level:3},{value:"Simple connection",id:"simple-connection",level:3},{value:"Standalone Binary",id:"standalone-binary",level:2},{value:"Docker Compose",id:"docker-compose",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"installation",children:"Installation"})}),"\n",(0,a.jsx)(n.p,{children:"In this section you will find information on running the exporter."}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["In a container runtime like ",(0,a.jsx)(n.a,{href:"#docker-podman-etc",children:"Docker, Podman, etc"})]}),"\n",(0,a.jsxs)(n.li,{children:["In a test/demo environment using ",(0,a.jsx)(n.a,{href:"#docker-compose",children:"Docker Compose"})]}),"\n",(0,a.jsxs)(n.li,{children:["In ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/getting-started/kubernetes",children:"Kubernetes"})]}),"\n",(0,a.jsxs)(n.li,{children:["As a ",(0,a.jsx)(n.a,{href:"#standalone-binary",children:"standalone binary"})]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"docker-podman-etc",children:"Docker, Podman, etc"}),"\n",(0,a.jsxs)(n.p,{children:["You can run the exporter in a local container using a container image from ",(0,a.jsx)(n.a,{href:"https://container-registry.oracle.com",children:"Oracle Container Registry"}),'. The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.']}),"\n",(0,a.jsx)(n.h3,{id:"oracle-database-free",children:"Oracle Database Free"}),"\n",(0,a.jsxs)(n.p,{children:["If you need an Oracle Database to test the exporter, you can use this command to start up an instance of ",(0,a.jsx)(n.a,{href:"https://www.oracle.com/database/free/",children:"Oracle Database Free"})," which also requires no authentication or license presentment/acceptance to pull the image."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run --name free23ai \\\n -d \\\n -p 1521:1521 \\\n -e ORACLE_PASSWORD=Welcome12345 \\\n gvenzl/oracle-free:23.9-slim-faststart\n"})}),"\n",(0,a.jsx)(n.p,{children:'This will pull the image and start up the database with a listener on port 1521. It will also create a pluggable database (a database container) called "FREEPDB1" and will set the admin passwords to the password you specified on this command.'}),"\n",(0,a.jsx)(n.p,{children:"You can tail the logs to see when the database is ready to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker logs -f free23ai\n\n(look for this message...)\n#########################\nDATABASE IS READY TO USE!\n#########################\n"})}),"\n",(0,a.jsx)(n.p,{children:'To obtain the IP address of the container, which you will need to connect to the database, use this command. Note: depending on your platform and container runtime, you may be able to access the database at "localhost":'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'docker inspect free23ai | grep IPA\n "SecondaryIPAddresses": null,\n "IPAddress": "172.17.0.2",\n "IPAMConfig": null,\n "IPAddress": "172.17.0.2",\n'})}),"\n",(0,a.jsx)(n.h3,{id:"exporter",children:"Exporter"}),"\n",(0,a.jsx)(n.p,{children:"You need to give the exporter the connection details for the Oracle Database that you want it to run against. You can use a simple connection, or a wallet."}),"\n",(0,a.jsx)(n.h3,{id:"simple-connection",children:"Simple connection"}),"\n",(0,a.jsx)(n.p,{children:"For a simple connection, you will provide the details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"free23ai:1521/freepdb"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"}),", ",(0,a.jsx)(n.code,{children:"SYSOPER"}),", ",(0,a.jsx)(n.code,{children:"SYSBACKUP"}),", ",(0,a.jsx)(n.code,{children:"SYSDG"}),", ",(0,a.jsx)(n.code,{children:"SYSKM"}),", ",(0,a.jsx)(n.code,{children:"SYSRAC"})," or ",(0,a.jsx)(n.code,{children:"SYSASM"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"To run the exporter in a container and expose the port, use a command like this, with the appropriate values for the environment variables:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run -it --rm \\\n -e DB_USERNAME=pdbadmin \\\n -e DB_PASSWORD=Welcome12345 \\\n -e DB_CONNECT_STRING=free23ai:1521/freepdb \\\n -p 9161:9161 \\\n container-registry.oracle.com/database/observability-exporter:2.1.0\n"})}),"\n",(0,a.jsx)(n.h2,{id:"standalone-binary",children:"Standalone Binary"}),"\n",(0,a.jsxs)(n.p,{children:["Pre-compiled versions for Linux, ARM and Darwin 64-bit can be found under ",(0,a.jsx)(n.a,{href:"https://github.com/oracle/oracle-db-appdev-monitoring/releases",children:"releases"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["In order to run, you'll need the ",(0,a.jsx)(n.a,{href:"http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html",children:"Oracle Instant Client Basic"})," for your operating system. Only the basic version is required for the exporter."]}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:["NOTE: If you are running the Standalone binary on a Mac ARM platform you must set the variable ",(0,a.jsx)(n.code,{children:"DYLD_LIBRARY_PATH"})," to the location of where the instant client installed. For example ",(0,a.jsx)(n.code,{children:"export DYLD_LIBRARY_PATH=/lib/oracle/instantclient_23_3"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"The following command line arguments (flags) can be passed to the exporter (the --help flag will show the table below)."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'Usage of oracledb_exporter:\n --config.file="example-config.yaml"\n File with metrics exporter configuration. (env: CONFIG_FILE)\n --web.telemetry-path="/metrics"\n Path under which to expose metrics. (env: TELEMETRY_PATH)\n --default.metrics="default-metrics.toml"\n File with default metrics in a TOML file. (env: DEFAULT_METRICS)\n --custom.metrics="" Comma separated list of file(s) that contain various custom metrics in a TOML format. (env: CUSTOM_METRICS)\n --query.timeout=5 Query timeout (in seconds). (env: QUERY_TIMEOUT)\n --database.maxIdleConns=0 Number of maximum idle connections in the connection pool. (env: DATABASE_MAXIDLECONNS)\n --database.maxOpenConns=10\n Number of maximum open connections in the connection pool. (env: DATABASE_MAXOPENCONNS)\n --database.poolIncrement=-1\n Connection increment when the connection pool reaches max capacity. (env: DATABASE_POOLINCREMENT)\n --database.poolMaxConnections=-1\n Maximum number of connections in the connection pool. (env: DATABASE_POOLMAXCONNECTIONS)\n --database.poolMinConnections=-1\n Minimum number of connections in the connection pool. (env: DATABASE_POOLMINCONNECTIONS)\n --scrape.interval=0s Interval between each scrape. Default is to scrape on collect requests.\n --log.disable=0 Set to 1 to disable alert logs\n --log.interval=15s Interval between log updates (e.g. 5s).\n --log.destination="/log/alert.log"\n File to output the alert log to. (env: LOG_DESTINATION)\n --web.listen-address=:9161 ...\n Addresses on which to expose metrics and web interface. Repeatable for multiple addresses. Examples: `:9100` or `[::1]:9100` for http, `vsock://:9100` for vsock\n --web.config.file="" Path to configuration file that can enable TLS or authentication. See: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md\n --log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]\n --log.format=logfmt Output format of log messages. One of: [logfmt, json]\n --[no-]version Show application version.\n'})}),"\n",(0,a.jsx)(n.p,{children:"You may provide the connection details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"localhost:1521/freepdb1"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"})," or ",(0,a.jsx)(n.code,{children:"SYSOPER"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"ORACLE_HOME"})," is the location of the Oracle Instant Client, e.g., ",(0,a.jsx)(n.code,{children:"/lib/oracle/21/client64/lib"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"TNS_ADMIN"})," is the location of your (unzipped) wallet. The ",(0,a.jsx)(n.code,{children:"DIRECTORY"})," set in the ",(0,a.jsx)(n.code,{children:"sqlnet.ora"})," file must match the path that it will be mounted on inside the container."]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["The following example puts the logfile in the current location with the filename ",(0,a.jsx)(n.code,{children:"alert.log"})," and loads the default matrics file (",(0,a.jsx)(n.code,{children:"default-metrics,toml"}),") from the current location."]}),"\n",(0,a.jsxs)(n.p,{children:["If you prefer to provide configuration via a ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/configuration/config-file",children:"config file"}),", you may do so with the ",(0,a.jsx)(n.code,{children:"--config.file"}),' argument. The use of a config file over command line arguments is preferred. If a config file is not provided, the "default" database connection is managed by command line arguments.']}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n# If you include a config value that contains a '$' character, escape that '$' with another '$', e.g.,\n# \"$test$pwd\" => \"$$test$$pwd\"\n# Otherwise, the value will be expanded as an environment variable.\n\n# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n\ndatabases:\n ## Path on which metrics will be served\n # metricsPath: /metrics\n ## Database connection information for the \"default\" database.\n default:\n ## Database username\n username: ${DB_USERNAME}\n ## Database password\n password: ${DB_PASSWORD}\n ## Database password file\n ## If specified, will load the database password from a file.\n # passwordFile: ${DB_PASSWORD_FILE}\n ## Database connection url\n url: localhost:1521/freepdb1\n\n ## Metrics query timeout for this database, in seconds\n queryTimeout: 5\n\n ## Rely on Oracle Database External Authentication by network or OS\n # externalAuth: false\n ## Database role\n # role: SYSDBA\n ## Path to Oracle Database wallet, if using wallet\n # tnsAdmin: /path/to/database/wallet\n\n ### Connection settings:\n ### Either the go-sql or Oracle Database connection pool may be used.\n ### To use the Oracle Database connection pool over the go-sql connection pool,\n ### set maxIdleConns to zero and configure the pool* settings.\n\n ### Connection pooling settings for the go-sql connection pool\n ## Max open connections for this database using go-sql connection pool\n maxOpenConns: 10\n ## Max idle connections for this database using go-sql connection pool\n maxIdleConns: 10\n\n ### Connection pooling settings for the Oracle Database connection pool\n ## Oracle Database connection pool increment.\n # poolIncrement: 1\n ## Oracle Database Connection pool maximum size\n # poolMaxConnections: 15\n ## Oracle Database Connection pool minimum size\n # poolMinConnections: 15\n\n ## Arbitrary labels to add to each metric scraped from this database\n # labels:\n # label_name1: label_value1\n # label_name2: label_value2\n\nmetrics:\n ## How often to scrape metrics. If not provided, metrics will be scraped on request.\n # scrapeInterval: 15s\n ## Path to default metrics file.\n default: default-metrics.toml\n ## Paths to any custom metrics files\n custom:\n - custom-metrics-example/custom-metrics.toml\n\nlog:\n # Path of log file\n destination: /opt/alert.log\n # Interval of log updates\n interval: 15s\n ## Set disable to 1 to disable logging\n # disable: 0\n\n# Optionally configure prometheus webserver\n#web:\n# listenAddresses: [':9161']\n# systemdSocket: true|false\n# configFile: /path/to/webconfigfile\n"})}),"\n",(0,a.jsx)(n.h3,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,a.jsx)(n.p,{children:'If you would like to set up a test environment with the exporter, you can use the provided "Docker Compose" file in this repository which will start an Oracle Database instance, the exporter, Prometheus and Grafana.'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd docker-compose\ndocker-compose up -d\n"})}),"\n",(0,a.jsx)(n.p,{children:"The containers will take a short time to start. The first time, the Oracle container might take a few minutes to start while it creates the database instance, but this is a one-time operation, and subequent restarts will be much faster (a few seconds)."}),"\n",(0,a.jsx)(n.p,{children:"Once the containers are all running, you can access the services using these URLs:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"http://localhost:9161/metrics",children:"Exporter"})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:9090",children:"Prometheus"}),' - try a query for "oracle".']}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:3000",children:"Grafana"}),' - username is "admin" and password is "grafana". An Oracle Database dashboard is provisioned and configured to use data from the exporter.']}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>r});var o=t(6540);const a={},i=o.createContext(a);function s(e){const n=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cb6f8875.bd27ec5b.js b/docs/assets/js/cb6f8875.bd27ec5b.js new file mode 100644 index 00000000..36ada716 --- /dev/null +++ b/docs/assets/js/cb6f8875.bd27ec5b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[1412],{7804:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"getting-started/basics","title":"Installation","description":"In this section you will find information on running the exporter.","source":"@site/versioned_docs/version-2.1.0/getting-started/basics.md","sourceDirName":"getting-started","slug":"/getting-started/basics","permalink":"/oracle-db-appdev-monitoring/docs/getting-started/basics","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/versioned_docs/version-2.1.0/getting-started/basics.md","tags":[],"version":"2.1.0","sidebarPosition":1,"frontMatter":{"title":"Installation","sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Getting Started","permalink":"/oracle-db-appdev-monitoring/docs/category/getting-started"},"next":{"title":"Default Metrics","permalink":"/oracle-db-appdev-monitoring/docs/getting-started/default-metrics"}}');var a=t(4848),s=t(8453);const i={title:"Installation",sidebar_position:1},r="Installation",l={},c=[{value:"Database Permissions",id:"database-permissions",level:2},{value:"Docker, Podman, etc",id:"docker-podman-etc",level:2},{value:"Oracle Database Free",id:"oracle-database-free",level:3},{value:"Exporter",id:"exporter",level:3},{value:"Simple connection",id:"simple-connection",level:3},{value:"Standalone Binary",id:"standalone-binary",level:2},{value:"Docker Compose",id:"docker-compose",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"installation",children:"Installation"})}),"\n",(0,a.jsx)(n.p,{children:"In this section you will find information on running the exporter."}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["In a container runtime like ",(0,a.jsx)(n.a,{href:"#docker-podman-etc",children:"Docker, Podman, etc"})]}),"\n",(0,a.jsxs)(n.li,{children:["In a test/demo environment using ",(0,a.jsx)(n.a,{href:"#docker-compose",children:"Docker Compose"})]}),"\n",(0,a.jsxs)(n.li,{children:["In ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/getting-started/kubernetes",children:"Kubernetes"})]}),"\n",(0,a.jsxs)(n.li,{children:["As a ",(0,a.jsx)(n.a,{href:"#standalone-binary",children:"standalone binary"})]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"database-permissions",children:"Database Permissions"}),"\n",(0,a.jsxs)(n.p,{children:["For the built-in default metrics, the exporter database database user must have the ",(0,a.jsx)(n.code,{children:"SELECT_CATALOG_ROLE"})," privilege and/or ",(0,a.jsx)(n.code,{children:"SELECT"})," permission on the following objects:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{children:"dba_tablespace_usage_metrics\ndba_tablespaces\ngv$system_wait_class\ngv$asm_diskgroup_stat\ngv$datafile\ngv$sysstat\ngv$process\ngv$waitclassmetric\ngv$session\ngv$resource_limit\ngv$parameter\ngv$database\ngv$sqlstats\ngv$sysmetric\nv$diag_alert_ext (for alert logs only)\n"})}),"\n",(0,a.jsx)(n.h2,{id:"docker-podman-etc",children:"Docker, Podman, etc"}),"\n",(0,a.jsxs)(n.p,{children:["You can run the exporter in a local container using a container image from ",(0,a.jsx)(n.a,{href:"https://container-registry.oracle.com",children:"Oracle Container Registry"}),'. The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.']}),"\n",(0,a.jsx)(n.h3,{id:"oracle-database-free",children:"Oracle Database Free"}),"\n",(0,a.jsxs)(n.p,{children:["If you need an Oracle Database to test the exporter, you can use this command to start up an instance of ",(0,a.jsx)(n.a,{href:"https://www.oracle.com/database/free/",children:"Oracle Database Free"})," which also requires no authentication or license presentment/acceptance to pull the image."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run --name free23ai \\\n -d \\\n -p 1521:1521 \\\n -e ORACLE_PASSWORD=Welcome12345 \\\n gvenzl/oracle-free:23.9-slim-faststart\n"})}),"\n",(0,a.jsx)(n.p,{children:'This will pull the image and start up the database with a listener on port 1521. It will also create a pluggable database (a database container) called "FREEPDB1" and will set the admin passwords to the password you specified on this command.'}),"\n",(0,a.jsx)(n.p,{children:"You can tail the logs to see when the database is ready to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker logs -f free23ai\n\n(look for this message...)\n#########################\nDATABASE IS READY TO USE!\n#########################\n"})}),"\n",(0,a.jsx)(n.p,{children:'To obtain the IP address of the container, which you will need to connect to the database, use this command. Note: depending on your platform and container runtime, you may be able to access the database at "localhost":'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'docker inspect free23ai | grep IPA\n "SecondaryIPAddresses": null,\n "IPAddress": "172.17.0.2",\n "IPAMConfig": null,\n "IPAddress": "172.17.0.2",\n'})}),"\n",(0,a.jsx)(n.h3,{id:"exporter",children:"Exporter"}),"\n",(0,a.jsx)(n.p,{children:"You need to give the exporter the connection details for the Oracle Database that you want it to run against. You can use a simple connection, or a wallet."}),"\n",(0,a.jsx)(n.h3,{id:"simple-connection",children:"Simple connection"}),"\n",(0,a.jsx)(n.p,{children:"For a simple connection, you will provide the details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"free23ai:1521/freepdb"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"}),", ",(0,a.jsx)(n.code,{children:"SYSOPER"}),", ",(0,a.jsx)(n.code,{children:"SYSBACKUP"}),", ",(0,a.jsx)(n.code,{children:"SYSDG"}),", ",(0,a.jsx)(n.code,{children:"SYSKM"}),", ",(0,a.jsx)(n.code,{children:"SYSRAC"})," or ",(0,a.jsx)(n.code,{children:"SYSASM"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"To run the exporter in a container and expose the port, use a command like this, with the appropriate values for the environment variables:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"docker run -it --rm \\\n -e DB_USERNAME=pdbadmin \\\n -e DB_PASSWORD=Welcome12345 \\\n -e DB_CONNECT_STRING=free23ai:1521/freepdb \\\n -p 9161:9161 \\\n container-registry.oracle.com/database/observability-exporter:2.1.0\n"})}),"\n",(0,a.jsx)(n.h2,{id:"standalone-binary",children:"Standalone Binary"}),"\n",(0,a.jsxs)(n.p,{children:["Pre-compiled versions for Linux, ARM and Darwin 64-bit can be found under ",(0,a.jsx)(n.a,{href:"https://github.com/oracle/oracle-db-appdev-monitoring/releases",children:"releases"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["In order to run, you'll need the ",(0,a.jsx)(n.a,{href:"http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html",children:"Oracle Instant Client Basic"})," for your operating system. Only the basic version is required for the exporter."]}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:["NOTE: If you are running the Standalone binary on a Mac ARM platform you must set the variable ",(0,a.jsx)(n.code,{children:"DYLD_LIBRARY_PATH"})," to the location of where the instant client installed. For example ",(0,a.jsx)(n.code,{children:"export DYLD_LIBRARY_PATH=/lib/oracle/instantclient_23_3"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"The following command line arguments (flags) can be passed to the exporter (the --help flag will show the table below)."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:'Usage of oracledb_exporter:\n --config.file="example-config.yaml"\n File with metrics exporter configuration. (env: CONFIG_FILE)\n --web.telemetry-path="/metrics"\n Path under which to expose metrics. (env: TELEMETRY_PATH)\n --default.metrics="default-metrics.toml"\n File with default metrics in a TOML file. (env: DEFAULT_METRICS)\n --custom.metrics="" Comma separated list of file(s) that contain various custom metrics in a TOML format. (env: CUSTOM_METRICS)\n --query.timeout=5 Query timeout (in seconds). (env: QUERY_TIMEOUT)\n --database.maxIdleConns=0 Number of maximum idle connections in the connection pool. (env: DATABASE_MAXIDLECONNS)\n --database.maxOpenConns=10\n Number of maximum open connections in the connection pool. (env: DATABASE_MAXOPENCONNS)\n --database.poolIncrement=-1\n Connection increment when the connection pool reaches max capacity. (env: DATABASE_POOLINCREMENT)\n --database.poolMaxConnections=-1\n Maximum number of connections in the connection pool. (env: DATABASE_POOLMAXCONNECTIONS)\n --database.poolMinConnections=-1\n Minimum number of connections in the connection pool. (env: DATABASE_POOLMINCONNECTIONS)\n --scrape.interval=0s Interval between each scrape. Default is to scrape on collect requests.\n --log.disable=0 Set to 1 to disable alert logs\n --log.interval=15s Interval between log updates (e.g. 5s).\n --log.destination="/log/alert.log"\n File to output the alert log to. (env: LOG_DESTINATION)\n --web.listen-address=:9161 ...\n Addresses on which to expose metrics and web interface. Repeatable for multiple addresses. Examples: `:9100` or `[::1]:9100` for http, `vsock://:9100` for vsock\n --web.config.file="" Path to configuration file that can enable TLS or authentication. See: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md\n --log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]\n --log.format=logfmt Output format of log messages. One of: [logfmt, json]\n --[no-]version Show application version.\n'})}),"\n",(0,a.jsx)(n.p,{children:"You may provide the connection details using these variables:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_USERNAME"})," is the database username, e.g., ",(0,a.jsx)(n.code,{children:"pdbadmin"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_PASSWORD"})," is the password for that user, e.g., ",(0,a.jsx)(n.code,{children:"Welcome12345"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_CONNECT_STRING"})," is the connection string, e.g., ",(0,a.jsx)(n.code,{children:"localhost:1521/freepdb1"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"DB_ROLE"})," (Optional) can be set to ",(0,a.jsx)(n.code,{children:"SYSDBA"})," or ",(0,a.jsx)(n.code,{children:"SYSOPER"})," if you want to connect with one of those roles, however Oracle recommends that you connect with the lowest possible privileges and roles necessary for the exporter to run."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"ORACLE_HOME"})," is the location of the Oracle Instant Client, e.g., ",(0,a.jsx)(n.code,{children:"/lib/oracle/21/client64/lib"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"TNS_ADMIN"})," is the location of your (unzipped) wallet. The ",(0,a.jsx)(n.code,{children:"DIRECTORY"})," set in the ",(0,a.jsx)(n.code,{children:"sqlnet.ora"})," file must match the path that it will be mounted on inside the container."]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["The following example puts the logfile in the current location with the filename ",(0,a.jsx)(n.code,{children:"alert.log"})," and loads the default matrics file (",(0,a.jsx)(n.code,{children:"default-metrics,toml"}),") from the current location."]}),"\n",(0,a.jsxs)(n.p,{children:["If you prefer to provide configuration via a ",(0,a.jsx)(n.a,{href:"/oracle-db-appdev-monitoring/docs/configuration/config-file",children:"config file"}),", you may do so with the ",(0,a.jsx)(n.code,{children:"--config.file"}),' argument. The use of a config file over command line arguments is preferred. If a config file is not provided, the "default" database connection is managed by command line arguments.']}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-yaml",children:"# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n# If you include a config value that contains a '$' character, escape that '$' with another '$', e.g.,\n# \"$test$pwd\" => \"$$test$$pwd\"\n# Otherwise, the value will be expanded as an environment variable.\n\n# Example Oracle Database Metrics Exporter Configuration file.\n# Environment variables of the form ${VAR_NAME} will be expanded.\n\ndatabases:\n ## Path on which metrics will be served\n # metricsPath: /metrics\n ## Database connection information for the \"default\" database.\n default:\n ## Database username\n username: ${DB_USERNAME}\n ## Database password\n password: ${DB_PASSWORD}\n ## Database password file\n ## If specified, will load the database password from a file.\n # passwordFile: ${DB_PASSWORD_FILE}\n ## Database connection url\n url: localhost:1521/freepdb1\n\n ## Metrics query timeout for this database, in seconds\n queryTimeout: 5\n\n ## Rely on Oracle Database External Authentication by network or OS\n # externalAuth: false\n ## Database role\n # role: SYSDBA\n ## Path to Oracle Database wallet, if using wallet\n # tnsAdmin: /path/to/database/wallet\n\n ### Connection settings:\n ### Either the go-sql or Oracle Database connection pool may be used.\n ### To use the Oracle Database connection pool over the go-sql connection pool,\n ### set maxIdleConns to zero and configure the pool* settings.\n\n ### Connection pooling settings for the go-sql connection pool\n ## Max open connections for this database using go-sql connection pool\n maxOpenConns: 10\n ## Max idle connections for this database using go-sql connection pool\n maxIdleConns: 10\n\n ### Connection pooling settings for the Oracle Database connection pool\n ## Oracle Database connection pool increment.\n # poolIncrement: 1\n ## Oracle Database Connection pool maximum size\n # poolMaxConnections: 15\n ## Oracle Database Connection pool minimum size\n # poolMinConnections: 15\n\n ## Arbitrary labels to add to each metric scraped from this database\n # labels:\n # label_name1: label_value1\n # label_name2: label_value2\n\nmetrics:\n ## How often to scrape metrics. If not provided, metrics will be scraped on request.\n # scrapeInterval: 15s\n ## Path to default metrics file.\n default: default-metrics.toml\n ## Paths to any custom metrics files\n custom:\n - custom-metrics-example/custom-metrics.toml\n\nlog:\n # Path of log file\n destination: /opt/alert.log\n # Interval of log updates\n interval: 15s\n ## Set disable to 1 to disable logging\n # disable: 0\n\n# Optionally configure prometheus webserver\n#web:\n# listenAddresses: [':9161']\n# systemdSocket: true|false\n# configFile: /path/to/webconfigfile\n"})}),"\n",(0,a.jsx)(n.h3,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,a.jsx)(n.p,{children:'If you would like to set up a test environment with the exporter, you can use the provided "Docker Compose" file in this repository which will start an Oracle Database instance, the exporter, Prometheus and Grafana.'}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd docker-compose\ndocker-compose up -d\n"})}),"\n",(0,a.jsx)(n.p,{children:"The containers will take a short time to start. The first time, the Oracle container might take a few minutes to start while it creates the database instance, but this is a one-time operation, and subequent restarts will be much faster (a few seconds)."}),"\n",(0,a.jsx)(n.p,{children:"Once the containers are all running, you can access the services using these URLs:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"http://localhost:9161/metrics",children:"Exporter"})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:9090",children:"Prometheus"}),' - try a query for "oracle".']}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"http://localhost:3000",children:"Grafana"}),' - username is "admin" and password is "grafana". An Oracle Database dashboard is provisioned and configured to use data from the exporter.']}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>r});var o=t(6540);const a={},s=o.createContext(a);function i(e){const n=o.useContext(s);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cd35152c.a54b61b9.js b/docs/assets/js/cd35152c.a54b61b9.js new file mode 100644 index 00000000..b3763cec --- /dev/null +++ b/docs/assets/js/cd35152c.a54b61b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[6601],{4203:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>o,contentTitle:()=>t,default:()=>u,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"releases/builds","title":"Builds","description":"The Oracle Database Metrics Exporter publishes cross-platform builds for each release.","source":"@site/docs/releases/builds.md","sourceDirName":"releases","slug":"/releases/builds","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/builds","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/docs/releases/builds.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"Builds","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Changelog","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/changelog"}}');var l=r(4848),s=r(8453);const a={title:"Builds",sidebar_position:3},t=void 0,o={},d=[{value:"Pre-built binaries",id:"pre-built-binaries",level:3},{value:"Container images",id:"container-images",level:3},{value:"Build the Oracle Database Metrics Exporter",id:"build-the-oracle-database-metrics-exporter",level:3},{value:"Install build tools.",id:"install-build-tools",level:4},{value:"How to build metrics exporter binaries",id:"how-to-build-metrics-exporter-binaries",level:4},{value:"How to build metrics exporter container images",id:"how-to-build-metrics-exporter-container-images",level:4},{value:"Build on Oracle Linux",id:"build-on-oracle-linux",level:3},{value:"1. Install build tools",id:"1-install-build-tools",level:4},{value:"2. Clone the exporter git repository",id:"2-clone-the-exporter-git-repository",level:4},{value:"3. Build the binary",id:"3-build-the-binary",level:4}];function c(e){const i={a:"a",code:"code",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.p,{children:"The Oracle Database Metrics Exporter publishes cross-platform builds for each release."}),"\n",(0,l.jsx)(i.p,{children:"Binaries:"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsx)(i.li,{children:"linux/amd64"}),"\n",(0,l.jsx)(i.li,{children:"linux/arm64"}),"\n",(0,l.jsx)(i.li,{children:"darwin/arm64"}),"\n"]}),"\n",(0,l.jsx)(i.p,{children:"Container images:"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsx)(i.li,{children:"linux/amd64"}),"\n",(0,l.jsx)(i.li,{children:"linux/arm64"}),"\n"]}),"\n",(0,l.jsx)(i.h3,{id:"pre-built-binaries",children:"Pre-built binaries"}),"\n",(0,l.jsxs)(i.p,{children:["Download pre-built binaries from the metrics exporter ",(0,l.jsx)(i.a,{href:"https://github.com/oracle/oracle-db-appdev-monitoring/releases",children:"GitHub Releases page"}),"."]}),"\n",(0,l.jsxs)(i.p,{children:[(0,l.jsx)(i.code,{children:"linux-amd64"}),", ",(0,l.jsx)(i.code,{children:"linux-arm64"}),", and ",(0,l.jsx)(i.code,{children:"darwin-arm64"})," binaries are included, built using GLIBC 2.39. If you require a specific target architecture or are using an older verison of GLIBC, it's recommended to build the metrics exporter binary yourself."]}),"\n",(0,l.jsx)(i.h3,{id:"container-images",children:"Container images"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"docker pull container-registry.oracle.com/database/observability-exporter:${VERSION}\n"})}),"\n",(0,l.jsx)(i.h3,{id:"build-the-oracle-database-metrics-exporter",children:"Build the Oracle Database Metrics Exporter"}),"\n",(0,l.jsx)(i.p,{children:"Follow these steps to build the metrics exporter on a Ubuntu Linux system."}),"\n",(0,l.jsx)(i.h4,{id:"install-build-tools",children:"Install build tools."}),"\n",(0,l.jsxs)(i.p,{children:["Note that ",(0,l.jsx)(i.code,{children:"podman"})," and ",(0,l.jsx)(i.code,{children:"qemu-user-static"})," are only required for container builds."]}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"sudo apt-get -y install podman qemu-user-static golang gcc-aarch64-linux-gnu\n"})}),"\n",(0,l.jsx)(i.h4,{id:"how-to-build-metrics-exporter-binaries",children:"How to build metrics exporter binaries"}),"\n",(0,l.jsx)(i.p,{children:"Linux amd64:"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"make go-build-linux-amd64\n"})}),"\n",(0,l.jsxs)(i.p,{children:["Linux arm64 (requires ",(0,l.jsx)(i.code,{children:"gcc-aarch64-linux-gnu"}),"):"]}),"\n",(0,l.jsx)(i.p,{children:(0,l.jsx)(i.code,{children:"bash make go-build-linux-gcc-arm64 "})}),"\n",(0,l.jsx)(i.p,{children:"Darwin arm64 (requires MacOS platform compilers):"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"make go-build-darwin-arm64\n"})}),"\n",(0,l.jsx)(i.h4,{id:"how-to-build-metrics-exporter-container-images",children:"How to build metrics exporter container images"}),"\n",(0,l.jsx)(i.p,{children:"Creates multi-arch container builds for linux/amd64 and linux/arm64:"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{children:"make podman-build\n"})}),"\n",(0,l.jsx)(i.h3,{id:"build-on-oracle-linux",children:"Build on Oracle Linux"}),"\n",(0,l.jsx)(i.p,{children:"To build on Oracle Linux, follow these steps."}),"\n",(0,l.jsx)(i.h4,{id:"1-install-build-tools",children:"1. Install build tools"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"dnf install -y git golang make\n"})}),"\n",(0,l.jsx)(i.h4,{id:"2-clone-the-exporter-git-repository",children:"2. Clone the exporter git repository"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"git clone git@github.com:oracle/oracle-db-appdev-monitoring.git\n"})}),"\n",(0,l.jsx)(i.h4,{id:"3-build-the-binary",children:"3. Build the binary"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-bash",children:"cd oracle-db-appdev-monitoring\nmake go-build\n"})}),"\n",(0,l.jsxs)(i.p,{children:["You will now have a tar.gz and binary file in the ",(0,l.jsx)(i.code,{children:"dist/"})," directory, named according to your target platform."]}),"\n",(0,l.jsx)(i.p,{children:"For example, for the darwin-arm64 platform:"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{children:"dist/\n\u251c\u2500\u2500 oracledb_exporter-2.1.0.darwin-arm64\n\u2502 \u2514\u2500\u2500 oracledb_exporter\n\u2514\u2500\u2500 oracledb_exporter-2.1.0.darwin-arm64.tar.gz\n"})})]})}function u(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,l.jsx)(i,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453:(e,i,r)=>{r.d(i,{R:()=>a,x:()=>t});var n=r(6540);const l={},s=n.createContext(l);function a(e){const i=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:a(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cd35152c.e4fd7d9e.js b/docs/assets/js/cd35152c.e4fd7d9e.js deleted file mode 100644 index 062cc36e..00000000 --- a/docs/assets/js/cd35152c.e4fd7d9e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[6601],{4203:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>o,contentTitle:()=>t,default:()=>u,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"releases/builds","title":"Builds","description":"The Oracle Database Metrics Exporter publishes cross-platform builds for each release.","source":"@site/docs/releases/builds.md","sourceDirName":"releases","slug":"/releases/builds","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/builds","draft":false,"unlisted":false,"editUrl":"https://github.com/oracle/oracle-db-appdev-monitoring/tree/main/site/docs/releases/builds.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"Builds","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Changelog","permalink":"/oracle-db-appdev-monitoring/docs/next/releases/changelog"}}');var s=r(4848),l=r(8453);const a={title:"Builds",sidebar_position:3},t=void 0,o={},c=[{value:"Pre-built binaries",id:"pre-built-binaries",level:3},{value:"Container images",id:"container-images",level:3},{value:"Build the Oracle Database Metrics Exporter",id:"build-the-oracle-database-metrics-exporter",level:3},{value:"Install build tools.",id:"install-build-tools",level:4},{value:"How to build metrics exporter binaries",id:"how-to-build-metrics-exporter-binaries",level:4},{value:"How to build metrics exporter container images",id:"how-to-build-metrics-exporter-container-images",level:4}];function d(e){const i={a:"a",code:"code",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:"The Oracle Database Metrics Exporter publishes cross-platform builds for each release."}),"\n",(0,s.jsx)(i.p,{children:"Binaries:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"linux/amd64"}),"\n",(0,s.jsx)(i.li,{children:"linux/arm64"}),"\n",(0,s.jsx)(i.li,{children:"darwin/arm64"}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Container images:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"linux/amd64"}),"\n",(0,s.jsx)(i.li,{children:"linux/arm64"}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"pre-built-binaries",children:"Pre-built binaries"}),"\n",(0,s.jsxs)(i.p,{children:["Download pre-built binaries from the metrics exporter ",(0,s.jsx)(i.a,{href:"https://github.com/oracle/oracle-db-appdev-monitoring/releases",children:"GitHub Releases page"}),"."]}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"linux-amd64"}),", ",(0,s.jsx)(i.code,{children:"linux-arm64"}),", and ",(0,s.jsx)(i.code,{children:"darwin-arm64"})," binaries are included, built using GLIBC 2.39. If you require a specific target architecture or are using an older verison of GLIBC, it's recommended to build the metrics exporter binary yourself."]}),"\n",(0,s.jsx)(i.h3,{id:"container-images",children:"Container images"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"docker pull container-registry.oracle.com/database/observability-exporter:${VERSION}\n"})}),"\n",(0,s.jsx)(i.h3,{id:"build-the-oracle-database-metrics-exporter",children:"Build the Oracle Database Metrics Exporter"}),"\n",(0,s.jsx)(i.p,{children:"Follow these steps to build the metrics exporter on a Ubuntu Linux system."}),"\n",(0,s.jsx)(i.h4,{id:"install-build-tools",children:"Install build tools."}),"\n",(0,s.jsxs)(i.p,{children:["Note that ",(0,s.jsx)(i.code,{children:"podman"})," and ",(0,s.jsx)(i.code,{children:"qemu-user-static"})," are only required for container builds."]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"sudo apt-get -y install podman qemu-user-static golang gcc-aarch64-linux-gnu\n"})}),"\n",(0,s.jsx)(i.h4,{id:"how-to-build-metrics-exporter-binaries",children:"How to build metrics exporter binaries"}),"\n",(0,s.jsx)(i.p,{children:"Linux amd64:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"make go-build-linux-amd64\n"})}),"\n",(0,s.jsxs)(i.p,{children:["Linux arm64 (requires ",(0,s.jsx)(i.code,{children:"gcc-aarch64-linux-gnu"}),"):"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"bash make go-build-linux-gcc-arm64 "})}),"\n",(0,s.jsx)(i.p,{children:"Darwin arm64 (requires MacOS platform compilers):"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-bash",children:"make go-build-darwin-arm64\n"})}),"\n",(0,s.jsx)(i.h4,{id:"how-to-build-metrics-exporter-container-images",children:"How to build metrics exporter container images"}),"\n",(0,s.jsx)(i.p,{children:"Creates multi-arch container builds for linux/amd64 and linux/arm64:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{children:"make podman-build\n"})})]})}function u(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,i,r)=>{r.d(i,{R:()=>a,x:()=>t});var n=r(6540);const s={},l=n.createContext(s);function a(e){const i=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/runtime~main.9ede754f.js b/docs/assets/js/runtime~main.8727836e.js similarity index 96% rename from docs/assets/js/runtime~main.9ede754f.js rename to docs/assets/js/runtime~main.8727836e.js index f4e3056a..df329eb2 100644 --- a/docs/assets/js/runtime~main.9ede754f.js +++ b/docs/assets/js/runtime~main.8727836e.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every(e=>r.O[e](c[o]))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;("object"==typeof t||"function"==typeof t)&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((a,c)=>(r.f[c](e,a),a),[])),r.u=e=>"assets/js/"+({154:"0170a66b",170:"ab01181e",295:"2a3a3587",382:"76c47998",405:"384c9e20",529:"3c57bc2c",613:"24bfb4a5",698:"d00c9ef6",879:"cafd52b9",1152:"a7901124",1235:"a7456010",1412:"cb6f8875",1604:"36b77772",1629:"13e8d7f0",1636:"fcc612c9",1919:"d72bb23b",1969:"488c0ad4",2050:"30c2683d",2173:"af966633",2199:"dac61621",2207:"468714db",2253:"d56fefc7",2900:"f6de67f9",3109:"da45922a",3191:"c402a673",3220:"263d9139",3255:"eb867a72",3258:"8a60975e",3299:"4872b7f4",3394:"350a8e78",3613:"1aefe309",3645:"0b61af68",3646:"e794cb96",3798:"21b27731",3976:"0e384e19",4134:"393be207",4139:"ed5a888a",4323:"8be1f15d",4353:"c4e87715",4434:"a946513b",4580:"d94a41cc",4583:"1df93b7f",4705:"867ce809",5051:"ff66e47b",5071:"1e10f605",5082:"5240f2c1",5173:"f7d2b7bf",5271:"64bc4dbe",5361:"6721cf4c",5524:"7569d55b",5564:"017ec70d",5723:"c553f635",5742:"aba21aa0",5808:"f36aa3f3",6061:"1f391b9e",6233:"6f6f2b68",6235:"cf0dfdd1",6283:"b5bc6181",6424:"6a577544",6499:"4ea38b47",6596:"2d404bd3",6601:"cd35152c",6638:"38605f72",6898:"a989571e",6942:"cace57d1",6948:"3740dcc7",6969:"14eb3368",7038:"9e5b57b0",7098:"a7bd4aaa",7213:"9419d97c",7316:"6c3adccd",7359:"a7f4dc0a",7361:"a82bf902",7420:"1ed3dd51",7504:"2a1428c8",7566:"d4e6e5c7",7686:"ad63e09c",7728:"c0ac6b77",7791:"01070055",7889:"d0f03a26",8089:"e0c86ee0",8132:"b3bbaebb",8354:"c4181174",8401:"17896441",8539:"49d0ab44",8747:"2c91c66b",8918:"85a0f18d",8952:"5e8a6b04",9048:"a94703ab",9100:"c539bf3f",9226:"cfb8cbdc",9249:"6ad7f408",9300:"cb6bc467",9419:"2ebe357a",9434:"b8d4edc5",9496:"5d734631",9567:"3af644fb",9647:"5e95c892",9648:"4aa3d183",9666:"61f1b472",9825:"fe4433e4",9926:"6e6103cc"}[e]||e)+"."+{154:"1177212a",170:"7eaf9ed0",295:"a3a85e02",382:"0a3946fb",405:"1f5a8bb5",529:"4062cff0",613:"8b68ff4f",698:"fe6fa80b",879:"92fd6081",1152:"ee2fd166",1235:"8bd40a5b",1412:"21cdf4ae",1604:"cd96e871",1629:"680c7a8c",1636:"c04722ee",1668:"57de6221",1919:"009da073",1969:"85f173eb",2050:"126a72c2",2173:"dc1a00f4",2199:"9472896f",2207:"7067aa6e",2237:"5e84b40a",2253:"453af74a",2900:"ac91f1f5",3109:"493dfed3",3191:"37f678cc",3220:"79d3067f",3255:"474b79be",3258:"f992baf1",3299:"8d020497",3394:"a3c74894",3613:"bbdd5937",3645:"19a2d4c1",3646:"c4787afe",3798:"f20c3f00",3976:"3cab749d",4134:"6daba6a3",4139:"af7e30ba",4323:"fd6c8bc2",4353:"b14dd93f",4434:"44abec5d",4580:"3e757db4",4583:"3265e8f4",4705:"1d9819e5",5051:"3508c712",5071:"7484ef29",5082:"7779f2d4",5173:"6c33f125",5271:"966f6a89",5361:"22c27e35",5524:"a7f9005b",5564:"f7b04567",5723:"b670231e",5742:"6827c32a",5808:"c7a14805",6061:"934f2783",6233:"c409f929",6235:"26f128a4",6283:"96b82386",6424:"36238892",6499:"ae5193ec",6596:"073e06e4",6601:"e4fd7d9e",6638:"22812b25",6898:"754a5e4f",6942:"6fcac2aa",6948:"a3ac8f6e",6969:"a004a01c",7038:"59cb7d0b",7098:"8e47733e",7213:"ebaa7cbf",7316:"f125177d",7359:"fab1aab9",7361:"3f610dba",7420:"8010e02c",7504:"2106dfd2",7566:"a10a3190",7686:"2d2c5bea",7728:"20b120d2",7791:"22cb792c",7889:"2b6c3a49",8089:"c8aef7b1",8132:"0e171781",8354:"ebdc33f0",8401:"123f7693",8539:"8b450938",8747:"a471022d",8918:"3710d60b",8952:"6adb33f2",9048:"0527b935",9100:"fb47e104",9226:"29a4b7ad",9249:"bd49a1c4",9300:"b16664da",9419:"3b89631c",9434:"3124b2e0",9496:"02691c76",9567:"75cc0d37",9647:"0766153a",9648:"d48746f2",9666:"623412d3",9825:"4496de93",9926:"817fcf37"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="site:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach(e=>e(c)),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/oracle-db-appdev-monitoring/",r.gca=function(e){return e={17896441:"8401","0170a66b":"154",ab01181e:"170","2a3a3587":"295","76c47998":"382","384c9e20":"405","3c57bc2c":"529","24bfb4a5":"613",d00c9ef6:"698",cafd52b9:"879",a7901124:"1152",a7456010:"1235",cb6f8875:"1412","36b77772":"1604","13e8d7f0":"1629",fcc612c9:"1636",d72bb23b:"1919","488c0ad4":"1969","30c2683d":"2050",af966633:"2173",dac61621:"2199","468714db":"2207",d56fefc7:"2253",f6de67f9:"2900",da45922a:"3109",c402a673:"3191","263d9139":"3220",eb867a72:"3255","8a60975e":"3258","4872b7f4":"3299","350a8e78":"3394","1aefe309":"3613","0b61af68":"3645",e794cb96:"3646","21b27731":"3798","0e384e19":"3976","393be207":"4134",ed5a888a:"4139","8be1f15d":"4323",c4e87715:"4353",a946513b:"4434",d94a41cc:"4580","1df93b7f":"4583","867ce809":"4705",ff66e47b:"5051","1e10f605":"5071","5240f2c1":"5082",f7d2b7bf:"5173","64bc4dbe":"5271","6721cf4c":"5361","7569d55b":"5524","017ec70d":"5564",c553f635:"5723",aba21aa0:"5742",f36aa3f3:"5808","1f391b9e":"6061","6f6f2b68":"6233",cf0dfdd1:"6235",b5bc6181:"6283","6a577544":"6424","4ea38b47":"6499","2d404bd3":"6596",cd35152c:"6601","38605f72":"6638",a989571e:"6898",cace57d1:"6942","3740dcc7":"6948","14eb3368":"6969","9e5b57b0":"7038",a7bd4aaa:"7098","9419d97c":"7213","6c3adccd":"7316",a7f4dc0a:"7359",a82bf902:"7361","1ed3dd51":"7420","2a1428c8":"7504",d4e6e5c7:"7566",ad63e09c:"7686",c0ac6b77:"7728","01070055":"7791",d0f03a26:"7889",e0c86ee0:"8089",b3bbaebb:"8132",c4181174:"8354","49d0ab44":"8539","2c91c66b":"8747","85a0f18d":"8918","5e8a6b04":"8952",a94703ab:"9048",c539bf3f:"9100",cfb8cbdc:"9226","6ad7f408":"9249",cb6bc467:"9300","2ebe357a":"9419",b8d4edc5:"9434","5d734631":"9496","3af644fb":"9567","5e95c892":"9647","4aa3d183":"9648","61f1b472":"9666",fe4433e4:"9825","6e6103cc":"9926"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise((c,f)=>d=e[a]=[c,f]);c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}},"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some(a=>0!==e[a])){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every(e=>r.O[e](c[o]))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;("object"==typeof t||"function"==typeof t)&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach(a=>b[a]=()=>e[a]);return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((a,c)=>(r.f[c](e,a),a),[])),r.u=e=>"assets/js/"+({154:"0170a66b",170:"ab01181e",295:"2a3a3587",382:"76c47998",405:"384c9e20",529:"3c57bc2c",613:"24bfb4a5",698:"d00c9ef6",879:"cafd52b9",1152:"a7901124",1235:"a7456010",1412:"cb6f8875",1604:"36b77772",1629:"13e8d7f0",1636:"fcc612c9",1919:"d72bb23b",1969:"488c0ad4",2050:"30c2683d",2173:"af966633",2199:"dac61621",2207:"468714db",2253:"d56fefc7",2900:"f6de67f9",3109:"da45922a",3191:"c402a673",3220:"263d9139",3255:"eb867a72",3258:"8a60975e",3299:"4872b7f4",3394:"350a8e78",3613:"1aefe309",3645:"0b61af68",3646:"e794cb96",3798:"21b27731",3976:"0e384e19",4134:"393be207",4139:"ed5a888a",4323:"8be1f15d",4353:"c4e87715",4434:"a946513b",4580:"d94a41cc",4583:"1df93b7f",4705:"867ce809",5051:"ff66e47b",5071:"1e10f605",5082:"5240f2c1",5173:"f7d2b7bf",5271:"64bc4dbe",5361:"6721cf4c",5524:"7569d55b",5564:"017ec70d",5723:"c553f635",5742:"aba21aa0",5808:"f36aa3f3",6061:"1f391b9e",6233:"6f6f2b68",6235:"cf0dfdd1",6283:"b5bc6181",6424:"6a577544",6499:"4ea38b47",6596:"2d404bd3",6601:"cd35152c",6638:"38605f72",6898:"a989571e",6942:"cace57d1",6948:"3740dcc7",6969:"14eb3368",7038:"9e5b57b0",7098:"a7bd4aaa",7213:"9419d97c",7316:"6c3adccd",7359:"a7f4dc0a",7361:"a82bf902",7420:"1ed3dd51",7504:"2a1428c8",7566:"d4e6e5c7",7686:"ad63e09c",7728:"c0ac6b77",7791:"01070055",7889:"d0f03a26",8089:"e0c86ee0",8132:"b3bbaebb",8354:"c4181174",8401:"17896441",8539:"49d0ab44",8747:"2c91c66b",8918:"85a0f18d",8952:"5e8a6b04",9048:"a94703ab",9100:"c539bf3f",9226:"cfb8cbdc",9249:"6ad7f408",9300:"cb6bc467",9419:"2ebe357a",9434:"b8d4edc5",9496:"5d734631",9567:"3af644fb",9647:"5e95c892",9648:"4aa3d183",9666:"61f1b472",9825:"fe4433e4",9926:"6e6103cc"}[e]||e)+"."+{154:"1177212a",170:"7eaf9ed0",295:"a3a85e02",382:"0a3946fb",405:"1f5a8bb5",529:"4062cff0",613:"8b68ff4f",698:"fe6fa80b",879:"92fd6081",1152:"ee2fd166",1235:"8bd40a5b",1412:"bd27ec5b",1604:"cd96e871",1629:"680c7a8c",1636:"c04722ee",1668:"57de6221",1919:"009da073",1969:"85f173eb",2050:"126a72c2",2173:"71b7106b",2199:"9472896f",2207:"7067aa6e",2237:"5e84b40a",2253:"453af74a",2900:"ac91f1f5",3109:"493dfed3",3191:"37f678cc",3220:"79d3067f",3255:"474b79be",3258:"f992baf1",3299:"8d020497",3394:"a3c74894",3613:"bbdd5937",3645:"19a2d4c1",3646:"c4787afe",3798:"f20c3f00",3976:"3cab749d",4134:"6daba6a3",4139:"af7e30ba",4323:"fd6c8bc2",4353:"b14dd93f",4434:"44abec5d",4580:"3e757db4",4583:"3265e8f4",4705:"1d9819e5",5051:"3508c712",5071:"7484ef29",5082:"7779f2d4",5173:"6c33f125",5271:"966f6a89",5361:"22c27e35",5524:"a7f9005b",5564:"f7b04567",5723:"b670231e",5742:"6827c32a",5808:"c7a14805",6061:"934f2783",6233:"c409f929",6235:"26f128a4",6283:"96b82386",6424:"36238892",6499:"ae5193ec",6596:"073e06e4",6601:"a54b61b9",6638:"22812b25",6898:"754a5e4f",6942:"6fcac2aa",6948:"a3ac8f6e",6969:"a004a01c",7038:"59cb7d0b",7098:"8e47733e",7213:"ebaa7cbf",7316:"f125177d",7359:"fab1aab9",7361:"3f610dba",7420:"8010e02c",7504:"2106dfd2",7566:"a10a3190",7686:"2d2c5bea",7728:"20b120d2",7791:"22cb792c",7889:"2b6c3a49",8089:"c8aef7b1",8132:"0e171781",8354:"ebdc33f0",8401:"123f7693",8539:"8b450938",8747:"a471022d",8918:"3710d60b",8952:"6adb33f2",9048:"0527b935",9100:"6b61fa87",9226:"29a4b7ad",9249:"bd49a1c4",9300:"b16664da",9419:"3b89631c",9434:"3124b2e0",9496:"02691c76",9567:"75cc0d37",9647:"0766153a",9648:"d48746f2",9666:"623412d3",9825:"4496de93",9926:"817fcf37"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="site:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach(e=>e(c)),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/oracle-db-appdev-monitoring/",r.gca=function(e){return e={17896441:"8401","0170a66b":"154",ab01181e:"170","2a3a3587":"295","76c47998":"382","384c9e20":"405","3c57bc2c":"529","24bfb4a5":"613",d00c9ef6:"698",cafd52b9:"879",a7901124:"1152",a7456010:"1235",cb6f8875:"1412","36b77772":"1604","13e8d7f0":"1629",fcc612c9:"1636",d72bb23b:"1919","488c0ad4":"1969","30c2683d":"2050",af966633:"2173",dac61621:"2199","468714db":"2207",d56fefc7:"2253",f6de67f9:"2900",da45922a:"3109",c402a673:"3191","263d9139":"3220",eb867a72:"3255","8a60975e":"3258","4872b7f4":"3299","350a8e78":"3394","1aefe309":"3613","0b61af68":"3645",e794cb96:"3646","21b27731":"3798","0e384e19":"3976","393be207":"4134",ed5a888a:"4139","8be1f15d":"4323",c4e87715:"4353",a946513b:"4434",d94a41cc:"4580","1df93b7f":"4583","867ce809":"4705",ff66e47b:"5051","1e10f605":"5071","5240f2c1":"5082",f7d2b7bf:"5173","64bc4dbe":"5271","6721cf4c":"5361","7569d55b":"5524","017ec70d":"5564",c553f635:"5723",aba21aa0:"5742",f36aa3f3:"5808","1f391b9e":"6061","6f6f2b68":"6233",cf0dfdd1:"6235",b5bc6181:"6283","6a577544":"6424","4ea38b47":"6499","2d404bd3":"6596",cd35152c:"6601","38605f72":"6638",a989571e:"6898",cace57d1:"6942","3740dcc7":"6948","14eb3368":"6969","9e5b57b0":"7038",a7bd4aaa:"7098","9419d97c":"7213","6c3adccd":"7316",a7f4dc0a:"7359",a82bf902:"7361","1ed3dd51":"7420","2a1428c8":"7504",d4e6e5c7:"7566",ad63e09c:"7686",c0ac6b77:"7728","01070055":"7791",d0f03a26:"7889",e0c86ee0:"8089",b3bbaebb:"8132",c4181174:"8354","49d0ab44":"8539","2c91c66b":"8747","85a0f18d":"8918","5e8a6b04":"8952",a94703ab:"9048",c539bf3f:"9100",cfb8cbdc:"9226","6ad7f408":"9249",cb6bc467:"9300","2ebe357a":"9419",b8d4edc5:"9434","5d734631":"9496","3af644fb":"9567","5e95c892":"9647","4aa3d183":"9648","61f1b472":"9666",fe4433e4:"9825","6e6103cc":"9926"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise((c,f)=>d=e[a]=[c,f]);c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}},"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some(a=>0!==e[a])){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n Development | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/advanced/go-runtime/index.html b/docs/docs/2.0.3/advanced/go-runtime/index.html index 1ce1d8ce..635d545f 100644 --- a/docs/docs/2.0.3/advanced/go-runtime/index.html +++ b/docs/docs/2.0.3/advanced/go-runtime/index.html @@ -4,7 +4,7 @@ Configuring the Go Runtime | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/advanced/txeventq/index.html b/docs/docs/2.0.3/advanced/txeventq/index.html index bdad62ae..af74b492 100644 --- a/docs/docs/2.0.3/advanced/txeventq/index.html +++ b/docs/docs/2.0.3/advanced/txeventq/index.html @@ -4,7 +4,7 @@ Monitoring TxEventQ | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/category/advanced/index.html b/docs/docs/2.0.3/category/advanced/index.html index b3e09973..a36b2b17 100644 --- a/docs/docs/2.0.3/category/advanced/index.html +++ b/docs/docs/2.0.3/category/advanced/index.html @@ -4,7 +4,7 @@ Advanced | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/category/configuration/index.html b/docs/docs/2.0.3/category/configuration/index.html index 2fc08a05..18f8a811 100644 --- a/docs/docs/2.0.3/category/configuration/index.html +++ b/docs/docs/2.0.3/category/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/category/getting-started/index.html b/docs/docs/2.0.3/category/getting-started/index.html index e4944012..b69de3cb 100644 --- a/docs/docs/2.0.3/category/getting-started/index.html +++ b/docs/docs/2.0.3/category/getting-started/index.html @@ -4,7 +4,7 @@ Getting Started | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/category/releases/index.html b/docs/docs/2.0.3/category/releases/index.html index 991df4c7..2f0d5b96 100644 --- a/docs/docs/2.0.3/category/releases/index.html +++ b/docs/docs/2.0.3/category/releases/index.html @@ -4,7 +4,7 @@ Releases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/alert-logs/index.html b/docs/docs/2.0.3/configuration/alert-logs/index.html index eaa27989..b680d157 100644 --- a/docs/docs/2.0.3/configuration/alert-logs/index.html +++ b/docs/docs/2.0.3/configuration/alert-logs/index.html @@ -4,7 +4,7 @@ Alert Logs | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/azure-vault/index.html b/docs/docs/2.0.3/configuration/azure-vault/index.html index 1e424612..dee61e74 100644 --- a/docs/docs/2.0.3/configuration/azure-vault/index.html +++ b/docs/docs/2.0.3/configuration/azure-vault/index.html @@ -4,7 +4,7 @@ Azure Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/config-file/index.html b/docs/docs/2.0.3/configuration/config-file/index.html index 42ea32b6..0592eb1d 100644 --- a/docs/docs/2.0.3/configuration/config-file/index.html +++ b/docs/docs/2.0.3/configuration/config-file/index.html @@ -4,7 +4,7 @@ Exporter Config File | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/custom-metrics/index.html b/docs/docs/2.0.3/configuration/custom-metrics/index.html index fa022592..d662f47e 100644 --- a/docs/docs/2.0.3/configuration/custom-metrics/index.html +++ b/docs/docs/2.0.3/configuration/custom-metrics/index.html @@ -4,7 +4,7 @@ Custom Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/multiple-databases/index.html b/docs/docs/2.0.3/configuration/multiple-databases/index.html index 4b6c5904..7accaac0 100644 --- a/docs/docs/2.0.3/configuration/multiple-databases/index.html +++ b/docs/docs/2.0.3/configuration/multiple-databases/index.html @@ -4,7 +4,7 @@ Multiple Databases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/oci-vault/index.html b/docs/docs/2.0.3/configuration/oci-vault/index.html index a2550e32..f01b626e 100644 --- a/docs/docs/2.0.3/configuration/oci-vault/index.html +++ b/docs/docs/2.0.3/configuration/oci-vault/index.html @@ -4,7 +4,7 @@ OCI Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/configuration/oracle-wallet/index.html b/docs/docs/2.0.3/configuration/oracle-wallet/index.html index 7b8702d9..56c3fb6c 100644 --- a/docs/docs/2.0.3/configuration/oracle-wallet/index.html +++ b/docs/docs/2.0.3/configuration/oracle-wallet/index.html @@ -4,7 +4,7 @@ Oracle Wallet (mTLS) | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/getting-started/basics/index.html b/docs/docs/2.0.3/getting-started/basics/index.html index 681ace98..b98a3049 100644 --- a/docs/docs/2.0.3/getting-started/basics/index.html +++ b/docs/docs/2.0.3/getting-started/basics/index.html @@ -4,7 +4,7 @@ Installation | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/getting-started/default-metrics/index.html b/docs/docs/2.0.3/getting-started/default-metrics/index.html index 9c5bc1c6..4b2f2c5a 100644 --- a/docs/docs/2.0.3/getting-started/default-metrics/index.html +++ b/docs/docs/2.0.3/getting-started/default-metrics/index.html @@ -4,7 +4,7 @@ Default Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/getting-started/grafana-dashboards/index.html b/docs/docs/2.0.3/getting-started/grafana-dashboards/index.html index cee7c5ab..e073a770 100644 --- a/docs/docs/2.0.3/getting-started/grafana-dashboards/index.html +++ b/docs/docs/2.0.3/getting-started/grafana-dashboards/index.html @@ -4,7 +4,7 @@ Grafana Dashboards | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/getting-started/kubernetes/index.html b/docs/docs/2.0.3/getting-started/kubernetes/index.html index 6c6ebf4f..60333971 100644 --- a/docs/docs/2.0.3/getting-started/kubernetes/index.html +++ b/docs/docs/2.0.3/getting-started/kubernetes/index.html @@ -4,7 +4,7 @@ Kubernetes | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/intro/index.html b/docs/docs/2.0.3/intro/index.html index 154175a7..77398aaf 100644 --- a/docs/docs/2.0.3/intro/index.html +++ b/docs/docs/2.0.3/intro/index.html @@ -4,7 +4,7 @@ OpenTelemetry Metrics for Oracle Database | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/releases/changelog/index.html b/docs/docs/2.0.3/releases/changelog/index.html index 642a2cb8..c5ccf81c 100644 --- a/docs/docs/2.0.3/releases/changelog/index.html +++ b/docs/docs/2.0.3/releases/changelog/index.html @@ -4,7 +4,7 @@ Changelog | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.3/releases/roadmap/index.html b/docs/docs/2.0.3/releases/roadmap/index.html index 4ae0ac2d..68d7a53a 100644 --- a/docs/docs/2.0.3/releases/roadmap/index.html +++ b/docs/docs/2.0.3/releases/roadmap/index.html @@ -4,7 +4,7 @@ Roadmap | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/advanced/development/index.html b/docs/docs/2.0.4/advanced/development/index.html index d4649e3d..9711e83b 100644 --- a/docs/docs/2.0.4/advanced/development/index.html +++ b/docs/docs/2.0.4/advanced/development/index.html @@ -4,7 +4,7 @@ Development | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/advanced/go-runtime/index.html b/docs/docs/2.0.4/advanced/go-runtime/index.html index bee96ce9..345a2f5d 100644 --- a/docs/docs/2.0.4/advanced/go-runtime/index.html +++ b/docs/docs/2.0.4/advanced/go-runtime/index.html @@ -4,7 +4,7 @@ Configuring the Go Runtime | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/advanced/txeventq/index.html b/docs/docs/2.0.4/advanced/txeventq/index.html index 2742f0bb..485d9e08 100644 --- a/docs/docs/2.0.4/advanced/txeventq/index.html +++ b/docs/docs/2.0.4/advanced/txeventq/index.html @@ -4,7 +4,7 @@ Monitoring TxEventQ | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/category/advanced/index.html b/docs/docs/2.0.4/category/advanced/index.html index 00df4235..fbab75c9 100644 --- a/docs/docs/2.0.4/category/advanced/index.html +++ b/docs/docs/2.0.4/category/advanced/index.html @@ -4,7 +4,7 @@ Advanced | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/category/configuration/index.html b/docs/docs/2.0.4/category/configuration/index.html index 790571c7..a949b341 100644 --- a/docs/docs/2.0.4/category/configuration/index.html +++ b/docs/docs/2.0.4/category/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/category/getting-started/index.html b/docs/docs/2.0.4/category/getting-started/index.html index b37a2c3f..ac2278b7 100644 --- a/docs/docs/2.0.4/category/getting-started/index.html +++ b/docs/docs/2.0.4/category/getting-started/index.html @@ -4,7 +4,7 @@ Getting Started | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/category/releases/index.html b/docs/docs/2.0.4/category/releases/index.html index 928649bb..3da7f61d 100644 --- a/docs/docs/2.0.4/category/releases/index.html +++ b/docs/docs/2.0.4/category/releases/index.html @@ -4,7 +4,7 @@ Releases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/alert-logs/index.html b/docs/docs/2.0.4/configuration/alert-logs/index.html index b7ab2d02..0a6d4177 100644 --- a/docs/docs/2.0.4/configuration/alert-logs/index.html +++ b/docs/docs/2.0.4/configuration/alert-logs/index.html @@ -4,7 +4,7 @@ Alert Logs | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/azure-vault/index.html b/docs/docs/2.0.4/configuration/azure-vault/index.html index 62fbcf17..34401ef6 100644 --- a/docs/docs/2.0.4/configuration/azure-vault/index.html +++ b/docs/docs/2.0.4/configuration/azure-vault/index.html @@ -4,7 +4,7 @@ Azure Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/config-file/index.html b/docs/docs/2.0.4/configuration/config-file/index.html index ad2233db..55ce2da8 100644 --- a/docs/docs/2.0.4/configuration/config-file/index.html +++ b/docs/docs/2.0.4/configuration/config-file/index.html @@ -4,7 +4,7 @@ Exporter Config File | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/custom-metrics/index.html b/docs/docs/2.0.4/configuration/custom-metrics/index.html index b2b18360..f67c718b 100644 --- a/docs/docs/2.0.4/configuration/custom-metrics/index.html +++ b/docs/docs/2.0.4/configuration/custom-metrics/index.html @@ -4,7 +4,7 @@ Custom Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/multiple-databases/index.html b/docs/docs/2.0.4/configuration/multiple-databases/index.html index 4eb18ca6..7abcd9e7 100644 --- a/docs/docs/2.0.4/configuration/multiple-databases/index.html +++ b/docs/docs/2.0.4/configuration/multiple-databases/index.html @@ -4,7 +4,7 @@ Multiple Databases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/oci-vault/index.html b/docs/docs/2.0.4/configuration/oci-vault/index.html index 277ef933..1d2e6426 100644 --- a/docs/docs/2.0.4/configuration/oci-vault/index.html +++ b/docs/docs/2.0.4/configuration/oci-vault/index.html @@ -4,7 +4,7 @@ OCI Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/configuration/oracle-wallet/index.html b/docs/docs/2.0.4/configuration/oracle-wallet/index.html index 4ae8775e..19055ab4 100644 --- a/docs/docs/2.0.4/configuration/oracle-wallet/index.html +++ b/docs/docs/2.0.4/configuration/oracle-wallet/index.html @@ -4,7 +4,7 @@ Oracle Wallet (mTLS) | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/getting-started/basics/index.html b/docs/docs/2.0.4/getting-started/basics/index.html index cd1da073..ec3556b8 100644 --- a/docs/docs/2.0.4/getting-started/basics/index.html +++ b/docs/docs/2.0.4/getting-started/basics/index.html @@ -4,7 +4,7 @@ Installation | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/getting-started/default-metrics/index.html b/docs/docs/2.0.4/getting-started/default-metrics/index.html index 4fbdee10..2463dce7 100644 --- a/docs/docs/2.0.4/getting-started/default-metrics/index.html +++ b/docs/docs/2.0.4/getting-started/default-metrics/index.html @@ -4,7 +4,7 @@ Default Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/getting-started/grafana-dashboards/index.html b/docs/docs/2.0.4/getting-started/grafana-dashboards/index.html index d1d74c96..dd42b232 100644 --- a/docs/docs/2.0.4/getting-started/grafana-dashboards/index.html +++ b/docs/docs/2.0.4/getting-started/grafana-dashboards/index.html @@ -4,7 +4,7 @@ Grafana Dashboards | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/getting-started/kubernetes/index.html b/docs/docs/2.0.4/getting-started/kubernetes/index.html index 037009b4..96f4da0b 100644 --- a/docs/docs/2.0.4/getting-started/kubernetes/index.html +++ b/docs/docs/2.0.4/getting-started/kubernetes/index.html @@ -4,7 +4,7 @@ Kubernetes | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/intro/index.html b/docs/docs/2.0.4/intro/index.html index 62e39e41..e99a93ca 100644 --- a/docs/docs/2.0.4/intro/index.html +++ b/docs/docs/2.0.4/intro/index.html @@ -4,7 +4,7 @@ OpenTelemetry Metrics for Oracle Database | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/releases/changelog/index.html b/docs/docs/2.0.4/releases/changelog/index.html index 81806abf..9ade301c 100644 --- a/docs/docs/2.0.4/releases/changelog/index.html +++ b/docs/docs/2.0.4/releases/changelog/index.html @@ -4,7 +4,7 @@ Changelog | Oracle Database Metrics Exporter - + diff --git a/docs/docs/2.0.4/releases/roadmap/index.html b/docs/docs/2.0.4/releases/roadmap/index.html index 62f0bf8d..5083e8ff 100644 --- a/docs/docs/2.0.4/releases/roadmap/index.html +++ b/docs/docs/2.0.4/releases/roadmap/index.html @@ -4,7 +4,7 @@ Roadmap | Oracle Database Metrics Exporter - + diff --git a/docs/docs/advanced/development/index.html b/docs/docs/advanced/development/index.html index e25c4350..960aa674 100644 --- a/docs/docs/advanced/development/index.html +++ b/docs/docs/advanced/development/index.html @@ -4,7 +4,7 @@ Development | Oracle Database Metrics Exporter - + diff --git a/docs/docs/advanced/go-runtime/index.html b/docs/docs/advanced/go-runtime/index.html index ccbce0d6..bbf6b7c7 100644 --- a/docs/docs/advanced/go-runtime/index.html +++ b/docs/docs/advanced/go-runtime/index.html @@ -4,7 +4,7 @@ Configuring the Go Runtime | Oracle Database Metrics Exporter - + diff --git a/docs/docs/advanced/older-versions/index.html b/docs/docs/advanced/older-versions/index.html index 3de270b2..ed9e90a8 100644 --- a/docs/docs/advanced/older-versions/index.html +++ b/docs/docs/advanced/older-versions/index.html @@ -4,7 +4,7 @@ Compatibility with Older Database Versions | Oracle Database Metrics Exporter - + diff --git a/docs/docs/advanced/txeventq/index.html b/docs/docs/advanced/txeventq/index.html index 0cbda76e..eafad65c 100644 --- a/docs/docs/advanced/txeventq/index.html +++ b/docs/docs/advanced/txeventq/index.html @@ -4,7 +4,7 @@ Monitoring TxEventQ | Oracle Database Metrics Exporter - + diff --git a/docs/docs/category/advanced/index.html b/docs/docs/category/advanced/index.html index d22cedbc..c40a1df0 100644 --- a/docs/docs/category/advanced/index.html +++ b/docs/docs/category/advanced/index.html @@ -4,7 +4,7 @@ Advanced | Oracle Database Metrics Exporter - + diff --git a/docs/docs/category/configuration/index.html b/docs/docs/category/configuration/index.html index db9f7691..144136ce 100644 --- a/docs/docs/category/configuration/index.html +++ b/docs/docs/category/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Oracle Database Metrics Exporter - + diff --git a/docs/docs/category/getting-started/index.html b/docs/docs/category/getting-started/index.html index 482f126a..3344c407 100644 --- a/docs/docs/category/getting-started/index.html +++ b/docs/docs/category/getting-started/index.html @@ -4,7 +4,7 @@ Getting Started | Oracle Database Metrics Exporter - + diff --git a/docs/docs/category/releases/index.html b/docs/docs/category/releases/index.html index 67f1e957..bd13d093 100644 --- a/docs/docs/category/releases/index.html +++ b/docs/docs/category/releases/index.html @@ -4,7 +4,7 @@ Releases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/alert-logs/index.html b/docs/docs/configuration/alert-logs/index.html index 986d3d05..a7e051a8 100644 --- a/docs/docs/configuration/alert-logs/index.html +++ b/docs/docs/configuration/alert-logs/index.html @@ -4,7 +4,7 @@ Alert Logs | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/azure-vault/index.html b/docs/docs/configuration/azure-vault/index.html index e97ab28e..049abdc2 100644 --- a/docs/docs/configuration/azure-vault/index.html +++ b/docs/docs/configuration/azure-vault/index.html @@ -4,7 +4,7 @@ Azure Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/config-file/index.html b/docs/docs/configuration/config-file/index.html index 4a302464..579017c9 100644 --- a/docs/docs/configuration/config-file/index.html +++ b/docs/docs/configuration/config-file/index.html @@ -4,7 +4,7 @@ Exporter Configuration | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/custom-metrics/index.html b/docs/docs/configuration/custom-metrics/index.html index 6aac2dae..43b04e35 100644 --- a/docs/docs/configuration/custom-metrics/index.html +++ b/docs/docs/configuration/custom-metrics/index.html @@ -4,7 +4,7 @@ Custom Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/multiple-databases/index.html b/docs/docs/configuration/multiple-databases/index.html index 19184832..f2b9eb1d 100644 --- a/docs/docs/configuration/multiple-databases/index.html +++ b/docs/docs/configuration/multiple-databases/index.html @@ -4,7 +4,7 @@ Multiple Databases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/oci-vault/index.html b/docs/docs/configuration/oci-vault/index.html index 4c289dc2..791bdd11 100644 --- a/docs/docs/configuration/oci-vault/index.html +++ b/docs/docs/configuration/oci-vault/index.html @@ -4,7 +4,7 @@ OCI Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/configuration/oracle-wallet/index.html b/docs/docs/configuration/oracle-wallet/index.html index 8489c3f4..0b363378 100644 --- a/docs/docs/configuration/oracle-wallet/index.html +++ b/docs/docs/configuration/oracle-wallet/index.html @@ -4,7 +4,7 @@ Oracle Wallet (mTLS) | Oracle Database Metrics Exporter - + diff --git a/docs/docs/getting-started/basics/index.html b/docs/docs/getting-started/basics/index.html index 8a1f6475..44a1837e 100644 --- a/docs/docs/getting-started/basics/index.html +++ b/docs/docs/getting-started/basics/index.html @@ -4,7 +4,7 @@ Installation | Oracle Database Metrics Exporter - + @@ -19,6 +19,9 @@
  • In Kubernetes
  • As a standalone binary
  • +

    Database Permissions

    +

    For the built-in default metrics, the exporter database database user must have the SELECT_CATALOG_ROLE privilege and/or SELECT permission on the following objects:

    +
    dba_tablespace_usage_metrics
    dba_tablespaces
    gv$system_wait_class
    gv$asm_diskgroup_stat
    gv$datafile
    gv$sysstat
    gv$process
    gv$waitclassmetric
    gv$session
    gv$resource_limit
    gv$parameter
    gv$database
    gv$sqlstats
    gv$sysmetric
    v$diag_alert_ext (for alert logs only)

    Docker, Podman, etc

    You can run the exporter in a local container using a container image from Oracle Container Registry. The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.

    Oracle Database Free

    @@ -70,6 +73,6 @@

    Docker Compos
  • Exporter
  • Prometheus - try a query for "oracle".
  • Grafana - username is "admin" and password is "grafana". An Oracle Database dashboard is provisioned and configured to use data from the exporter.
  • - + \ No newline at end of file diff --git a/docs/docs/getting-started/default-metrics/index.html b/docs/docs/getting-started/default-metrics/index.html index d416bee0..a93c26fc 100644 --- a/docs/docs/getting-started/default-metrics/index.html +++ b/docs/docs/getting-started/default-metrics/index.html @@ -4,7 +4,7 @@ Default Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/getting-started/grafana-dashboards/index.html b/docs/docs/getting-started/grafana-dashboards/index.html index 5fab9a24..de91d8d9 100644 --- a/docs/docs/getting-started/grafana-dashboards/index.html +++ b/docs/docs/getting-started/grafana-dashboards/index.html @@ -4,7 +4,7 @@ Grafana Dashboards | Oracle Database Metrics Exporter - + diff --git a/docs/docs/getting-started/kubernetes/index.html b/docs/docs/getting-started/kubernetes/index.html index ad97dd42..88f8df7c 100644 --- a/docs/docs/getting-started/kubernetes/index.html +++ b/docs/docs/getting-started/kubernetes/index.html @@ -4,7 +4,7 @@ Kubernetes | Oracle Database Metrics Exporter - + diff --git a/docs/docs/intro/index.html b/docs/docs/intro/index.html index b735cb08..79d1b907 100644 --- a/docs/docs/intro/index.html +++ b/docs/docs/intro/index.html @@ -4,7 +4,7 @@ OpenTelemetry Metrics for Oracle Database | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/advanced/development/index.html b/docs/docs/next/advanced/development/index.html index 9885d33c..9226b824 100644 --- a/docs/docs/next/advanced/development/index.html +++ b/docs/docs/next/advanced/development/index.html @@ -4,7 +4,7 @@ Development | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/advanced/go-runtime/index.html b/docs/docs/next/advanced/go-runtime/index.html index f3b97d6f..910488d9 100644 --- a/docs/docs/next/advanced/go-runtime/index.html +++ b/docs/docs/next/advanced/go-runtime/index.html @@ -4,7 +4,7 @@ Configuring the Go Runtime | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/advanced/older-versions/index.html b/docs/docs/next/advanced/older-versions/index.html index bdb20fe6..dbf7388d 100644 --- a/docs/docs/next/advanced/older-versions/index.html +++ b/docs/docs/next/advanced/older-versions/index.html @@ -4,7 +4,7 @@ Compatibility with Older Database Versions | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/advanced/txeventq/index.html b/docs/docs/next/advanced/txeventq/index.html index 3f28732f..7f068586 100644 --- a/docs/docs/next/advanced/txeventq/index.html +++ b/docs/docs/next/advanced/txeventq/index.html @@ -4,7 +4,7 @@ Monitoring TxEventQ | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/category/advanced/index.html b/docs/docs/next/category/advanced/index.html index 82b838b7..657d0c19 100644 --- a/docs/docs/next/category/advanced/index.html +++ b/docs/docs/next/category/advanced/index.html @@ -4,7 +4,7 @@ Advanced | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/category/configuration/index.html b/docs/docs/next/category/configuration/index.html index e261c0a8..bc8430f8 100644 --- a/docs/docs/next/category/configuration/index.html +++ b/docs/docs/next/category/configuration/index.html @@ -4,7 +4,7 @@ Configuration | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/category/getting-started/index.html b/docs/docs/next/category/getting-started/index.html index 2d071372..1bd97da0 100644 --- a/docs/docs/next/category/getting-started/index.html +++ b/docs/docs/next/category/getting-started/index.html @@ -4,7 +4,7 @@ Getting Started | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/category/releases/index.html b/docs/docs/next/category/releases/index.html index 3c80eaa1..5840dd71 100644 --- a/docs/docs/next/category/releases/index.html +++ b/docs/docs/next/category/releases/index.html @@ -4,7 +4,7 @@ Releases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/alert-logs/index.html b/docs/docs/next/configuration/alert-logs/index.html index 3f83d332..c3fb50c7 100644 --- a/docs/docs/next/configuration/alert-logs/index.html +++ b/docs/docs/next/configuration/alert-logs/index.html @@ -4,7 +4,7 @@ Alert Logs | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/azure-vault/index.html b/docs/docs/next/configuration/azure-vault/index.html index b959ba06..c3106a34 100644 --- a/docs/docs/next/configuration/azure-vault/index.html +++ b/docs/docs/next/configuration/azure-vault/index.html @@ -4,7 +4,7 @@ Azure Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/config-file/index.html b/docs/docs/next/configuration/config-file/index.html index a926dba6..394d9c48 100644 --- a/docs/docs/next/configuration/config-file/index.html +++ b/docs/docs/next/configuration/config-file/index.html @@ -4,7 +4,7 @@ Exporter Configuration | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/custom-metrics/index.html b/docs/docs/next/configuration/custom-metrics/index.html index 2d119725..94f02238 100644 --- a/docs/docs/next/configuration/custom-metrics/index.html +++ b/docs/docs/next/configuration/custom-metrics/index.html @@ -4,7 +4,7 @@ Custom Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/multiple-databases/index.html b/docs/docs/next/configuration/multiple-databases/index.html index 919c0ae0..bd6fe3f0 100644 --- a/docs/docs/next/configuration/multiple-databases/index.html +++ b/docs/docs/next/configuration/multiple-databases/index.html @@ -4,7 +4,7 @@ Multiple Databases | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/oci-vault/index.html b/docs/docs/next/configuration/oci-vault/index.html index 4d9e2c19..05582025 100644 --- a/docs/docs/next/configuration/oci-vault/index.html +++ b/docs/docs/next/configuration/oci-vault/index.html @@ -4,7 +4,7 @@ OCI Vault | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/configuration/oracle-wallet/index.html b/docs/docs/next/configuration/oracle-wallet/index.html index da1826b8..531d9e71 100644 --- a/docs/docs/next/configuration/oracle-wallet/index.html +++ b/docs/docs/next/configuration/oracle-wallet/index.html @@ -4,7 +4,7 @@ Oracle Wallet (mTLS) | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/getting-started/basics/index.html b/docs/docs/next/getting-started/basics/index.html index 19ddbf85..6462b8b3 100644 --- a/docs/docs/next/getting-started/basics/index.html +++ b/docs/docs/next/getting-started/basics/index.html @@ -4,7 +4,7 @@ Installation | Oracle Database Metrics Exporter - + @@ -19,6 +19,9 @@
  • In Kubernetes
  • As a standalone binary
  • +

    Database Permissions

    +

    For the built-in default metrics, the exporter database database user must have the SELECT_CATALOG_ROLE privilege and/or SELECT permission on the following objects:

    +
    dba_tablespace_usage_metrics
    dba_tablespaces
    gv$system_wait_class
    gv$asm_diskgroup_stat
    gv$datafile
    gv$sysstat
    gv$process
    gv$waitclassmetric
    gv$session
    gv$resource_limit
    gv$parameter
    gv$database
    gv$sqlstats
    gv$sysmetric
    v$diag_alert_ext (for alert logs only)

    Docker, Podman, etc

    You can run the exporter in a local container using a container image from Oracle Container Registry. The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.

    Oracle Database Free

    @@ -70,6 +73,6 @@

    Docker Compos
  • Exporter
  • Prometheus - try a query for "oracle".
  • Grafana - username is "admin" and password is "grafana". An Oracle Database dashboard is provisioned and configured to use data from the exporter.
  • - + \ No newline at end of file diff --git a/docs/docs/next/getting-started/default-metrics/index.html b/docs/docs/next/getting-started/default-metrics/index.html index ad1a0b88..1b807d1d 100644 --- a/docs/docs/next/getting-started/default-metrics/index.html +++ b/docs/docs/next/getting-started/default-metrics/index.html @@ -4,7 +4,7 @@ Default Metrics | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/getting-started/grafana-dashboards/index.html b/docs/docs/next/getting-started/grafana-dashboards/index.html index 6f213e03..d7237cdd 100644 --- a/docs/docs/next/getting-started/grafana-dashboards/index.html +++ b/docs/docs/next/getting-started/grafana-dashboards/index.html @@ -4,7 +4,7 @@ Grafana Dashboards | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/getting-started/kubernetes/index.html b/docs/docs/next/getting-started/kubernetes/index.html index 79dcd014..2ff2f320 100644 --- a/docs/docs/next/getting-started/kubernetes/index.html +++ b/docs/docs/next/getting-started/kubernetes/index.html @@ -4,7 +4,7 @@ Kubernetes | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/intro/index.html b/docs/docs/next/intro/index.html index d956a4bb..30a036fd 100644 --- a/docs/docs/next/intro/index.html +++ b/docs/docs/next/intro/index.html @@ -4,7 +4,7 @@ OpenTelemetry Metrics for Oracle Database | Oracle Database Metrics Exporter - + diff --git a/docs/docs/next/releases/builds/index.html b/docs/docs/next/releases/builds/index.html index 2f764ce6..4a54ffa6 100644 --- a/docs/docs/next/releases/builds/index.html +++ b/docs/docs/next/releases/builds/index.html @@ -4,7 +4,7 @@ Builds | Oracle Database Metrics Exporter - + @@ -42,6 +42,17 @@

    make go-build-darwin-arm64

    How to build metrics exporter container images

    Creates multi-arch container builds for linux/amd64 and linux/arm64:

    -
    make podman-build
    +
    make podman-build
    +

    Build on Oracle Linux

    +

    To build on Oracle Linux, follow these steps.

    +

    1. Install build tools

    +
    dnf install -y git golang make
    +

    2. Clone the exporter git repository

    +
    git clone git@github.com:oracle/oracle-db-appdev-monitoring.git
    +

    3. Build the binary

    +
    cd oracle-db-appdev-monitoring
    make go-build
    +

    You will now have a tar.gz and binary file in the dist/ directory, named according to your target platform.

    +

    For example, for the darwin-arm64 platform:

    +
    dist/
    ├── oracledb_exporter-2.1.0.darwin-arm64
    │ └── oracledb_exporter
    └── oracledb_exporter-2.1.0.darwin-arm64.tar.gz
    \ No newline at end of file diff --git a/docs/docs/next/releases/changelog/index.html b/docs/docs/next/releases/changelog/index.html index 3942632c..21eef3f4 100644 --- a/docs/docs/next/releases/changelog/index.html +++ b/docs/docs/next/releases/changelog/index.html @@ -4,7 +4,7 @@ Changelog | Oracle Database Metrics Exporter - + @@ -15,6 +15,13 @@

    List of upcoming and historic changes to the exporter.

    Next, in-development

    Our current priorities to support metrics for advanced database features and use cases, like Exadata, GoldenGate, and views included in the Oracle Diagnostics Pack.

    +
      +
    • Move oracledb_dbtype metric to the default metrics. You may now disable or override this metric like any other database metric.
    • +
    +

    Thank you to the following people for their suggestions and contributions:

    +

    Version 2.1.0, September 29, 2025

    • Updated project dependencies.
    • diff --git a/docs/docs/next/releases/roadmap/index.html b/docs/docs/next/releases/roadmap/index.html index 5fcefda8..3a9edbb4 100644 --- a/docs/docs/next/releases/roadmap/index.html +++ b/docs/docs/next/releases/roadmap/index.html @@ -4,7 +4,7 @@ Roadmap | Oracle Database Metrics Exporter - + diff --git a/docs/docs/releases/builds/index.html b/docs/docs/releases/builds/index.html index 45eb2a9b..49ac7b57 100644 --- a/docs/docs/releases/builds/index.html +++ b/docs/docs/releases/builds/index.html @@ -4,7 +4,7 @@ Builds | Oracle Database Metrics Exporter - + diff --git a/docs/docs/releases/changelog/index.html b/docs/docs/releases/changelog/index.html index d96c04d6..fc100da9 100644 --- a/docs/docs/releases/changelog/index.html +++ b/docs/docs/releases/changelog/index.html @@ -4,7 +4,7 @@ Changelog | Oracle Database Metrics Exporter - + diff --git a/docs/docs/releases/roadmap/index.html b/docs/docs/releases/roadmap/index.html index e1772172..8648357c 100644 --- a/docs/docs/releases/roadmap/index.html +++ b/docs/docs/releases/roadmap/index.html @@ -4,7 +4,7 @@ Roadmap | Oracle Database Metrics Exporter - + diff --git a/docs/index.html b/docs/index.html index 16776435..0ce95018 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ Oracle Database Metrics Exporter - + diff --git a/docs/markdown-page/index.html b/docs/markdown-page/index.html index a8985a14..4802be3c 100644 --- a/docs/markdown-page/index.html +++ b/docs/markdown-page/index.html @@ -4,7 +4,7 @@ Markdown page example | Oracle Database Metrics Exporter - + diff --git a/site/docs/getting-started/basics.md b/site/docs/getting-started/basics.md index 51c3461b..3227f733 100644 --- a/site/docs/getting-started/basics.md +++ b/site/docs/getting-started/basics.md @@ -12,6 +12,28 @@ In this section you will find information on running the exporter. - In [Kubernetes](./kubernetes.md) - As a [standalone binary](#standalone-binary) +## Database Permissions + +For the built-in default metrics, the exporter database database user must have the `SELECT_CATALOG_ROLE` privilege and/or `SELECT` permission on the following objects: + +``` +dba_tablespace_usage_metrics +dba_tablespaces +gv$system_wait_class +gv$asm_diskgroup_stat +gv$datafile +gv$sysstat +gv$process +gv$waitclassmetric +gv$session +gv$resource_limit +gv$parameter +gv$database +gv$sqlstats +gv$sysmetric +v$diag_alert_ext (for alert logs only) +``` + ## Docker, Podman, etc You can run the exporter in a local container using a container image from [Oracle Container Registry](https://container-registry.oracle.com). The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry. diff --git a/site/docs/releases/changelog.md b/site/docs/releases/changelog.md index 8dde1f55..c699013f 100644 --- a/site/docs/releases/changelog.md +++ b/site/docs/releases/changelog.md @@ -12,9 +12,11 @@ List of upcoming and historic changes to the exporter. Our current priorities to support metrics for advanced database features and use cases, like Exadata, GoldenGate, and views included in the Oracle Diagnostics Pack. - Move `oracledb_dbtype` metric to the default metrics. You may now disable or override this metric like any other database metric. +- Document required database permissions for the exporter Thank you to the following people for their suggestions and contributions: - [@MansuyDavid](https://github.com/MansuyDavid) +- [@jdagemark](https://github.com/jdagemark) ### Version 2.1.0, September 29, 2025 diff --git a/site/versioned_docs/version-2.1.0/getting-started/basics.md b/site/versioned_docs/version-2.1.0/getting-started/basics.md index 51c3461b..3227f733 100644 --- a/site/versioned_docs/version-2.1.0/getting-started/basics.md +++ b/site/versioned_docs/version-2.1.0/getting-started/basics.md @@ -12,6 +12,28 @@ In this section you will find information on running the exporter. - In [Kubernetes](./kubernetes.md) - As a [standalone binary](#standalone-binary) +## Database Permissions + +For the built-in default metrics, the exporter database database user must have the `SELECT_CATALOG_ROLE` privilege and/or `SELECT` permission on the following objects: + +``` +dba_tablespace_usage_metrics +dba_tablespaces +gv$system_wait_class +gv$asm_diskgroup_stat +gv$datafile +gv$sysstat +gv$process +gv$waitclassmetric +gv$session +gv$resource_limit +gv$parameter +gv$database +gv$sqlstats +gv$sysmetric +v$diag_alert_ext (for alert logs only) +``` + ## Docker, Podman, etc You can run the exporter in a local container using a container image from [Oracle Container Registry](https://container-registry.oracle.com). The container image is available in the "observability-exporter" repository in the "Database" category. No authentication or license presentment/acceptance are required to pull this image from the registry.