Clymene

module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2022 License: Apache-2.0

README

Clymene

CII Best Practices CodeQL License GitHub release (latest by date) Go Reference
Go Docker Kubernetes ElasticSearch

clymene_logo

The Clymene is a time series data collection platform for distributed systems inspired by Prometheus and Jaeger. Time series data from various environments can be collected and stored in different types of databases. It can be configured in a variety of architectures. Also, Clymene Agent's time series data collection uses fewer resources than Prometheus' remote_write. Various time series data analysis functions will be added.

Architecture

Use only agent

Agent can store time series data in a variety of DBs and support Composite Writers that can be stored in multiple DBs at once.

architecture_v1.4.0
Including kafka and ingester

Ingester consumes time series data loaded on kafka, can store time series data in various DBs, and supports Composite Writers that can be stored in multiple DBs at once.

architecture_v1.4.0_ingester
Use gateway

Gateway collects time series data through gRPC communication, stores time series data in various DBs, and supports Composite Writers that can be stored in multiple DBs at once.

architecture_v1.4.0_gateway

components

Clymene Agent(Getting Started)

dockerhub : bourbonkk/clymene-agent:v1.x.x
redhatQuay: quay.io/clymene/clymene-agent:v1.x.x
Docker Pulls Docker Repository on Quay
The Clymene-agent is service that collects time series data(does not use disks)

  1. Service Discovery
  2. scrape time series data
  3. Time-series data transfer to gateway(gRPC) (Optional)
  4. Time-series data transfer to kafka (Optional)
  5. Time-series data insert to Database(supported DB) (Optional)
Clymene Ingester(Optional) (Getting Started)

dockerhub : bourbonkk/clymene-ingester:v1.x.x
redhatQuay: quay.io/clymene/clymene-ingester:v1.x.x
Docker Pulls Docker Repository on Quay
The Clymene ingester is an optional service responsible for insert time series data loaded on kafka into the database.

  1. Kafka message consume
  2. Time-series data insert to Database(supported DB) (Optional)
Clymene Gateway(Optional) (Getting Started)

dockerhub : bourbonkk/clymene-gateway:v1.x.x
redhatQuay: quay.io/clymene/clymene-gateway:v1.x.x
Docker Pulls Docker Repository on Quay
The Clymene Gateway is an optional service that can receive metric data from the another component through gRPC communication.

  1. gRPC Service
  2. Time-series data insert to Database(supported DB) (Optional)

How to work it on k8s

For example, see the clymene_using_gateway.yaml

How to work it on docker-compose

For example, see the docker-compose-clymene_using_gateway.yml

Roadmap

  1. Various DB support(ElasticSearch, Prometheus, Cortex, OpenTSDB, influxdb, TDengine, kdb)
  2. AI/ML platform for clymene(https://github.com/Clymene-project/clymene-analyzer)

Get in Touch

Have questions, suggestions, bug reports? Reach the project community via these channels:

Further reading

To learn more about Clymene, consult the following talks and articles.

Recent talks and articles

License

Apache License 2.0, see LICENSE.

Code Style

1. https://github.com/golang/go/wiki/CodeReviewComments
2. https://peter.bourgon.org/go-in-production/#formatting-and-style

Directories

Path Synopsis
cmd
agent/app/discovery/install
Package install has the side-effect of registering all builtin service discovery config types.
Package install has the side-effect of registering all builtin service discovery config types.
pkg
es
metrics
Package metrics provides command line flags for configuring the metrics backend.
Package metrics provides command line flags for configuring the metrics backend.
Package plugin is the collection of implementations of different interfaces defined across Clymene
Package plugin is the collection of implementations of different interfaces defined across Clymene
Package prompb is a reverse proxy.
Package prompb is a reverse proxy.
util
promlint
Package promlint provides a linter for Prometheus metrics.
Package promlint provides a linter for Prometheus metrics.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL