Top Banner
Monitoring solution DalmatinerDB and CockroachDB
17

DalmatinerDB and cockroachDB monitoring plataform

Jan 23, 2018

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DalmatinerDB and cockroachDB monitoring plataform

Monitoring solution

DalmatinerDB andCockroachDB

Page 2: DalmatinerDB and cockroachDB monitoring plataform

DalmatinerDB Solution Overview

• Multiple Metrics formats available

• Redundancy

• Solution totally scalable

• High availability

• The fastest endpoint API in the market

• SQL friendly

• Deduplication/compression ZFS

• SmartOS/Solaris Zones based

• Zabbix,checkMK,sensu,prometheusintegration

Page 3: DalmatinerDB and cockroachDB monitoring plataform

Why not?

• Prometheus – federation still too complicated for metrics HA (no cluster)

• OpenTSDB – depends on HDFS (nameservice sucks)

• InfluxDB– change product architecture every week

• KairosDB – depends on Cassandra which is not Time Series Database and have some limitations.

Page 4: DalmatinerDB and cockroachDB monitoring plataform

SmartOS

• In-memory operating system and OpenSolarisbased

• Solaris zones (lxc-like)

• Pkgsrc package management from NetBSD

• Easy to upgrade

• ZFS (deduplication,compression,no data loss/corruption)

Page 5: DalmatinerDB and cockroachDB monitoring plataform

Creating Zones

Page 6: DalmatinerDB and cockroachDB monitoring plataform

The platform is mainly composed of three services:

• DalmatinerDB – Time Series Database based on Riak Core

• PostgresSQL/CockrouachDB - metric metadata

• DalmatinerFE – Service which provides API endpoint to userquery metrics.

• Dalmatiner-Proxy – Layer responsible for collecting data sent from servers by different formats (InfluxDB, Graphite, OpenTSDB, Prometheus, Metrics 2.0 e etc)

• Grafana (optional) – Dashboard for customized graphics

Components

Page 7: DalmatinerDB and cockroachDB monitoring plataform

Architecture

Page 8: DalmatinerDB and cockroachDB monitoring plataform

DalmatinerDB Concepts

• Each node in the cluster has a copy of this ring. (Cassandra like)

• Each virtual node (or vnode) is a process responsible for a given partition in the ring. A node will host any number of vnodes, depending on the size of the ring and the number of nodes in the cluster.

• Buckets are nothing but namespaces with configuration properties.

• Changes to the ring need to be propagated throughout the cluster. This is what the gossip protocol is for.

Page 9: DalmatinerDB and cockroachDB monitoring plataform

DalmatinerDB-proxy

Graphite

Listeners.dp_grafite.bucket = grafite

Listeners.dp_grafite.port = 2003

InfluxDB

Listeners.dp_influx.bucket = influx

Listeners.dp_influx.bucket = http

Listeners.dp_influx.port = 8086

Prometheus

Listeners.dp_prom_writer.bucket = promwriter

Listeners.dp_prom_writer.port = 1234

Listeners.dp_prom_writer.protocol = http

Metrics 2.0

Listeners.dp_metrics2. bucket = grafite

Listeners.dp_metrics2.port = 2004

Listeners.dp_metrics2.protocol = tcp

Page 10: DalmatinerDB and cockroachDB monitoring plataform

PostgreSQL/cockroachDB

• PostgreSQL for metadata indexes

• DalmatinerFE e Dalmatiner-proxy services checksmetadata

• CockroachDB support ( hopefully, issue already oppenedon github)

• HA DRBD (if you need to use PostgreSQL for any case)

Page 11: DalmatinerDB and cockroachDB monitoring plataform

CockRoachDB

• CockroachDB is a distributed, scale-out SQL database

• Single go binary

• Async replication

• PostgreSQL like

• horizontal scalability

• Raft consensus algorithm (no gossip)

• Basics setup (3 nodes recommended)

• straightforward configuration

Page 12: DalmatinerDB and cockroachDB monitoring plataform

CockRoachDB UI

Page 13: DalmatinerDB and cockroachDB monitoring plataform

Sending Data

• Collectd/statsd

• Sensu Handler available for every protocols (grafite, influxDB etc)

• Using Graphios to import perfdata files

• Netcat/curl for testing purposes

Page 14: DalmatinerDB and cockroachDB monitoring plataform

The platform is mainly composed of three services:

• Zpool create –f –o ashift=12 data dispositivos

• Zfs create /data/dalmatinerdb –o compression=lz4 –o atime=off –o logbias-throughput

Extra - ZFS Tunning

Page 15: DalmatinerDB and cockroachDB monitoring plataform

Ddb-adm cluster cli

Page 16: DalmatinerDB and cockroachDB monitoring plataform

Getting metrics – SQL friendly

Page 17: DalmatinerDB and cockroachDB monitoring plataform

Thank you!

Questions?More information:

Linkedin

https://www.linkedin.com/in/leandro-totino-pereira-06726227

Facebook:

https://www.facebook.com/leandro.totinopereira