Categorygithub.com/fcgravalos/instaclustr_exporter
modulepackage
0.1.1
Repository: https://github.com/fcgravalos/instaclustr_exporter.git
Documentation: pkg.go.dev

# README

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

MetricMeaningLabels
cassandra_cluster_infoA mapping between the clusterId and clusterNameclusterId, clusterName
cassandra_cluster_runningWhether or not the cassandra cluster is runningclusterId
cassandra_cluster_nodes_countNumber of nodes the cluster is composedclusterId
cassandra_cluster_nodes_running_countNumber of nodes running in the clusterclusterId
cassandra_node_infoA mapping between nodeId with its IPs, racks and clusterclusterId, clusterName, nodeId, nodePublicIp, nodePrivateIp, rack
cassandra_node_runningWhether or not a single node is runningnodeId
cassandra_node_cpu_utilization_percentageCurrent CPU utilisation as a percentage of total available. Maximum value is 100%, regardless of the number of cores on the nodenodeId
cassandra_node_disk_utilization_percentageTotal disk space utilisation, by Cassandra, as a percentage of total availablenodeId
cassandra_node_client_request_read_latencyAverage 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_latencyAverage 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_percentile95th 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_percentile95th 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_secondReads per second by CassandranodeId
cassandra_node_writes_per_secondWrites per second by CassandranodeId
cassandra_node_compactionsNumber of pending compactionsnodeId
cassandra_node_repairs_activeNumber of active repair tasksnodeId
cassandra_node_repairs_pendingNumber of pending repair tasksnodeId

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

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

NewExporter creates the InstaClustr Exporter.