Skip to content

fcgravalos/instaclustr_exporter

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

InstaClustr Exporter Build Status CircleCI

Collects Cassandra metrics from InstaClustr Monitoring API and exports them to prometheus format.

To run it:

make
./instaclustr_exporter [flags]

Exported Metrics

Metric Meaning Labels
cassandra_cluster_info A mapping between the clusterId and clusterName clusterId, clusterName
cassandra_cluster_running Whether or not the cassandra cluster is running clusterId
cassandra_cluster_nodes_count Number of nodes the cluster is composed clusterId
cassandra_cluster_nodes_running_count Number of nodes running in the cluster clusterId
cassandra_node_info A mapping between nodeId with its IPs, racks and cluster clusterId, clusterName, nodeId, nodePublicIp, nodePrivateIp, rack
cassandra_node_running Whether or not a single node is running nodeId
cassandra_node_cpu_utilization_percentage Current CPU utilisation as a percentage of total available. Maximum value is 100%, regardless of the number of cores on the node nodeId
cassandra_node_disk_utilization_percentage Total disk space utilisation, by Cassandra, as a percentage of total available nodeId
cassandra_node_client_request_read_latency Average latency (us/1) per client read request (i.e. the period from when a node receives a client request, gathers the records and response to the client) nodeId
cassandra_node_client_request_write_latency Average latency (us/1) per client write request (i.e. the period from when a node receives a client request, gathers the records and response to the client) nodeId
cassandra_node_client_request_read_percentile 95th percentile (us) distribution per client read request (i.e. the period from when a node receives a client request, gathers the records and response to the client) nodeId
cassandra_node_client_request_write_percentile 95th percentile (us) distribution per client write request (i.e. the period from when a node receives a client request, gathers the records and response to the client) nodeId
cassandra_node_client_request_read_percentile99 99th percentile (us) distribution per client read request (i.e. the period from when a node receives a client request, gathers the records and response to the client) nodeId
cassandra_node_client_request_write_percentile99 99th percentile (us) distribution per client write request (i.e. the period from when a node receives a client request, gathers the records and response to the client) nodeId
cassandra_node_reads_per_second Reads per second by Cassandra nodeId
cassandra_node_writes_per_second Writes per second by Cassandra nodeId
cassandra_node_compactions Number of pending compactions nodeId
cassandra_node_repairs_active Number of active repair tasks nodeId
cassandra_node_repairs_pending Number of pending repair tasks nodeId

Flags

./instaclustr_exporter --help
  • instaclustr.monitoring-apikey: Key for the provisioning API
  • instaclustr.provisioning-apikey: Key for the provisioning API
  • instaclustr.user: User for InstaClustr API
  • log.format value: Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true" (default "logger:stderr")
  • log.level value: Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]
  • version: Print version information.
  • web.listen-address: Address to listen on for web interface and telemetry. (default ":9279")
  • web.liveness-probe-url: URL for health-checks (default "/health")
  • web.read-timeout: Read/Write Timeout (default 10s)
  • web.shutdown-url: URL for health-checks (default "/shutdown")
  • web.telemetry-path: Path under which to expose metrics. (default "/metrics")
  • web.write-timeout: Read/Write Timeout (default 10s)

Environment variables

  • INSTACLUSTR_USER: Takes precedence over instaclustr.user
  • PROVISIONING_API_KEY: Takes precedence over instaclustr.provisioning-apikey
  • MONITORING_API_KEY: Takes precedence over instaclustr.monitoring-apikey

Using Docker

You can deploy this exporter using the fcgravalos/instaclustr-exporter Docker image.

For example:

docker pull fcgravalos/instaclustr-exporter

docker run -d -p 9279:9279 fcgravalos/instaclustr-exporter \
 -instaclustr.user=user \
 -instaclustr.provisioning-apikey=myprovisioningkey \
 -instaclustr.monitoring-apikey=mymonitoringkey

About

Metrics Exporter from InstaClustr API to Prometheus

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published