All Projects → datastax → Metric Collector For Apache Cassandra

datastax / Metric Collector For Apache Cassandra

Licence: apache-2.0
Drop-in metrics collection and dashboards for Apache Cassandra

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Metric Collector For Apache Cassandra

K8ssandra
K8ssandra is an open-source distribution of Apache Cassandra for Kubernetes including API services and operational tooling.
Stars: ✭ 155 (+150%)
Mutual labels:  cassandra, prometheus, grafana
Prometheus
Kubernetes Setup for Prometheus and Grafana
Stars: ✭ 824 (+1229.03%)
Mutual labels:  prometheus, grafana
Spring Petclinic Microservices
Distributed version of Spring Petclinic built with Spring Cloud
Stars: ✭ 814 (+1212.9%)
Mutual labels:  prometheus, grafana
Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-53.23%)
Mutual labels:  prometheus, grafana
Swagger Stats
API Observability. Trace API calls and Monitor API performance, health and usage statistics in Node.js Microservices.
Stars: ✭ 559 (+801.61%)
Mutual labels:  prometheus, grafana
Kube Eagle
A prometheus exporter created to provide a better overview of your resource allocation and utilization in a Kubernetes cluster.
Stars: ✭ 599 (+866.13%)
Mutual labels:  prometheus, grafana
Hana sql exporter
SAP Hana SQL Exporter for Prometheus
Stars: ✭ 18 (-70.97%)
Mutual labels:  prometheus, grafana
Wizzy
Manage & automate Grafana with easy wizzy
Stars: ✭ 461 (+643.55%)
Mutual labels:  prometheus, grafana
Iota Prom Exporter
Iota Exporter for Prometheus Metrics
Stars: ✭ 33 (-46.77%)
Mutual labels:  prometheus, grafana
Reinvent2018 Dev303 Code
Code accompanying AWS re:Invent workshop DEV 303 showcasing how to get deep application insights using Amazon EKS with AWS X-Ray and Amazon CloudWatch.
Stars: ✭ 55 (-11.29%)
Mutual labels:  prometheus, grafana
Promcord
📊 Analyze your entire discord guild in grafana using prometheus. Message, User, Game and Voice statistics...
Stars: ✭ 39 (-37.1%)
Mutual labels:  prometheus, grafana
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (-12.9%)
Mutual labels:  prometheus, grafana
Prometheus Kubernetes
Monitoring Kubernetes clusters on AWS, GCP and Azure using Prometheus Operator and Grafana
Stars: ✭ 526 (+748.39%)
Mutual labels:  prometheus, grafana
Grafterm
Metrics dashboards on terminal (a grafana inspired terminal version)
Stars: ✭ 613 (+888.71%)
Mutual labels:  prometheus, grafana
Docker monitoring logging alerting
Docker host and container monitoring, logging and alerting out of the box using cAdvisor, Prometheus, Grafana for monitoring, Elasticsearch, Kibana and Logstash for logging and elastalert and Alertmanager for alerting.
Stars: ✭ 479 (+672.58%)
Mutual labels:  prometheus, grafana
Prometheusalert
Prometheus Alert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus,Zabbix,日志系统Graylog和数据可视化系统Grafana发出的预警消息,支持钉钉,微信,华为云短信,腾讯云短信,腾讯云电话,阿里云短信,阿里云电话等
Stars: ✭ 822 (+1225.81%)
Mutual labels:  prometheus, grafana
Grafana Prometheus Node Js Example
Step-by-step tutorial on creating beautiful dashboards for your Node JS application
Stars: ✭ 47 (-24.19%)
Mutual labels:  prometheus, grafana
Victoriametrics
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
Stars: ✭ 5,558 (+8864.52%)
Mutual labels:  prometheus, grafana
Cluster Monitoring
Cluster monitoring stack for clusters based on Prometheus Operator
Stars: ✭ 453 (+630.65%)
Mutual labels:  prometheus, grafana
Catalyst
Typescript NodeJS Microservices Boilerplate with Generator CLI - Moleculer, GraphQL, REST, OAuth2, Jaeger, Grafana, Prometheus, Ory Hydra, Ory Keto w/ Access Control middleware, Moleculer-DB GraphQL mixin, Pug, Redis, sibling client repo (login, persistance layer, react-native-web, ios, android)
Stars: ✭ 30 (-51.61%)
Mutual labels:  prometheus, grafana

Metric Collector for Apache Cassandra® (MCAC)

Metric collection and Dashboards for Apache Cassandra (2.2, 3.0, 3.11, 4.0) clusters.

Testing Release

Introduction

Metric Collector for Apache Cassandra (MCAC) aggregates OS and C* metrics along with diagnostic events to facilitate problem resolution and remediation. It supports existing Apache Cassandra clusters and is a self contained drop in agent.

  • Built on collectd, a popular, well-supported, open source metric collection agent. With over 90 plugins, you can tailor the solution to collect metrics most important to you and ship them to wherever you need.

  • Easily added to Cassandra nodes as a java agent, Apache Cassandra sends metrics and other structured events to collectd over a local unix socket.

  • Fast and efficient. It can track over 100k unique metric series per node (i.e. hundreds of tables).

  • Comes with extensive dashboards out of the box, built on prometheus and grafana.
    The Cassandra dashboards let you aggregate latency accurately across all nodes, dc or rack, down to an individual table.


Design Principles

  • Little/No performance impact to C*
  • Simple to install and self managed
  • Collect all OS and C* metrics by default
  • Keep historical metrics on node for analysis
  • Provide useful integration with prometheus and grafana

Try the demo

docker-compose up is all you need from the dashboards/demo directory to get a cluster with a light workload and dashboards connected to kick the tires.

Installation of Agent

  1. Download the latest release of the agent onto your Cassandra nodes. The archive is self contained so no need do anything other than tar -zxf latest.tar.gz into any location you prefer like /usr/local or /opt.

  2. Add the following line into the cassandra-env.sh file:

    MCAC_ROOT=/path/to/directory
    JVM_OPTS="$JVM_OPTS -javaagent:${MCAC_ROOT}/lib/datastax-mcac-agent.jar"
    
  3. Bounce the node.

On restart you should see 'Starting DataStax Metric Collector for Apache Cassandra' in the Cassandra system.log and the prometheus exporter will be available on port 9103

The config/metric-collector.yaml file requires no changes by default but please read and add any customizations like filtering of metrics you don't need.

The config/collectd.conf.tmpl file can also be edited to change default collectd plugins enabled. But it's recommended you use the include path pattern to configure extra plugins.

Installing the Prometheus Dashboards

  1. Download the latest release of the dashboards and unzip.

  2. Install Docker compose

  3. Add the list of C* nodes with running agents to tg_mcac.json

  4. docker-compose up will start everything and begin collection of metrics

  5. The Grafana web ui runs on port 3000 and the prometheus web ui runs on port 9090

If you have an existing prometheus setup you will need the dashboards and relabel config from the included prometheus.yaml file.

Cassandra version supported:

The supported versions of Apache Cassandra: 2.2+ (2.2.X, 3.0.X, 3.11.X) Apache Cassandra 4.0 breaks compatibility. The support for this version is being worked on as we will definitely support it as well.

Kubernetes Support

Check out the dashboards/k8s-build directory for a guide on using this project along with Kubernetes.

FAQ

  1. Where is the list of all Cassandra metrics?

    The full list is located on Apache Cassandra docs site. The names are automatically changed from CamelCase to snake_case.

    In the case of prometheus the metrics are further renamed based on relabel config which live in the prometheus.yaml file.

  2. How can I filter out metrics I don't care about?

    Please read the metric-collector.yaml section on how to add filtering rules.

  3. What is the datalog? and what is it for?

    The datalog is a space limited JSON based structured log of metrics and events which are optionally kept on each node.
    It can be useful to diagnose issues that come up with your cluster. If you wish to use the logs yourself there's a script included to parse these logs which can be analyzed or piped into jq.

    Alternatively, DataStax offers free support for issues as part of our keep calm initiative and these logs can help our support engineers help diagnose your problem.

  4. Will the MCAC agent work on a Mac?

    No. It can be made to but it's currently only supported on Linux based OS.

License

Copyright DataStax, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].