All Projects → xmlking → microservices-observability

xmlking / microservices-observability

Licence: MIT License
🎉 Microservices Observability - Log Aggregation, Distributed Tracking, Metrics

Programming Languages

kotlin
9241 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to microservices-observability

Victoriametrics
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
Stars: ✭ 5,558 (+13795%)
Mutual labels:  influxdb, grafana, prometheus, observability
Netdata
Real-time performance monitoring, done right! https://www.netdata.cloud
Stars: ✭ 57,056 (+142540%)
Mutual labels:  influxdb, grafana, prometheus, observability
Awesome Monitoring
INFRASTRUCTURE、OPERATION SYSTEM and APPLICATION monitoring tools for Operations.
Stars: ✭ 356 (+790%)
Mutual labels:  influxdb, grafana, prometheus
Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-27.5%)
Mutual labels:  influxdb, grafana, prometheus
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+114725%)
Mutual labels:  influxdb, grafana, prometheus
Grafterm
Metrics dashboards on terminal (a grafana inspired terminal version)
Stars: ✭ 613 (+1432.5%)
Mutual labels:  grafana, prometheus, observability
Cloudprober
An active monitoring software to detect failures before your customers do.
Stars: ✭ 1,269 (+3072.5%)
Mutual labels:  grafana, prometheus, observability
Wizzy
Manage & automate Grafana with easy wizzy
Stars: ✭ 461 (+1052.5%)
Mutual labels:  influxdb, grafana, prometheus
Ohmgraphite
Export Open Hardware sensor data to Graphite / InfluxDB / Prometheus / Postgres / Timescaledb
Stars: ✭ 155 (+287.5%)
Mutual labels:  influxdb, grafana, prometheus
Influxdb exporter
A server that accepts InfluxDB metrics via the HTTP API and exports them via HTTP for Prometheus consumption
Stars: ✭ 159 (+297.5%)
Mutual labels:  influxdb, prometheus, observability
Swagger Stats
API Observability. Trace API calls and Monitor API performance, health and usage statistics in Node.js Microservices.
Stars: ✭ 559 (+1297.5%)
Mutual labels:  grafana, prometheus, observability
tilt-pitch
Simple replacement for the Tilt Hydrometer mobile apps and TiltPi with lots of features
Stars: ✭ 32 (-20%)
Mutual labels:  influxdb, grafana, prometheus
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+760%)
Mutual labels:  grafana, prometheus, opentracing
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (+630%)
Mutual labels:  influxdb, grafana, prometheus
Datav
📊https://datav.io is a modern APM, provide observability for your business, application and infrastructure. It's also a lightweight alternative to Grafana.
Stars: ✭ 2,757 (+6792.5%)
Mutual labels:  grafana, prometheus, observability
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+4865%)
Mutual labels:  influxdb, grafana, prometheus
KotlinReactiveMS
An educational project to learn reactive programming with Spring 5 and Kotlin
Stars: ✭ 33 (-17.5%)
Mutual labels:  reactive-programming, spring5, webflux
webflux-streaming-demo
A tryout of reactive application using Spring 5 WebFlux and mongoDB, along with an overview article on reactive programming.
Stars: ✭ 96 (+140%)
Mutual labels:  reactive-programming, spring5, webflux
bounded-disturbances
A k6/.NET red/green load testing workshop
Stars: ✭ 39 (-2.5%)
Mutual labels:  influxdb, grafana
firehose
firehose: the metrics gateway for prometheus
Stars: ✭ 23 (-42.5%)
Mutual labels:  grafana, observability

Build Status codecov.io GitHub license Join the chat at https://gitter.im/xmlking/microservices-observability

microservices-observability

As Developers are migrating from Monolithic architecture to distributed microservices and Service Mesh, troubleshooting production issues become difficult.

This sample application showcases patterns to implement better Observability at web scale.

Reactive

Log Aggregation

Reactive

Highlights

  • Ready to go docker configuration for set up GILK logging stack in a minutes.
    • GILK - Grafana , InfluxDB, Logstash json format, Kafka
  • Monitoring solution for docker hosts and containers with Prometheus, Grafana, cAdvisor, NodeExporter and alerting with AlertManager.
  • Vendor-neutral instrumentation
  • end-to-end Functional Reactive Programming (FRP) with Spring 5.
  • Multi-project builds with Gradle Kotlin Script.
  • Spring Kotlin Support
  • Docker deployment

Prerequisites

  1. Gradle 4.4 (Install via sdkman)
  2. Docker for Mac Setup Instructions

Build

# build all 3 executable jars
gradle build
# continuous build with `-t`. 
# this shoud be started before any run tasks i.e., `gradle ui-app:bootRun`, for spring's devtools to work.
gradle build -x test -t
# build all 3 apps
gradle build -x test
# build all 3 docker images
gradle docker -x test

Test

gradle test

Run

Manual
# start infra services
docker-compose  -f docker-compose-infra.yml up cassandra
docker-compose  -f docker-compose-infra.yml up kafka
docker-compose  -f docker-compose-infra.yml up influxdb

Start all 4 apps with gradle xyz:bootRun : cassandra-data-service, stream-service, ui-app , kafka-influxdb-service

If you want to debug the app, add --debug-jvm parameter to Gradle command line

Docker

You can also build Docker images and run all via Docker Compose

# start containers in the background
docker-compose up -d
# start containers in the foreground
docker-compose up 
# show runnning containers 
docker-compose ps
# scaling containers and load balancing
docker-compose scale stream=2
# 1. stop the running containers using
docker-compose stop
# 2. remove the stopped containers using
docker-compose rm -f
# just start only infra services
docker-compose  -f docker-compose-infra.yml up
# connect(ssh) to a service and run a command
docker-compose exec cassandra cqlsh
# see logs of a service 
docker-compose logs -f stream
# restart single service
docker-compose restart stream
# start single service
docker-compose -f docker-compose-infra.yml up cassandra
docker-compose -f docker-compose-infra.yml up kafka
docker-compose -f docker-compose-infra.yml up influxdb
# check health for a service
docker inspect --format "{{json .State.Health.Status }}" microservicesobservability_app_1
docker ps
docker-compose -f docker-compose-fluentd.yml up

Access UI App at http://localhost:8080

Prometheus http://localhost:9090/graph

InfluxDB http://localhost:8083

Grafana http://localhost:1634

Gradle Commands

# upgrade project gradle version
gradle wrapper --gradle-version 4.4.1 --distribution-type all
# gradle daemon status 
gradle --status
gradle --stop
# refresh dependencies
gradle build -x test --refresh-dependencies 

Reference

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].