Monitoring Informix DB
You can comprehensively monitor IBM® Informix® DB with Instana. After you install the Instana host agent, you need to install the Instana OTel sensor SDK database. Then, you must run the Instana OTel SDK for databases on the host where your Informix DB is running.
You can view the metrics that are related to Informix DB in the Instana UI after you configure the Informix DB sensor as outlined in the Configuring Informix DB section.
Support information
To make sure that the Informix DB sensor is compatible with your current setup, check the following support information sections:
Supported operating systems
The supported operating systems of the Informix DB sensor are consistent with host agents requirements, which can be checked in the Supported operating systems section of each host agent, such as Supported operating systems for Unix.
Supported versions and support policy
The following table shows the latest supported version and support policy:
| Technology | Support policy | Latest technology version | Latest supported version |
|---|---|---|---|
| Informix DB | On demand | 15.0 | 14.0 |
For more information about the support policy, see Support strategy for sensors.
Installing OTel SDK for Informix DB
To install OTel SDK for Informix DB, complete the following steps:
-
Download the
.tarfile from Releases. -
Extract the
.tarfile by using the following command:tar vxf otel-dc-rdb-X.Y.Z.tarYou can now see that the folder
otel-dc-rdb-X.Y.Zis created. -
Go to
otel-dc-rdb-X.Y.Zdirectory:cd otel-dc-rdb-X.Y.Z -
Go to the
configdirectory:cd config -
Modify the
config-informix.yamlfile with the details of the Informix DB. For more information, see GitHub.The default configuration file isconfig/config.yaml. You can also use the environment variableDC_CONFIGto specify the configuration file as follows:export DC_CONFIG=config/config-informix.yaml -
Go back to the
otel-dc-rdb-X.Y.Zdirectory, and then run the following command from the shell to run the Instana Otel SDK executable file for Informix DB:./bin/otel-dc-rdb
Configuring Informix DB
configuration.yaml file, and then start the agent.
# OpenTelemetry Collector
com.instana.plugin.opentelemetry:
enabled: true
grpc:
enabled: true # takes precedence over legacy settings above, defaults to true if "grpc:" is present
http:
enabled: true # allows to enable http endpoints, defaults to true if "http:" is present
Local monitoring
To configure local monitoring, complete the following steps:
-
Go to the
configfolder by using the following command:cd config -
Modify the
config-informix.yamlfile with the details of the Informix DB. For more information, see GitHub.See the following sample configuration file:db.system: informix #Keep as it is db.driver: com.informix.jdbc.IfxDriver #Keep as it is instances: - db.address: xxx.xxx.xxx.xxx #IP Address db.port: 9088 #Port on which DB is running db.serverName: ol_informix1410 db.username: Informix_User_Name ### Either use password with Base 64 encoding or use vault configuration. db.password: BASE64_Encoded_Password #db.password: # vault_secret.path: #path to the vault secret. Example: /kv/instana/informix # vault_secret.key: #Provide the VaultSecretKey name db.name: InformixDB db.path: /opt/IBM/Informix_Software_Bundle #OTel properties: otel.service.name: InformixDB #Keep as it is #Data collector properties: #Either use `poll.interval` or `custom.poll.interval` #poll.interval: 30 #All three category value is Mandatory if leveraging Custom Poll Rate custom.poll.interval: high: 300 #polling_value_in_sec medium: 45 #polling_value_in_sec low: 20 #polling_value_in_sec callback.interval: 20 #Keep as it is otel.backend.url: http://127.0.0.1:4317 #Point to the running agent #Custom Input custom.input: # Optional #Time Frame for which you want to get the expensive query. Default value 900 Sec db.sql.elapsed.timeframe: 900 # Values should be in Seconds db.sequential.scan.count: 0 db.sql.trace.enabled: false #Default is false. Make it true only if `SqlTrace` is enabled for the DB. ### Uncomment the below section in case you are using Vault to retrieve the password. # vault: # connection_url: #Vault Address URL # token: #Vault Token # #Use the pem file path in case you are using TLS/SSL connection for vault. # #path_to_pem_file: auth/web-cert.pem # kv_version: 2 #It is the vault version. Please crosscheck your configuration.
We provide the following vault configuration details to the db.password field :
- vault_secret.path: Specify the path of the vault secret in this field.
- vault_secret.key: Specify the vault based authentication key in this field.
Also, the "vault" key in the configuration must be enabled while using the Vault authentication mechanism. The following fields must also be enabled:
- connection_url: The URL of the Vault address
- token: The value of the Vault token
- path_to_pem_file: The path to the pem file in case the TLS/SSL connection is used for vault.
- kv_version: The version of the Vault
To learn more about configuring Vault, refer the official Vault documentation.
Remote monitoring
To run the SDK in a different system from that of the agent, add the following configuration to the backend.cfg file in /instana-agent/etc/instana/com.instana.agent.main.config.Agent.cfg.
#If your DC is in a different host from your Instana Agent
http.listen=*
In remote monitoring, the Instana OTel SDK runs on a different host than that of the Informix DB.
db.system: informix #Keep as it is
db.driver: com.informix.jdbc.IfxDriver #Keep as it is
instances:
- db.address: xxx.xxx.xxx.xxx #IP Address
db.port: 9088 #Port on which DB is running
db.serverName: ol_informix1410
db.username: Informix_User_Name
### Either use password with Base 64 encoding or use vault configuration.
db.password: BASE64_Encoded_Password
#db.password:
# vault_secret.path: #path to the vault secret. Example: /kv/instana/informix
# vault_secret.key: #Provide the VaultSecretKey name
db.name: InformixDB
db.path: /opt/IBM/Informix_Software_Bundle
#OTel properties:
otel.service.name: InformixDB #Keep as it is
#Data collector properties:
#Either use `poll.interval` or `custom.poll.interval`
#poll.interval: 30
#All three category value is Mandatory if leveraging Custom Poll Rate
custom.poll.interval:
high: 300 #polling_value_in_sec
medium: 45 #polling_value_in_sec
low: 20 #polling_value_in_sec
callback.interval: 20 #Keep as it is
otel.backend.url: http://<ip_of_host_having_instana_otel_sdk>:4317 #Point to the running agent
#Custom Input
custom.input: # Optional
#Time Frame for which you want to get the expensive query. Default value 900 Sec
db.sql.elapsed.timeframe: 900 # Values should be in Seconds
db.sequential.scan.count: 0
db.sql.trace.enabled: false #Default is false. Make it true only if `SqlTrace` is enabled for the DB.
### Uncomment the below section in case you are using Vault to retrieve the password.
# vault:
# connection_url: #Vault Address URL
# token: #Vault Token
# #Use the pem file path in case you are using TLS/SSL connection for vault.
# #path_to_pem_file: auth/web-cert.pem
# kv_version: 2 #It is the vault version. Please crosscheck your configuration.
db.system: informix #Keep as it is
db.driver: com.informix.jdbc.IfxDriver #Keep as it is
instances:
- db.address: xxx.xxx.xxx.xxx #IP Address
db.port: 9088 #Port on which DB is running
db.serverName: ol_informix1410
db.username: Informix_User_Name
### Either use password with Base 64 encoding or use vault configuration.
db.password: BASE64_Encoded_Password
#db.password:
# vault_secret.path: #path to the vault secret. Example: /kv/instana/informix
# vault_secret.key: #Provide the VaultSecretKey name
db.name: InformixDB
db.path: /opt/IBM/Informix_Software_Bundle
#OTel properties:
otel.service.name: InformixDB #Keep as it is
#Data collector properties:
#Either use `poll.interval` or `custom.poll.interval`
#poll.interval: 30
#All three category value is Mandatory if leveraging Custom Poll Rate
custom.poll.interval:
high: 300 #polling_value_in_sec
medium: 45 #polling_value_in_sec
low: 20 #polling_value_in_sec
callback.interval: 20 #Keep as it is
otel.backend.url: http://127.0.0.1:4317 #Point to the running agent
#Custom Input
custom.input: # Optional
#Time Frame for which you want to get the expensive query. Default value 900 Sec
db.sql.elapsed.timeframe: 900 # Values should be in Seconds
db.sequential.scan.count: 0
- db.address: xxx.xxx.xxx.xxx #IP Address
db.port: 9088 #Port on which DB is running
db.serverName: ol_informix1410
db.username: Informix_User_Name
### Either use password with Base 64 encoding or use vault configuration.
db.password: BASE64_Encoded_Password
#db.password:
# vault_secret.path: #path to the vault secret. Example: /kv/instana/informix
# vault_secret.key: #Provide the VaultSecretKey name
db.name: InformixDB
db.path: /opt/IBM/Informix_Software_Bundle
#OTel properties:
otel.service.name: InformixDB #Keep as it is
#Data collector properties:
#Either use `poll.interval` or `custom.poll.interval`
#poll.interval: 30
#All three category value is Mandatory if leveraging Custom Poll Rate
custom.poll.interval:
high: 300 #polling_value_in_sec
medium: 45 #polling_value_in_sec
low: 20 #polling_value_in_sec
callback.interval: 20 #Keep as it is
otel.backend.url: http://127.0.0.1:4317 #Point to the running agent
#Custom Input
custom.input: # Optional
#Time Frame for which you want to get the expensive query. Default value 900 Sec
db.sql.elapsed.timeframe: 900 # Values should be in Seconds
db.sql.trace.enabled: false #Default is false. Make it true only if `SqlTrace` is enabled for the DB.
### Uncomment the below section in case you are using Vault to retrieve the password.
# vault:
# connection_url: #Vault Address URL
# token: #Vault Token
# #Use the pem file path in case you are using TLS/SSL connection for vault.
# #path_to_pem_file: auth/web-cert.pem
# kv_version: 2 #It is the vault version. Please crosscheck your configuration.
Viewing metrics
To view the metrics, complete the following steps:
-
From the navigation menu in the Instana UI, select Infrastructure.
-
Click a specific monitored host.
You can see a host dashboard with all the collected metrics and monitored processes.
The following metrics are available for each Informix DB sensor:
| Metric | Description | Local or Remote support | Poll interval category |
|---|---|---|---|
| Instance Count | Number of Informix DB instances | Remote (SQL) | Short |
| Active Instance Count | Number of Informix DB instances that are active | Remote (SQL) | Short |
| Session Count | Number of Informix DB sessions | Local (CMD) | Short |
| Active Session Count | Number of Informix DB sessions that are active | Local (CMD) | Short |
| Transaction Count | Number of Informix DB transactions | Local (CMD) | Medium |
| Transaction Latency Count | Transaction latency | Local (CMD) | Medium |
| SQL Count | Number of queries that are executed | Local (CMD) | Medium |
| SQL Per Second | Number of queries that are executed per second | Local (CMD) | Medium |
| IO read Count | Number of IO reads | Local (CMD) | Short |
| IO write Count | Number of IO writes | Local (CMD) | Short |
| SQL Elapsed Time | Most time-consuming queries with their execution time | Remote (SQL) | Medium |
| Disk Writes | Number of disk writes | Local (CMD) | Short |
| Disk reads | Number of disk reads | Local (CMD) | Short |
| Scans | Number of sequential scans for every table | Remote (SQL) | Short |
| Table Scans | Number of Informix DB sessions with the sequential scans | Remote (SQL) | Short |
| Overflow - Lock | Number of times a thread attempted to acquire a lock when locks were not available | Local (CMD) | Short |
| Overflow - User | Number of times a user thread attempted to acquire a lock when locks were not available | Local (CMD) | Short |
| Overflow - Transaction | Number of times a thread attempted to allocate an entry in the transaction table when the entries in the shared-memory table were not available | Local (CMD) | Short |
| Memory Utilization | Amount of memory used | Local (CMD) | Short |
| Buffer Cache Ratio (Read) | Percentage of page reads satisfied by a cached page image | Local (CMD) | Short |
| Buffer Cache Ratio (Write) | Percentage of page writes satisfied by a cached page image | Local (CMD) | Short |
| LRU Writes | Number of Least Recently Used (LRU) writes performed | Local (CMD) | Short |
| Database Lock Waits | Number of threads waiting for a lock | Local (CMD) | Short |
| Table Space | Information about available and used storage of the top 20 tables in the database | Remote (SQL) | Long |
- Local support: Metrics are collected directly from the system by using the
onstatcommand. - Remote support: Metrics are collected through
SQL queries, which can be executed either locally or remotely. Thus, these metrics are supported in both local and remote monitoring. - Poll interval categories: Each metric is assigned to a polling interval category: Short, Medium, or Long. The polling interval determines the rate or time that is used for metric extraction.
- Default polling intervals are set to:
- Short - 20 seconds
- Medium - 45 seconds
- Long - 300 seconds.