Skip to content

drycc/monitor

Repository files navigation

Drycc Monitor v2

Build Status

Drycc (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.

For more information about the Drycc Workflow, please visit the main project page at https://github.com/drycc/workflow.

We welcome your input! If you have feedback, please submit an issue. If you'd like to participate in development, please read the "Development" section below and submit a pull request.

About

This repository aims to contain the necessary components for a production quality monitoring solution that runs on top of the kubernetes cluster scheduler. It provides part of the TICK stack which is produced by the influxdata team.

Current State

Currently this repo provides only 2 components (Telegraf, and Grafana). Telegraf is the metrics collection agent that runs using the daemon set API. For more infomation please read this.

Grafana is a stand alone graphing application. It natively supports Timescaledb as a datasource and provides a robust engine for creating dashboards on top of timeseries data. We provide a few out of the box dashboards for monitoring Drycc Workflow and Kubernetes but please feel free to use them as a starting point for creating your own dashboards.

Architecture Diagram

                           ┌─────────────┐                 ┌──────────────┐
                           │    Router   │                 │    Logger    │
                           └─────────────┘                 └──────────────┘
                                  │                               │
                              logs file                           │
                                  │                               │
                                  ▼                               ▼
┌──────────┐               ┌───-─────────┐  logs/metrics   ┌──────────────┐
│ App Logs │───Log File───▶│   Fluentd   │────topics──────▶│ Redis Stream │
└──────────┘               └────-────────┘                 └──────────────┘
                                                                  │
┌──────────┐                                                      │
│   HOST   │───┐                                                  │
│ Telegraf │   │                                                  │
└──────────┘   │                                                  │
               │                                                  ▼
┌──────────┐   │           ┌───────-─────┐                 ┌─────────────┐
│   HOST   │───┼──────────▶│ Timescaledb │◀──────Wire──────│  Telegraf   │
│ Telegraf │   │           └───────────-─┘     Protocol    └─────────────┘
└──────────┘   │                  │
               │                  │
┌──────────┐   │                  ▼
│   HOST   │───┘           ┌─────────────┐                 ┌─────────────┐
│ Telegraf │               │   Grafana   │◀────────────────│ Prometheus  │
└──────────┘               └─────────────┘                 └─────────────┘