Network Performance Monitoring is now generally available! Network Monitoring is now available!

Vertica

Agent Check Agent Check

Supported OS: Linux Mac OS Windows

Overview

This check monitors Vertica through the Datadog Agent.

Setup

Installation

The Vertica check is included in the Datadog Agent package. No additional installation is needed on your server.

Configuration

Edit the vertica.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory to start collecting your vertica performance data. See the example vertica.d/conf.yaml for all available configuration options.

Prepare Vertica

Create a database user for the Datadog Agent. From vsql, connect to the database as a superuser. Then run the CREATE USER statement.

CREATE USER datadog IDENTIFIED BY '<PASSWORD>';

The user used to connect to the database must be granted the SYSMONITOR role in order to access the monitoring system tables.

GRANT SYSMONITOR TO datadog WITH ADMIN OPTION;

Additionally, as the metrics for current license usage use the values from the most recent audit, it is recommended to schedule it to occur as often as possible. For more information, see this.

Restart the Agent to start sending Vertica metrics to Datadog.

Log Collection

Available for Agent >6.0

  1. Collecting logs is disabled by default in the Datadog Agent, enable it in your datadog.yaml file:
logs_enabled: true
  1. Add this configuration block to your vertica.d/conf.yaml file to start collecting your Vertica logs:
logs:
  - source: vertica
    type: file
    path: /<CATALOG_PATH>/<DATABASE_NAME>/<NODE_NAME>_catalog/vertica.log
    service: vertica
  1. Restart the Agent.

Validation

Run the Agent’s status subcommand and look for vertica under the Checks section.

Data Collected

Metrics

vertica.connection.active
(gauge)
The current number of connections to a node.
Shown as connection
vertica.connection.total
(count)
The total number of connections to a node.
Shown as connection
vertica.delete_vectors
(gauge)
The total number of delete vectors.
Shown as item
vertica.disk.used
(gauge)
The total disk space (compressed) used in bytes.
Shown as byte
vertica.disk.used.ros
(gauge)
The total ROS disk space (compressed) used in bytes.
Shown as byte
vertica.disk.used.wos
(gauge)
The total WOS disk space (compressed) used in bytes.
Shown as byte
vertica.epoch.ahm
(gauge)
The current epoch number.
Shown as time
vertica.epoch.current
(gauge)
The AHM epoch number.
Shown as time
vertica.epoch.last_good
(gauge)
The smallest (min) of all the checkpoint epochs on the cluster.
Shown as time
vertica.file.max
(gauge)
The maximum number of files that can be open at one time.
Shown as file
vertica.file.open
(gauge)
The number of open files.
Shown as file
vertica.ksafety.current
(gauge)
The number of node failures the cluster can tolerate before it shuts down automatically.
Shown as node
vertica.ksafety.intended
(gauge)
The designed or intended K-safety level.
Shown as node
vertica.license.expiration
(gauge)
The time until license expiration.
Shown as second
vertica.license.latest_audit
(gauge)
The time elapsed since the latest license audit was triggered.
Shown as second
vertica.license.size
(gauge)
The total size of the license in bytes.
Shown as byte
vertica.license.usable
(gauge)
The total usable size of the license in bytes.
Shown as byte
vertica.license.used
(gauge)
The total used size of the license in bytes.
Shown as byte
vertica.license.utilized
(gauge)
The utilization of the license as a percentage.
Shown as percent
vertica.memory.swap.total
(gauge)
The total amount of swap memory in bytes.
Shown as byte
vertica.memory.swap.usable
(gauge)
The total usable amount of swap memory in bytes.
Shown as byte
vertica.memory.swap.used
(gauge)
The total used amount of swap memory in bytes.
Shown as byte
vertica.memory.swap.utilized
(gauge)
The utilization of swap memory as a percentage.
Shown as percent
vertica.memory.total
(gauge)
The total amount of physical RAM in bytes.
Shown as byte
vertica.memory.usable
(gauge)
The total usable amount of physical RAM in bytes.
Shown as byte
vertica.memory.used
(gauge)
The total used amount of physical RAM in bytes.
Shown as byte
vertica.memory.utilized
(gauge)
The utilization of physical RAM as a percentage.
Shown as percent
vertica.node.allowed
(gauge)
The number of nodes permitted for use by the license.
Shown as node
vertica.node.available
(gauge)
The number of available nodes remaining based on the license limit.
Shown as node
vertica.node.delete_vectors
(gauge)
The number of delete vectors in nodes.
Shown as item
vertica.node.disk.used
(gauge)
The total disk space used by nodes in bytes.
Shown as byte
vertica.node.disk.used.ros
(gauge)
The ROS disk space used by nodes in bytes.
Shown as byte
vertica.node.disk.used.wos
(gauge)
The WOS disk space used by nodes in bytes.
Shown as byte
vertica.node.down
(gauge)
The number of nodes that are currently down.
Shown as node
vertica.node.resource_requests
(gauge)
The cumulative number of requests for threads, file handles, and memory (in kilobytes).
Shown as resource
vertica.node.row.ros
(gauge)
The number of ROS rows in nodes.
Shown as row
vertica.node.row.total
(gauge)
The total number of rows in nodes.
Shown as row
vertica.node.row.wos
(gauge)
The number of WOS rows in nodes.
Shown as row
vertica.node.total
(gauge)
The number of nodes currently in use.
Shown as node
vertica.projection.delete_vectors
(gauge)
The number of delete vectors in projections.
Shown as item
vertica.projection.disk.used
(gauge)
The total disk space used by projections in bytes.
Shown as byte
vertica.projection.disk.used.ros
(gauge)
The ROS disk space used by projections in bytes.
Shown as byte
vertica.projection.disk.used.wos
(gauge)
The WOS disk space used by projections in bytes.
Shown as byte
vertica.projection.ros.containers
(gauge)
The number of ROS containers in projections.
Shown as resource
vertica.projection.row.ros
(gauge)
The number of ROS rows in projections.
Shown as row
vertica.projection.row.total
(gauge)
The total number of rows in projections.
Shown as row
vertica.projection.row.wos
(gauge)
The number of WOS rows in projections.
Shown as row
vertica.projection.total
(gauge)
The total number of projections.
Shown as table
vertica.projection.unsafe
(gauge)
The number of projections that are not up to date.
Shown as table
vertica.projection.unsafe_percent
(gauge)
The percentage of projections that are not up to date.
Shown as percent
vertica.projection.unsegmented
(gauge)
The number of projections that are not segmented.
Shown as table
vertica.projection.unsegmented_percent
(gauge)
The percentage of projections that are not segmented.
Shown as percent
vertica.processor.core
(gauge)
The number of processor cores in the system.
Shown as core
vertica.processor.cpu
(gauge)
The number of system processors.
Shown as cpu
vertica.query.active
(gauge)
The current number of queries running on a node.
Shown as query
vertica.query.total
(count)
The total number of queries executed on a node.
Shown as query
vertica.resource_pool.memory.borrowed
(gauge)
The amount of memory borrowed from the GENERAL pool by requests running against pools.
Shown as byte
vertica.resource_pool.memory.max
(gauge)
The value of the MAXMEMORYSIZE parameter as defined for pools.
Shown as byte
vertica.resource_pool.memory.used
(gauge)
The amount of memory acquired by requests running against pools.
Shown as byte
vertica.resource_pool.query.running
(gauge)
The number of queries currently executing in pools.
Shown as query
vertica.row.ros
(gauge)
The total number of ROS rows.
Shown as row
vertica.row.total
(gauge)
The total number of rows.
Shown as row
vertica.row.wos
(gauge)
The total number of WOS rows.
Shown as row
vertica.socket.open
(gauge)
The number of open sockets.
Shown as file
vertica.storage.latency
(gauge)
The latency of a storage location in seeks per second.
Shown as read
vertica.storage.size
(gauge)
The total size of a storage location in bytes.
Shown as byte
vertica.storage.speed
(gauge)
The time (in seconds) it takes to read 1 mebibyte from a storage location.
Shown as second
vertica.storage.throughput
(gauge)
The throughput of a storage location in mebibytes per second.
Shown as mebibyte
vertica.storage.usable
(gauge)
The total usable size of a storage location in bytes.
Shown as byte
vertica.storage.used
(gauge)
The total used size of a storage location in bytes.
Shown as byte
vertica.storage.utilized
(gauge)
The utilization of a storage location as a percentage.
Shown as percent
vertica.table.disk.used
(gauge)
The total disk space used by tables in bytes.
Shown as byte
vertica.table.disk.used.ros
(gauge)
The ROS disk space used by tables in bytes.
Shown as byte
vertica.table.disk.used.wos
(gauge)
The WOS disk space used by tables in bytes.
Shown as byte
vertica.table.row.ros
(gauge)
The number of ROS rows in tables.
Shown as row
vertica.table.row.total
(gauge)
The total number of rows in tables.
Shown as row
vertica.table.row.wos
(gauge)
The number of WOS rows in tables.
Shown as row
vertica.thread.active
(gauge)
The number of active threads.
Shown as thread
vertica.thread.max
(gauge)
The maximum number of threads that can coexist.
Shown as thread

Service Checks

  • vertica.can_connect returns OK if the Agent is able to connect to the monitored Vertica database, or CRITICAL otherwise.
  • vertica.node_state returns OK for each node that is UP, WARNING for nodes that are on a possible path to UP, or CRITICAL otherwise.

Events

Vertica does not include any events.

Troubleshooting

Need help? Contact Datadog support.


Mistake in the docs? Feel free to contribute!