Giter VIP home page Giter VIP logo

clymene-project / clymene Goto Github PK

View Code? Open in Web Editor NEW
133.0 5.0 21.0 10.48 MB

the Clymene is time-series data and Logs collection platform for distributed systems.

Home Page: https://clymene-project.github.io

License: Apache License 2.0

Go 95.82% Dockerfile 0.21% Shell 0.67% Makefile 0.22% Batchfile 0.25% Lex 0.35% Yacc 1.67% CSS 0.08% JavaScript 0.15% HTML 0.59%
timeseries tsdb distributed-system metrics monitoring grpc elasticsearch opentsdb platform prometheus-agent

clymene's Introduction

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 and logs collection platform for distributed systems inspired by Prometheus and Jaeger. Time-series data and logs from various environments can be collected and stored in different types of databases. It can be configured in a variety of architectures. Choose the storage that users can use easily and build a monitoring system with dashboards that users can use easily. 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

The Clymene project is a platform for collecting time series data and log data. So there are two pipelines: timeseries and logs. All agents can collect data and store it directly in the database, Or, depending on the situation, you can use the Clymene components to configure a variety of architectures. It can be configured with an architecture that can be used with a lot of traffic. The Clymene Project provides various storage types, so choose a storage type you are familiar with. And build great monitoring systems using familiar dashboards.

architecture_v2.1.0

architecture_v2.2.2

Components

Pipeline 1. TimeSeries data collection

Clymene Agent(Getting Started)

dockerhub : bourbonkk/clymene-agent:v2.x.x
redhatQuay: quay.io/clymene/clymene-agent:v2.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:v2.x.x
redhatQuay: quay.io/clymene/clymene-ingester:v2.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:v2.x.x
redhatQuay: quay.io/clymene/clymene-gateway:v2.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 or HTTP communication.

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

Pipeline 2. Logs collection

Clymene Promtail(Getting Started)

dockerhub : bourbonkk/clymene-promtail:v2.x.x
redhatQuay: quay.io/clymene/clymene-promtail:v2.x.x
Docker Pulls Docker Repository on Quay
The Clymene-promtail customized loki's log collection agent for the Clymene project.

  1. Service Discovery
  2. log collection
  3. log data transfer to gateway(gRPC or HTTP)
  4. log data transfer to kafka
  5. log data insert to Database(supported DB) (Optional)

Promtail Ingester(Optional) (Getting Started)

dockerhub : bourbonkk/promtail-ingester:v2.x.x
redhatQuay: quay.io/clymene/promtail-ingester:v2.x.x
Docker Pulls Docker Repository on Quay
Promtail ingester is an optional service responsible for insert log data loaded on kafka into the database.

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

Promtail Gateway(Optional) (Getting Started)

dockerhub : bourbonkk/promtail-gateway:v2.x.x
redhatQuay: quay.io/clymene/promtail-gateway:v2.x.x
Docker Pulls Docker Repository on Quay
The Promtail Gateway is an optional service that can receive log data from the another component through gRPC or HTTP communication.

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

How to work it on k8s

For example, see the k8s example

How to work it on docker-compose

For example, see the docker-compose example

Roadmap

  1. AI/ML platform for clymene(https://github.com/Clymene-project/clymene-analyzer)
  2. push-type agent(node-exporter, cadvisor, process-exporter, etc)
  3. Add new pipeline(trace or Something - discussions)
  4. eBPF trace agent(for v3.0.0 release)

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

supported

The Clymene project is being developed with the support of Open Source development license of Jetbrains'.

clymene's People

Contributors

bourbonkk avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

clymene's Issues

CrashLoopBackOff Issue

Hello.

First of all, thank you again for your modification that "loki.yaml" namespace problem.
I am very sorry that bother you again.

I am not familiar with k8s system however, trying to solve it so It will be very appreciate for your support.

Currently faced with CrashLoopBackOff Issues and having struggle with it.
Enveloped photos for detail.

clymene-CrashLoopBackOff-k9s
clymene-gateway-pod-7b98b6f6bc-48wrs-01
clymene-gateway-pod-7b98b6f6bc-48wrs-02
clymene-ingester-7687fb8f96-t9fth-01
clymene-ingester-7687fb8f96-t9fth-02
promtail-gateway-pod-7c76b8489-m4st2-01
promtail-gateway-pod-7c76b8489-m4st2-02
promtail-ingester-pod-74588cdc7d-fd91c-01
promtail-ingester-pod-74588cdc7d-fd91c-02

Sincerely thank you for your efforts and I'll look forward to your reply.

After saving data from gateway to kafka, iningester cannot be consumed

Describe the bug
A clear and concise description of what the bug is.
When the storage_type of gateway is set to kafka and storage_type of ingester is set to prometheus, abnormal operation occurs.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.
image
ingester logs

Desktop (please complete the following information):

  • OS: [e.g. iOS] fedora
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22] 36

Additional context
Add any other context about the problem here.

release v1.0.0

component

  1. clymene-agent
  • kafka write
  • prometheus write
  • cortex write
  • elasticsearch write
  1. clymene-ingester(Optional)
  • consume kafka message
  • write prometheus, cortex, elasticsearch

Prometheus configuration

Hello I`m a DevOps engineer who got interested in Clymene

I have read the blog post and came to this Github to use Clymene how it works on the k8s cluster

But it seems like I have misconfigured the app but could not find the solution.

So the issue is that when I configure the prometheus remote url the agent saids that the option does not exist.

Were there any updates?

below is my deployments.yaml file

apiVersion: apps/v1
kind: Deployment
metadata:
  name: clymene-agent
  namespace: clymene
  labels:
    app: clymene-agent
spec:
  selector:
    matchLabels:
      app: clymene-agent
  replicas: 1
  template:
    metadata:
      labels:
        app: clymene-agent
    spec:
      containers:
        - name: clymene-agent
          image: bourbonkk/clymene-agent:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 15691
            - containerPort: 15692
          args:
            - --config.file=/etc/clymene/clymene.yml
            - --prometheus.remote.url=http://prometheus.monitors.svc.cluster.local:9090/api/v1/write
            - --log-level=info
          env:
            - name: TS_STORAGE_TYPE
              value: kafka
          volumeMounts:
            - mountPath: /etc/clymene/
              name: config-volume
      volumes:
        - name: config-volume
          configMap:
            name: clymene-agent-config
      securityContext:
        runAsUser: 1000

And the error is

Error: unknown flag: --prometheus.remote.url

Is there something wrong with my yaml file? or did I miss something?

If you have time please let me know : )

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.