foremast-spring-boot-1x-k8s-metrics-starter

Metrics and custom metrics setup for spring boot application on K8s

License

License

Categories

Categories

Spring Boot Container Microservices Metrics Application Testing & Monitoring Monitoring
GroupId

GroupId

ai.foremast.metrics
ArtifactId

ArtifactId

foremast-spring-boot-1x-k8s-metrics-starter
Last Version

Last Version

0.1.7
Release Date

Release Date

Type

Type

jar
Description

Description

foremast-spring-boot-1x-k8s-metrics-starter
Metrics and custom metrics setup for spring boot application on K8s
Project Organization

Project Organization

Foremast.AI

Download foremast-spring-boot-1x-k8s-metrics-starter

How to add to project

<!-- https://jarcasting.com/artifacts/ai.foremast.metrics/foremast-spring-boot-1x-k8s-metrics-starter/ -->
<dependency>
    <groupId>ai.foremast.metrics</groupId>
    <artifactId>foremast-spring-boot-1x-k8s-metrics-starter</artifactId>
    <version>0.1.7</version>
</dependency>
// https://jarcasting.com/artifacts/ai.foremast.metrics/foremast-spring-boot-1x-k8s-metrics-starter/
implementation 'ai.foremast.metrics:foremast-spring-boot-1x-k8s-metrics-starter:0.1.7'
// https://jarcasting.com/artifacts/ai.foremast.metrics/foremast-spring-boot-1x-k8s-metrics-starter/
implementation ("ai.foremast.metrics:foremast-spring-boot-1x-k8s-metrics-starter:0.1.7")
'ai.foremast.metrics:foremast-spring-boot-1x-k8s-metrics-starter:jar:0.1.7'
<dependency org="ai.foremast.metrics" name="foremast-spring-boot-1x-k8s-metrics-starter" rev="0.1.7">
  <artifact name="foremast-spring-boot-1x-k8s-metrics-starter" type="jar" />
</dependency>
@Grapes(
@Grab(group='ai.foremast.metrics', module='foremast-spring-boot-1x-k8s-metrics-starter', version='0.1.7')
)
libraryDependencies += "ai.foremast.metrics" % "foremast-spring-boot-1x-k8s-metrics-starter" % "0.1.7"
[ai.foremast.metrics/foremast-spring-boot-1x-k8s-metrics-starter "0.1.7"]

Dependencies

compile (4)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter jar 1.3.0.RELEASE
org.springframework.boot : spring-boot-starter-actuator jar 1.3.0.RELEASE
org.springframework.boot : spring-boot-starter-security jar 1.3.0.RELEASE
io.micrometer : micrometer-registry-prometheus jar 1.1.2

provided (2)

Group / Artifact Type Version
org.springframework.boot : spring-boot-configuration-processor Optional jar 1.3.0.RELEASE
org.springframework.boot : spring-boot-starter-web Optional jar 1.3.0.RELEASE

test (1)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter-test jar 1.3.0.RELEASE

Project Modules

There are no modules declared in this project.

Foremast

Build Status Go Report Card Slack Chat

Foremast

Foremast is a cloud native application health manager for Kubernetes. Foremast leverages observability signals from platforms such as Prometheus, Fluentd and Jaeger and provides timely application health alerts. These alerts are especially important during deployments and other changes that alter application state. This information is then leveraged by Foremast’s action framework - which allows developers and operators to take actions based on the state of the application.

How can developers reliably know that changes made to running software have not degraded the application?

Foremast provides early warnings for detecting problems with the deployment of a new version of a service or application on Kubernetes.

Traditionally, production deployments have used manual canary analysis as the standard mechanism for evaluating application health. Various types of canary analysis exist, such as: A/B testing, phased rollout, or incremental rollout.

Foremast automates the analysis of an application health, by scoring the health of new deployments on the basis of performance, functionality, and quality. This analysis provides a comprehensive picture of an application's health and enables corrective action if a deterioration in health is detected.

It addresses following problems in an enterprise environment of Kubernetes:

  • Detect metrics spike or drop due to a deployment
  • Detect impact to downstream services
  • Automated remediation including alert, rollback etc
  • Metrics anomaly aggregated at service or API level
  • Aggregate service health check across multiple K8s clusters

The architecture and design documentation provide a detailed overview of the system and an under the hood view of how Foremast works.

Running Foremast

Foremast can be run in multiple modes

  • On Minikube
  • On a remote K8s cluster

Technical Requirements

Make sure you have the following prerequisites:

  • A local Go 1.7+ development environment
  • Admin access to a Kubernetes cluster - this could either be Minikube or a remote cluster.

Setup Steps

The Set Up documentation has step by step instructions on how to setup and run Foremast.

Running Foremast-Browser UI

Documentation for running the front-end portion of the project can be found here.

Roadmap

  • January 2019 v0.5
  • February 2019 v0.6
  • HPA score support Ongoing
  • ClusterAutoScaler prediction support

Foremast presented at Kubecon

https://kccnceu19.sched.com/event/MPaQ/ready-a-deep-dive-into-pod-readiness-gates-for-service-health-management-minhan-xia-google-ping-zou-intuit

Contributing

We welcome you to get involved with Foremast. You can contribute by using Foremast and providing feedback, contributing to our code, participating in our code and design reviews etc.

Read the contributing guidelines to learn about building the project, the project structure, and the purpose of each package.

ai.foremast.metrics

Intuit

Powering prosperity around the world.

Versions

Version
0.1.7
0.1.6