Skip to main content

PostgreSQL

Overview

PostgreSQL, the powerful and open-source relational database management system, seamlessly integrates with Motadata AIOps to provide comprehensive monitoring and management capabilities. With this integration, organizations gain real-time visibility into the performance and health of their PostgreSQL databases. Monitor critical database metrics such as query execution times, transaction rates, and database size to ensure efficient data processing and retrieval.

Supported Versions

Versions
9.3
9.6
10
11
11.5(windows)
15(linux)

Prerequisites for PostgreSQL Integration with Motadata AIOps:

  • Ensure that the PostgreSQL port (default: 5432) is open for the Motadata AIOps server.

  • Ensure you have the necessary credentials, including the username and password, for Motadata AIOps to connect to the PostgreSQL database.

  • Ensure that JDBC is supported on the server where PostgreSQL is configured.

  • For agentless monitoring, ensure that the user has the required access for remote access to the PostgreSQL server. For agent-based monitoring, this is not required.

  • Ensure that the PostgreSQL service is active and running on the server.

  • Ensure you have the name of the PostgreSQL database that you want to monitor.

  • Update the pg_hba.conf configuration file by specifying the IPv4 or IPv6 address of the server where Motadata AIOps is installed.

  • Update the postgresql.conf configuration file by changing the listen_addresses to '[IP]', where 'IP' is the IP address of the server where Motadata AIOps is installed.

  • Confirm that the PostgreSQL process and service are listed in the process and service monitor settings of Motadata AIOps. While these may be listed by default, verify that the names of the service and process match the specific PostgreSQL version that you intend to monitor.

By following these prerequisites, you can integrate PostgreSQL with Motadata AIOps and ensure smooth functioning of the monitoring process.

List of Supported KPIs

NameDescriptionType
system.tagsThe system tags associated with the PostgreSQL instance.String
postgresql.connection.used.percentThe percentage of used connections in the PostgreSQL instance.Count
postgresql.active.connectionsThe number of active connections in the PostgreSQL instance.Count
postgresql.usersThe number of users connected to the PostgreSQL instance.Count
postgresql.held.locksThe number of locks currently held in the PostgreSQL instance.Count
postgresql.wait.locksThe number of locks waiting in the PostgreSQL instance.Count
postgresql.active.queriesThe number of active queries in the PostgreSQL instance.Count
postgresql.block.hits.rateThe rate of block hits in the PostgreSQL instance.Count
postgresql.block.reads.rateThe rate of block reads in the PostgreSQL instance.Count
postgresql.cache.hit.ratio.percentThe percentage of cache hit ratio in the PostgreSQL instance.Count
postgresql.commits.rateThe rate of commits in the PostgreSQL instance.Count
postgresql.rollbacks.rateThe rate of rollbacks in the PostgreSQL instance.Count
postgresql.inserted.rows.rateThe rate of inserted rows in the PostgreSQL instance.Count
postgresql.updated.rows.rateThe rate of updated rows in the PostgreSQL instance.Count
postgresql.deleted.rows.rateThe rate of deleted rows in the PostgreSQL instance.Count
postgresql.data.directoryThe data directory path of the PostgreSQL instance.String
postgresql.configuration.directoryThe configuration directory path of the PostgreSQL instance.String
postgresql.ident.map.directoryThe ident map directory path of the PostgreSQL instance.String
postgresql.hba.directoryThe directory path of the PostgreSQL HBA configuration files.String
postgresql.external.pid.directoryThe directory path for external PostgreSQL PID files.String
postgresql.sequential.scans.rateThe rate of sequential scans in the PostgreSQL instance.Count
postgresql.sequential.row.reads.rateThe rate of sequential row reads in the PostgreSQL instance.Count
postgresql.indexes.scan.rateThe rate of index scans in the PostgreSQL instance.Count
postgresql.indexes.fetched.row.rateThe rate of fetched rows from indexes in the PostgreSQL instance.Count
postgresql.indexes.row.read.rateThe rate of row reads from indexes in the PostgreSQL instance.Count
postgresql.hot.updated.rows.rateThe rate of hot updated rows in the PostgreSQL instance.Count
postgresql.versionThe version of PostgreSQL being used.String
postgresql.maintenance.work.memory.bytesThe amount of memory used for maintenance work in PostgreSQL.Count
postgresql.shared.buffer.bytesThe size of shared buffers in PostgreSQL.Count
postgresql.effective.cache.size.bytesThe effective cache size in PostgreSQL.Count
postgresql.auto.vacuumThe auto vacuum setting in PostgreSQL.String
postgresql.work.memory.bytesThe amount of memory used for work in PostgreSQL.Count
postgresql.maximum.connectionsThe maximum number of connections allowed in PostgreSQL.Count
postgresql.wal.buffer.bytesThe size of the write-ahead log (WAL) buffers in PostgreSQL.Count
postgresql.proceduresThe number of procedures in the PostgreSQL database.Count
postgresql.triggersThe number of triggers in the PostgreSQL database.Count
postgresql.tablesThe number of tables in the PostgreSQL database.Count
postgresql.index.size.bytesThe size of indexes in the PostgreSQL database.Count
postgresql.data.size.bytesThe size of data in the PostgreSQL database.Count
postgresql.max.clean.buffersThe maximum number of clean buffers in PostgreSQL.Count
postgresql.clean.buffersThe number of clean buffers in PostgreSQL.Count
postgresql.requested.checkpointsThe number of requested checkpoints in PostgreSQL.Count
postgresql.waiting.queriesThe number of queries waiting in PostgreSQL.Count
postgresql.checkpoint.buffersThe number of buffers used for checkpoints in PostgreSQL.Count
postgresql.fetched.rows.rateThe rate of fetched rows in PostgreSQL.Count
postgresql.allocated.buffersThe number of allocated buffers in PostgreSQL.Count
postgresql.backend.fsync.buffersThe number of backend fsync buffers in PostgreSQL.Count
postgresql.ideal.transactionsThe number of ideal transactions in PostgreSQL.Count
postgresql.checkpoint.write.time.msThe time taken for checkpoint writes in PostgreSQL (in ms).Count
postgresql.checkpoint.sync.time.msThe time taken for checkpoint syncs in PostgreSQL (in ms).Count
postgresql.returned.rows.rateThe rate of returned rows in PostgreSQL.Count
postgresql.deadlocksThe number of deadlocks in PostgreSQL.Count
postgresql.backend.buffersNumber of buffers allocated for backends in PostgreSQLCount
postgresql.scheduled.checkpointsTotal number of scheduled checkpoints in PostgreSQLCount
postgresql.temporary.bytesTotal temporary disk space used in PostgreSQL (bytes)Count
postgresql.temporary.filesTotal number of temporary files used in PostgreSQLCount
postgresql.before.xid.wraparound.transactionsTotal number of transactions before XID wraparound in PostgreSQLCount
postgresql.table.spacePostgreSQL table spaceString
postgresql.table.space.size.bytesSize of PostgreSQL table space in bytesCount
postgresql.table.space.ownerOwner of PostgreSQL table spaceString
postgresql.table.space.locationLocation of PostgreSQL table spaceString
correlation.metricsCount of correlation metrics recordedCount
postgres.held.locksCount of locks currently held in PostgreSQLCount
postgres.wait.locksCount of locks for which processes are waiting in PostgreSQLCount
postgres.session.lock.idIdentifier of a lock acquired by a PostgreSQL sessionString
postgres.session.lock.modeMode of the lock acquired by a PostgreSQL sessionCount
postgres.session.lock.grantedStatus indicating if a lock is granted or notString
postgres.session.lock.typeType of lock acquired by a PostgreSQL sessionString
postgres.session.idIdentifier of a PostgreSQL sessionString
postgres.session.usernameUsername associated with a PostgreSQL sessionCount
postgres.session.queryCurrently executing query in a PostgreSQL sessionString
postgres.session.applicationApplication associated with a PostgreSQL session (random value)String
postgres.session.stateState of a PostgreSQL session (random value)String
postgres.session.remote.clientRemote client information for a PostgreSQL session (random value)String
postgres.session.start.timeStart time of a PostgreSQL session (random value)String
correlation.metricsCount of correlation metrics recordedCount
postgres.held.locksCount of locks currently held in PostgreSQLCount
postgres.wait.locksCount of locks for which processes are waiting in PostgreSQLCount
postgres.session.lock.idIdentifier of a lock acquired by a PostgreSQL sessionString
postgres.session.lock.modeMode of the lock acquired by a PostgreSQL sessionCount
postgres.session.lock.grantedStatus indicating if a lock is granted or notString
postgres.session.lock.typeType of lock acquired by a PostgreSQL sessionString
postgres.session.idIdentifier of a PostgreSQL sessionString
postgres.session.usernameUsername associated with a PostgreSQL sessionCount
postgres.session.queryCurrently executing query in a PostgreSQL sessionString
postgres.session.applicationApplication associated with a PostgreSQL session (random value)String
postgres.session.stateState of a PostgreSQL session (random value)String
postgres.session.remote.clientRemote client information for a PostgreSQL session (random value)String
postgres.session.start.timeStart time of a PostgreSQL session (random value)String
postgresql.unused.indexUnused index in PostgreSQLString
postgresql.unused.index.schema.nameSchema name of the unused indexString
postgresql.unused.index.table.nameTable name of the unused indexString
postgresql.unused.index.size.bytesSize of the unused index in bytesCount
postgresql.indexIndex in PostgreSQLString
postgresql.index.scansNumber of scans on the indexCount
postgresql.index.schema.nameSchema name of the indexString
postgresql.index.table.nameTable name of the indexString
postgresql.index.read.tuplesNumber of tuples read from the indexCount
postgresql.index.fetched.tuplesNumber of tuples fetched from the indexCount
postgresql.index.size.bytesSize of the index in bytesCount
postgresql.index.rowsNumber of rows in the indexCount