This is a translation of the original English documentation page. Help us make it better.

Zabbix agent 2

Zabbix agent 2 supports all item keys supported for Zabbix agent on Unix and Windows. This page provides details on the additional item keys, which you can use with Zabbix agent 2 only, grouped by the plugin they belong to.

See also: Plugins supplied out-of-the-box

Parameters without angle brackets are mandatory. Parameters marked with angle brackets < > are optional.

Item key details

Parameters without angle brackets are mandatory. Parameters marked with angle brackets < > are optional.

ceph.df.details[connString,<user>,<apikey>]


The cluster’s data usage and distribution among pools.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
ceph.osd.stats[connString,<user>,<apikey>]


Aggregated and per OSD statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
ceph.osd.discovery[connString,<user>,<apikey>]


The list of discovered OSDs. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
ceph.osd.dump[connString,<user>,<apikey>]


The usage thresholds and statuses of OSDs.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
ceph.ping[connString,<user>,<apikey>]


Tests whether a connection to Ceph can be established.
Return value: 0 - connection is broken (if there is any error presented including AUTH and configuration issues); 1 - connection is successful.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
ceph.pool.discovery[connString,<user>,<apikey>]


The list of discovered pools. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
ceph.status[connString,<user>,<apikey>]


The overall cluster's status.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the Ceph login credentials.
docker.container_info[<ID>,<info>]


Low-level information about a container.
Return value: The output of the ContainerInspect API call serialized as JSON.

Parameters:

  • ID - the ID or name of the container;
  • info - the amount of information returned. Supported values: short (default) or full.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.container_stats[<ID>]


The container resource usage statistics.
Return value: The output of the ContainerStats API call and CPU usage percentage serialized as JSON.

Parameter:

  • ID - the ID or name of the container.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.containers


The list of containers.
Return value: The output of the ContainerList API call serialized as JSON.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.containers.discovery[<options>]


Returns the list of containers. Used for low-level discovery.
Return value: JSON object.

Parameter:

  • options - specify whether all or only running containers should be discovered. Supported values: true - return all containers; false - return only running containers (default).

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.data.usage


Information about the current data usage.
Return value: The output of the SystemDataUsage API call serialized as JSON.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.images


Returns the list of images.
Return value: The output of the ImageList API call serialized as JSON.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.images.discovery


Returns the list of images. Used for low-level discovery.
Return value: JSON object.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.info


The system information.
Return value: The output of the SystemInfo API call serialized as JSON.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

docker.ping


Test if the Docker daemon is alive or not.
Return value: 1 - the connection is alive; 0 - the connection is broken.

The Agent 2 user ('zabbix') must be added to the 'docker' group for sufficient privileges. Otherwise the check will fail.

memcached.ping[connString,<user>,<password>]


Test if a connection is alive or not.
Return value: 1 - the connection is alive; 0 - the connection is broken (if there is any error presented including AUTH and configuration issues).

Parameters:

  • connString - the URI or session name;
  • user, password - the Memcached login credentials.
memcached.stats[connString,<user>,<password>,<type>]


Gets the output of the STATS command.
Return value: JSON - the output is serialized as JSON.

Parameters:

  • connString - the URI or session name;
  • user, password - the Memcached login credentials;
  • type - stat type to be returned: items, sizes, slabs or settings (empty by default, returns general statistics).
mongodb.collection.stats[connString,<user>,<password>,<database>,collection]


Returns a variety of storage statistics for a given collection.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials;
  • database - the database name (default: admin);
  • collection - the collection name.
mongodb.collections.discovery[connString,<user>,<password>]


Returns a list of discovered collections. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.collections.usage[connString,<user>,<password>]


Returns the usage statistics for collections.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.connpool.stats[connString,<user>,<password>]


Returns information regarding the open outgoing connections from the current database instance to other members of the sharded cluster or replica set.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials;
  • database - the database name (default: admin);
  • collection - the collection name.
mongodb.db.stats[connString,<user>,<password>,<database>]


Returns the statistics reflecting a given database system state.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials;
  • database - the database name (default: admin).
mongodb.db.discovery[connString,<user>,<password>]


Returns a list of discovered databases. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.jumbo_chunks.count[connString,<user>,<password>]


Returns the count of jumbo chunks.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.oplog.stats[connString,<user>,<password>]


Returns the status of the replica set, using data polled from the oplog.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.ping[connString,<user>,<password>]


Test if a connection is alive or not.
Return value: 1 - the connection is alive; 0 - the connection is broken (if there is any error presented including AUTH and configuration issues).

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.rs.config[connString,<user>,<password>]


Returns the current configuration of the replica set.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.rs.status[connString,<user>,<password>]


Returns the replica set status from the point of view of the member where the method is run.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.server.status[connString,<user>,<password>]


Returns the database state.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.sh.discovery[connString,<user>,<password>]


Returns the list of discovered shards present in the cluster.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mongodb.version[connString,<user>,<password>]


Returns the database server version.
Return value: String.

Parameters:

  • connString - the URI or session name;
  • user, password - the MongoDB login credentials.
mqtt.get[<broker url>,topic,<username>,<password>]


Subscribes to a specific topic or topics (with wildcards) of the provided broker and waits for publications.
Return value: Depending on topic content. If wildcards are used, returns topic content as JSON.

Parameters:

  • broker url - the MQTT broker URL (if empty, localhost with port 1883 is used);
  • topic - the MQTT topic (mandatory). Wildcards (+,#) are supported;
  • user, password - the authentication credentials (if required).

Comments:

  • The item must be configured as an active check ('Zabbix agent (active)' item type);
  • TLS encryption certificates can be used by saving them into a default location (e.g. /etc/ssl/certs/ directory for Ubuntu). For TLS, use the tls:// scheme.
mysql.custom.query[connString,<user>,<password>,queryName,<args...>]


Returns the result of a custom query.
Return value: JSON object.

Parameters:

  • connString - URI or session name;
  • user, password - MySQL login credentials;
  • queryName - name of a custom query, must match SQL file name without an extension.
  • args - one or several comma-separated arguments to pass to a query.

Supported since Zabbix 6.4.6.

mysql.db.discovery[connString,<user>,<password>]


Returns the list of MySQL databases. Used for low-level discovery.
Return value: The result of the "show databases" SQL query in LLD JSON format.

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials.
mysql.db.size[connString,<user>,<password>,<database name>]


The database size in bytes.
Return value: Result of the "select coalesce(sum(data_length + index_length),0) as size from information_schema.tables where table_schema=?" SQL query for specific database in bytes.

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials;
  • database name - the database name.
mysql.get_status_variables[connString,<user>,<password>]


Values of the global status variables.
Return value: Result of the "show global status" SQL query in JSON format.

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials.
mysql.ping[connString,<user>,<password>]


Test if a connection is alive or not.
Return value: 1 - the connection is alive; 0 - the connection is broken (if there is any error presented including AUTH and configuration issues).

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials.
mysql.replication.discovery[connString,<user>,<password>]


Returns the list of MySQL replications. Used for low-level discovery.
Return value: The result of the "show slave status" SQL query in LLD JSON format.

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials.
mysql.replication.get_slave_status[connString,<user>,<password>,<master host>]


The replication status.
Return value: Result of the "show slave status" SQL query in JSON format.

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials;
  • master host - the replication master host name.
mysql.version[connString,<user>,<password>]


The MySQL version.
Return value: String (with the MySQL instance version).

Parameters:

  • connString - the URI or session name;
  • user, password - the MySQL login credentials.
oracle.diskgroups.stats[connString,<user>,<password>,<service>,<diskgroup>]


Returns the Automatic Storage Management (ASM) disk groups statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • diskgroup - the name of the ASM disk group to query.
oracle.diskgroups.discovery[connString,<user>,<password>,<service>]


Returns the list of ASM disk groups. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.archive.info[connString,<user>,<password>,<service>,<destination>]


The archive logs statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • destination - the name of the destination to query.
oracle.cdb.info[connString,<user>,<password>,<service>,<database>]


The Container Databases (CDBs) information.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • destination - the name of the database to query.
oracle.custom.query[connString,<user>,<password>,<service>,queryName,<args...>]


The result of a custom query.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • queryName — the name of a custom query (must be equal to the name of an SQL file without an extension);
  • args... — one or several comma-separated arguments to pass to the query.
oracle.datafiles.stats[connString,<user>,<password>,<service>]


Returns the data files statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • diskgroup - the name of the ASM disk group to query.
oracle.db.discovery[connString,<user>,<password>,<service>]


Returns the list of databases. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.fra.stats[connString,<user>,<password>,<service>]


Returns the Fast Recovery Area (FRA) statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.instance.info[connString,<user>,<password>,<service>]


The instance statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.pdb.info[connString,<user>,<password>,<service>,<database>]


The Pluggable Databases (PDBs) information.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • destination - the name of the database to query.
oracle.pdb.discovery[connString,<user>,<password>,<service>]


Returns the list of PDBs. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.pga.stats[connString,<user>,<password>,<service>]


Returns the Program Global Area (PGA) statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.ping[connString,<user>,<password>,<service>]


Test whether a connection to Oracle can be established.
Return value: 1 - the connection is successful; 0 - the connection is broken (if there is any error presented including AUTH and configuration issues).

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.proc.stats[connString,<user>,<password>,<service>]


Returns the processes statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.redolog.info[connString,<user>,<password>,<service>]


The log file information from the control file.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.sga.stats[connString,<user>,<password>,<service>]


Returns the System Global Area (SGA) statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.sessions.stats[connString,<user>,<password>,<service>,<lockMaxTime>]


Returns the sessions statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • lockMaxTime - the maximum session lock duration in seconds to count the session as a prolongedly locked. Default: 600 seconds.
oracle.sys.metrics[connString,<user>,<password>,<service>,<duration>]


Returns a set of system metric values.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • duration - the capturing interval (in seconds) of system metric values. Possible values: 60 — long duration (default), 15 — short duration.
oracle.sys.params[connString,<user>,<password>,<service>]


Returns a set of system parameter values.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.ts.stats[connString,<user>,<password>,<service>,<tablespace>,<type>]


Returns the tablespaces statistics.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • tablespace - name of the tablespace to query. Default (if left empty and type is set):
    - "TEMP" (if type is set to "TEMPORARY");
    - "USERS" (if type is set to "PERMANENT").
  • type - the type of the tablespace to query. Default (if tablespace is set): "PERMANENT".
oracle.ts.discovery[connString,<user>,<password>,<service>]


Returns a list of tablespaces. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
oracle.user.info[connString,<user>,<password>,<service>,<username>]


Returns Oracle user information.
Return value: JSON object.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name;
  • username - the username for which the information is needed. Lowercase usernames are not supported. Default: current user.
oracle.version[connString,<user>,<password>,<service>] {oracle.version}


Returns the database server version.
Return value: String.

Parameters:

  • connString - the URI or session name;
  • user - the Oracle username, supports appending one of the login options as sysdba, as sysoper, or as sysasm in the format user as sysdba (a login option is case-insensitive, must not contain a trailing space);
  • password - the Oracle password;
  • service - the Oracle service name.
pgsql.autovacuum.count[uri,<username>,<password>,<database name>]


The number of autovacuum workers.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.archive[uri,<username>,<password>,<database name>]


The information about archived files.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.archive.count_archived_files - the number of WAL files that have been successfully archived;
  • pgsql.archive.failed_trying_to_archive - the number of failed attempts for archiving WAL files;
  • pgsql.archive.count_files_to_archive - the number of files to archive;
  • pgsql.archive.size_files_to_archive - the size of files to archive.
pgsql.bgwriter[uri,<username>,<password>,<database name>]


The combined number of checkpoints for the database cluster, broken down by checkpoint type.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.bgwriter.buffers_alloc - the number of buffers allocated;
  • pgsql.bgwriter.buffers_backend - the number of buffers written directly by a backend;
  • pgsql.bgwriter.maxwritten_clean - the number of times the background writer stopped a cleaning scan, because it had written too many buffers;
  • pgsql.bgwriter.buffers_backend_fsync -the number of times a backend had to execute its own fsync call instead of the background writer;
  • pgsql.bgwriter.buffers_clean - the number of buffers written by the background writer;
  • pgsql.bgwriter.buffers_checkpoint - the number of buffers written during checkpoints;
  • pgsql.bgwriter.checkpoints_timed - the number of scheduled checkpoints that have been performed;
  • pgsql.bgwriter.checkpoints_req - the number of requested checkpoints that have been performed;
  • pgsql.bgwriter.checkpoint_write_time - the total amount of time spent in the portion of checkpoint processing where files are written to disk, in milliseconds;
  • pgsql.bgwriter.sync_time - the total amount of time spent in the portion of checkpoint processing where files are synchronized with disk.
pgsql.cache.hit[uri,<username>,<password>,<database name>]


The PostgreSQL buffer cache hit rate.
Return value: Float.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.connections[uri,<username>,<password>,<database name>]


Returns connections by type.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.connections.active - the backend is executing a query;
  • pgsql.connections.fastpath_function_call - the backend is executing a fast-path function;
  • pgsql.connections.idle - the backend is waiting for a new client command;
  • pgsql.connections.idle_in_transaction - the backend is in a transaction, but is not currently executing a query;
  • pgsql.connections.prepared - the number of prepared connections;
  • pgsql.connections.total - the total number of connections;
  • pgsql.connections.total_pct - percentage of total connections in respect to ‘max_connections’ setting of the PostgreSQL server;
  • pgsql.connections.waiting - number of connections in a query;
  • pgsql.connections.idle_in_transaction_aborted - the backend is in a transaction, but is not currently executing a query and one of the statements in the transaction caused an error.
pgsql.custom.query[uri,<username>,<password>,queryName[,args...]]


Returns the result of a custom query.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • queryName - the name of a custom query, must match the SQL file name without an extension;
  • args(optional) - the arguments to pass to the query.
pgsql.db.age[uri,<username>,<password>,<database name>]


The age of the oldest FrozenXID of the database. Used for low-level discovery.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.db.bloating_tables[uri,<username>,<password>,<database name>]


The number of bloating tables per database. Used for low-level discovery.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.db.discovery[uri,<username>,<password>,<database name>]


The list of PostgreSQL databases. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.db.size[uri,<username>,<password>,<database name>]


The database size in bytes.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.dbstat[uri,<username>,<password>,<database name>]


Collects the statistics per database. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.dbstat.numbackends["{#DBNAME}"] - the number of backends currently connected to this database;
  • pgsql.dbstat.sum.blk_read_time["{#DBNAME}"] - the time spent reading data file blocks by backends in this database, in milliseconds;
  • pgsql.dbstat.sum.blk_write_time["{#DBNAME}"] - the time spent writing data file blocks by backends in this database, in milliseconds;
  • pgsql.dbstat.sum.checksum_failures["{#DBNAME}"] - the number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled (PostgreSQL version 12 only);
  • pgsql.dbstat.blks_read.rate["{#DBNAME}"] - the number of disk blocks read in this database;
  • pgsql.dbstat.deadlocks.rate["{#DBNAME}"] - the number of deadlocks detected in this database;
  • pgsql.dbstat.blks_hit.rate["{#DBNAME}"] - the number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL Pro buffer cache, not the operating system's file system cache);
  • pgsql.dbstat.xact_rollback.rate["{#DBNAME}"] - the number of transactions in this database that have been rolled back;
  • pgsql.dbstat.xact_commit.rate["{#DBNAME}"] - the number of transactions in this database that have been committed;
  • pgsql.dbstat.tup_updated.rate["{#DBNAME}"] - the number of rows updated by queries in this database;
  • pgsql.dbstat.tup_returned.rate["{#DBNAME}"] - the number of rows returned by queries in this database;
  • pgsql.dbstat.tup_inserted.rate["{#DBNAME}"] - the number of rows inserted by queries in this database;
  • pgsql.dbstat.tup_fetched.rate["{#DBNAME}"] - the number of rows fetched by queries in this database;
  • pgsql.dbstat.tup_deleted.rate["{#DBNAME}"] - the number of rows deleted by queries in this database;
  • pgsql.dbstat.conflicts.rate["{#DBNAME}"] - the number of queries canceled due to conflicts with recovery in this database (the conflicts occur only on standby servers);
  • pgsql.dbstat.temp_files.rate["{#DBNAME}"] - the number of temporary files created by queries in this database. All temporary files are counted, regardless of the log_temp_files settings and reasons for which the temporary file was created (e.g., sorting or hashing);
  • pgsql.dbstat.temp_bytes.rate["{#DBNAME}"] - the total amount of data written to temporary files by queries in this database. Includes data from all temporary files, regardless of the log_temp_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).
pgsql.dbstat.sum[uri,<username>,<password>,<database name>]


The summarized data for all databases in a cluster.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.dbstat.numbackends - the number of backends currently connected to this database;
  • pgsql.dbstat.sum.blk_read_time - time spent reading data file blocks by backends in this database, in milliseconds;
  • pgsql.dbstat.sum.blk_write_time - time spent writing data file blocks by backends in this database, in milliseconds;
  • pgsql.dbstat.sum.checksum_failures - the number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled (PostgreSQL version 12 only);
  • pgsql.dbstat.sum.xact_commit - the number of transactions in this database that have been committed;
  • pgsql.dbstat.sum.conflicts - database statistics about query cancels due to conflict with recovery on standby servers;
  • pgsql.dbstat.sum.deadlocks - the number of deadlocks detected in this database;
  • pgsql.dbstat.sum.blks_read - the number of disk blocks read in this database;
  • pgsql.dbstat.sum.blks_hit - the number of times disk blocks were found already in the buffer cache, so a read was not necessary (only hits in the PostgreSQL Pro buffer cache are included);
  • pgsql.dbstat.sum.temp_bytes - the total amount of data written to temporary files by queries in this database. Includes data from all temporary files, regardless of the log_temp_files settings and reasons for which the temporary file was created (e.g., sorting or hashing);
  • pgsql.dbstat.sum.temp_files - the number of temporary files created by queries in this database. All temporary files are counted, regardless of the log_temp_files settings and reasons for which the temporary file was created (e.g., sorting or hashing);
  • pgsql.dbstat.sum.xact_rollback - the number of rolled-back transactions in this database;
  • pgsql.dbstat.sum.tup_deleted - the number of rows deleted by queries in this database;
  • pgsql.dbstat.sum.tup_fetched - the number of rows fetched by queries in this database;
  • pgsql.dbstat.sum.tup_inserted - the number of rows inserted by queries in this database;
  • pgsql.dbstat.sum.tup_returned - the number of rows returned by queries in this database;
  • pgsql.dbstat.sum.tup_updated - the number of rows updated by queries in this database.
pgsql.locks[uri,<username>,<password>,<database name>]


The information about granted locks per database. Used for low-level discovery.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.locks.shareupdateexclusive["{#DBNAME}"] - the number of share update exclusive locks;
  • pgsql.locks.accessexclusive["{#DBNAME}"] - the number of access exclusive locks;
  • pgsql.locks.accessshare["{#DBNAME}"] - the number of access share locks;
  • pgsql.locks.exclusive["{#DBNAME}"] - the number of exclusive locks;
  • pgsql.locks.rowexclusive["{#DBNAME}"] - the number of row exclusive locks;
  • pgsql.locks.rowshare["{#DBNAME}"] - the number of row share locks;
  • pgsql.locks.share["{#DBNAME}"] - the number of shared locks;
  • pgsql.locks.sharerowexclusive["{#DBNAME}"] - the number of share row exclusive locks.
pgsql.oldest.xid[uri,<username>,<password>,<database name>]


The age of the oldest XID.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.ping[uri,<username>,<password>,<database name>]


Tests whether a connection is alive or not.
Return value: 1 - the connection is alive; 0 - the connection is broken (if there is any error presented including AUTH and configuration issues).

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.queries[uri,<username>,<password>,<database name>,<time period>]


Queries metrics by execution time.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name;
  • timePeriod - the execution time limit for the count of slow queries (must be a positive integer).

The returned data are processed by dependent items:

  • pgsql.queries.mro.time_max["{#DBNAME}"] - the max maintenance query time;
  • pgsql.queries.query.time_max["{#DBNAME}"] - the max query time;
  • pgsql.queries.tx.time_max["{#DBNAME}"] - the max transaction query time;
  • pgsql.queries.mro.slow_count["{#DBNAME}"] - the slow maintenance query count;
  • pgsql.queries.query.slow_count["{#DBNAME}"] - the slow query count;
  • pgsql.queries.tx.slow_count["{#DBNAME}"] - the slow transaction query count;
  • pgsql.queries.mro.time_sum["{#DBNAME}"] - the sum maintenance query time;
  • pgsql.queries.query.time_sum["{#DBNAME}"] - the sum query time;
  • pgsql.queries.tx.time_sum["{#DBNAME}"] - the sum transaction query time.
pgsql.replication.count[uri,<username>,<password>]


The number of standby servers.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.replication.process[uri,<username>,<password>]


The flush lag, write lag and replay lag per each sender process.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.replication.process.discovery[uri,<username>,<password>]


The replication process name discovery.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.replication.recovery_role[uri,<username>,<password>]


The recovery status.
Return value: 0 - master mode; 1 - recovery is still in progress (standby mode).

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.replication.status[uri,<username>,<password>]


The status of replication.
Return value: 0 - streaming is down; 1 - streaming is up; 2 - master mode.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.replication_lag.b[uri,<username>,<password>]


The replication lag in bytes.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.replication_lag.sec[uri,<username>,<password>]


The replication lag in seconds.
Return value: Integer.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials.
pgsql.uptime[uri,<username>,<password>,<database name>]


The PostgreSQL uptime in milliseconds.
Return value: Float.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.version[uri,<username>,<password>,<database name>]


Returns PostgreSQL version.
Return value: String.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.
pgsql.wal.stat[uri,<username>,<password>,<database name>]


The WAL statistics.
Return value: JSON object.

Parameters:

  • uri - the URI or session name;
  • username, password - the PostgreSQL credentials;
  • database name - the database name.

The returned data are processed by dependent items:

  • pgsql.wal.count — the number of WAL files;
  • pgsql.wal.write - the WAL lsn used (in bytes).
redis.config[connString,<password>,<pattern>]


Gets the configuration parameters of a Redis instance that match the pattern.
Return value: JSON - if a glob-style pattern was used; single value - if a pattern did not contain any wildcard character.

Parameters:

  • connString - the URI or session name;
  • password - the Redis password;
  • pattern - a glob-style pattern (* by default).
redis.info[connString,<password>,<section>]


Gets the output of the INFO command.
Return value: JSON - the output is serialized as JSON.

Parameters:

  • connString - the URI or session name;
  • password - the Redis password;
  • section - the section of information (default by default).
redis.ping[connString,<password>]


Test if a connection is alive or not.
Return value: 1 - the connection is alive; 0 - the connection is broken (if there is any error presented including AUTH and configuration issues).

Parameters:

  • connString - the URI or session name;
  • password - the Redis password.
redis.slowlog.count[connString,<password>]


The number of slow log entries since Redis was started.
Return value: Integer.

Parameters:

  • connString - the URI or session name;
  • password - the Redis password.
smart.attribute.discovery


Returns a list of S.M.A.R.T. device attributes.
Return value: JSON object.

Comments:

  • The following macros and their values are returned: {#NAME}, {#DISKTYPE}, {#ID}, {#ATTRNAME}, {#THRESH};
  • HDD, SSD and NVME drive types are supported. Drives can be alone or combined in a RAID. {#NAME} will have an add-on in case of RAID, e.g: {"{#NAME}": "/dev/sda cciss,2"}.
smart.disk.discovery


Returns a list of S.M.A.R.T. devices.
Return value: JSON object.

Comments:

  • The following macros and their values are returned: {#NAME}, {#DISKTYPE}, {#MODEL}, {#SN}, {#PATH}, {#ATTRIBUTES}, {#RAIDTYPE};
  • HDD, SSD and NVME drive types are supported. If a drive does not belong to a RAID, the {#RAIDTYPE} will be empty. {#NAME} will have an add-on in case of RAID, e.g: {"{#NAME}": "/dev/sda cciss,2"}.
smart.disk.get[<path>,<raid type>]


Returns all available properties of S.M.A.R.T. devices.
Return value: JSON object.

Parameters:

  • path - the disk path, the {#PATH} macro may be used as a value;
  • raid_type - the RAID type, the {#RAID} macro may be used as a value

Comments:

  • HDD, SSD and NVME drive types are supported. Drives can be alone or combined in a RAID;
  • The data includes smartctl version and call arguments, and additional fields:
    disk_name - holds the name with the required add-ons for RAID discovery, e.g: {"disk_name": "/dev/sda cciss,2"}
    disk_type - holds the disk type HDD, SSD, or NVME, e.g: {"disk_type": "ssd"};
  • If no parameters are specified, the item will return information about all disks.
systemd.unit.get[unit name,<interface>]


Returns all properties of a systemd unit.
Return value: JSON object.

Parameters:

  • unit name - the unit name (you may want to use the {#UNIT.NAME} macro in item prototype to discover the name);
  • interface - the unit interface type, possible values: Unit (default), Service, Socket, Device, Mount, Automount, Swap, Target, Path.

Comments:

  • This item is supported on Linux platform only;
  • LoadState, ActiveState and UnitFileState for Unit interface are returned as text and integer: "ActiveState":{"state":1,"text":"active"}.
systemd.unit.info[unit name,<property>,<interface>]


A systemd unit information.
Return value: String.

Parameters:

  • unit name - the unit name (you may want to use the {#UNIT.NAME} macro in item prototype to discover the name);
  • property - unit property (e.g. ActiveState (default), LoadState, Description);
  • interface - the unit interface type (e.g. Unit (default), Socket, Service).

Comments:

  • This item is supported on Linux platform only;
  • This item allows to retrieve a specific property from specific type of interface as described in dbus API.

Examples:

systemd.unit.info["{#UNIT.NAME}"] #collect active state (active, reloading, inactive, failed, activating, deactivating) info on discovered systemd units
       systemd.unit.info["{#UNIT.NAME}",LoadState] #collect load state info on discovered systemd units
       systemd.unit.info[mysqld.service,Id] #retrieve the service technical name (mysqld.service)
       systemd.unit.info[mysqld.service,Description] #retrieve the service description (MySQL Server)
       systemd.unit.info[mysqld.service,ActiveEnterTimestamp] #retrieve the last time the service entered the active state (1562565036283903)
       systemd.unit.info[dbus.socket,NConnections,Socket] #collect the number of connections from this socket unit
systemd.unit.discovery[<type>]


List of systemd units and their details. Used for low-level discovery.
Return value: JSON object.

Parameter:

  • type - possible values: all, automount, device, mount, path, service (default), socket, swap, target.

This item is supported on Linux platform only.

web.certificate.get[hostname,<port>,<address>]


Validates the certificates and returns certificate details.
Return value: JSON object.

Parameter:

  • hostname - can be either IP or DNS.
    May contain the URL scheme (https only), path (it will be ignored), and port.
    If a port is provided in both the first and the second parameters, their values must match.
    If address (the 3rd parameter) is specified, the hostname is only used for SNI and hostname verification;
  • port - the port number (default is 443 for HTTPS);
  • address - can be either IP or DNS. If specified, it will be used for connection, and hostname (the 1st parameter) will be used for SNI, and host verification. In case, the 1st parameter is an IP and the 3rd parameter is DNS, the 1st parameter will be used for connection, and the 3rd parameter will be used for SNI and host verification.

Comments:

  • This item turns unsupported if the resource specified in host does not exist or is unavailable or if TLS handshake fails with any error except an invalid certificate;
  • Currently, AIA (Authority Information Access) X.509 extension, CRLs and OCSP (including OCSP stapling), Certificate Transparency, and custom CA trust store are not supported.