All Projects → deviceinsight → kafka-health-check

deviceinsight / kafka-health-check

Licence: Apache-2.0 license
Health Check for Apache Kafka

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to kafka-health-check

Consul Alerts
A simple daemon to send notifications based on Consul health checks
Stars: ✭ 792 (+2540%)
Mutual labels:  health-check
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+6520%)
Mutual labels:  health-check
Samples
Sample applications using App.Metrics
Stars: ✭ 19 (-36.67%)
Mutual labels:  health-check
Health bit
Tiny health check of Rack apps like Rails, Sinatra for use with uptime checking systems like Kubernetes, Docker or Uptimerobot
Stars: ✭ 60 (+100%)
Mutual labels:  health-check
Exabgp
The BGP swiss army knife of networking
Stars: ✭ 1,713 (+5610%)
Mutual labels:  health-check
Healthcheck
An simple, easily extensible and concurrent health-check library for Go services
Stars: ✭ 161 (+436.67%)
Mutual labels:  health-check
Goss
Quick and Easy server testing/validation
Stars: ✭ 4,550 (+15066.67%)
Mutual labels:  health-check
statoo
`statoo` is a super simple http GET tool for checking site health
Stars: ✭ 28 (-6.67%)
Mutual labels:  health-check
Simple Go Server
A simple golang web server with basic logging, tracing, health check, graceful shutdown and zero dependencies
Stars: ✭ 136 (+353.33%)
Mutual labels:  health-check
check netapp ontap
🍀 Check NetApp Ontap 🍀
Stars: ✭ 38 (+26.67%)
Mutual labels:  health-check
Kardia
A humane service status API module to expose any operational/internals of any Node.js based microservice. JSON format over HTTP protocol.
Stars: ✭ 70 (+133.33%)
Mutual labels:  health-check
Amon
Amon is a modern server monitoring platform.
Stars: ✭ 1,331 (+4336.67%)
Mutual labels:  health-check
Graceful Server
Tiny (~5k), KISS, dependency-free Node.JS library to make your API more graceful
Stars: ✭ 173 (+476.67%)
Mutual labels:  health-check
Browncoat
Container for testing app failures in orchestrators. It aims to misbehave.
Stars: ✭ 49 (+63.33%)
Mutual labels:  health-check
sample-spring-kotlin-microservice
sample spring boot application written in kotlin using spring boot actuator for managing app and swagger2 for API documentation
Stars: ✭ 35 (+16.67%)
Mutual labels:  spring-boot-actuator
Beatpulse
Liveness, health check library for ASP.NET Core Applications
Stars: ✭ 612 (+1940%)
Mutual labels:  health-check
Firemotd
🔥 Fire Framework Linux MoTD Generator 🔥
Stars: ✭ 156 (+420%)
Mutual labels:  health-check
express-actuator
Express middleware with endpoints to help you monitor and manage applications
Stars: ✭ 71 (+136.67%)
Mutual labels:  health-check
microservice-graph-explorer
Navigate and explore all of the microservices in your application in real time using the real application connections.
Stars: ✭ 71 (+136.67%)
Mutual labels:  health-check
Kafka Health Check
Health Check for Kafka Brokers.
Stars: ✭ 214 (+613.33%)
Mutual labels:  health-check

Kafka Health Check

Build Status Badge

This library provides a kafka health check for spring boot actuator.

Usage

Add the following dependency to your pom.xml

<dependency>
    <groupId>com.deviceinsight.kafka</groupId>
    <artifactId>kafka-health-check</artifactId>
    <version>1.3.0</version>
</dependency>

In the same maven module you can configure the topic, poll timeouts, subscription timeouts and the receive timeouts in the application.yml

An example for an application.yaml is:

kafka:
  health:
    topic: health-checks
    sendReceiveTimeout: 2.5s
    pollTimeout: 200ms
    subscriptionTimeout: 5s

The values shown are the defaults.

Important
Make sure the configured health check topic exists!
@Bean
@ConfigurationProperties("kafka.health")
public KafkaHealthProperties kafkaHealthProperties() {
    return new KafkaHealthProperties();
}
@Bean
public KafkaConsumingHealthIndicator kafkaConsumingHealthIndicator(KafkaHealthProperties kafkaProperties,
        KafkaProperties processingProperties) {
    return new KafkaConsumingHealthIndicator(kafkaHealthProperties, processingProperties.buildConsumerProperties(),
            processingProperties.buildProducerProperties());
}

Now if you call the actuator endpoint actuator/health you should see the following output:

{
   "status" : "UP",
   "details" : {
      "kafkaConsuming" : {
         "status" : "UP"
      }
   }
}

Configuration

Property Default Description

kafka.health.topic

health-checks

Topic to subscribe to

kafka.health.sendReceiveTimeout

2.5s

The maximum time, given as Duration, to wait for sending and receiving the message.

kafka.health.pollTimeout

200ms

The time, given as Duration, spent fetching the data from the topic

kafka.health.subscriptionTimeout

5s

The maximum time, given as Duration, to wait for subscribing to topic

kafka.health.cache.maximumSize

200

Specifies the maximum number of entries the cache may contain.

Releasing

Creating a new release involves the following steps:

  1. ./mvnw gitflow:release-start gitflow:release-finish

  2. git push origin master

  3. git push --tags

  4. git push origin develop

In order to deploy the release to Maven Central, you need to create an account at https://issues.sonatype.org and configure your account in ~/.m2/settings.xml:

<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>your-jira-id</username>
      <password>your-jira-pwd</password>
    </server>
  </servers>
</settings>

The account also needs access to the project on Maven Central. This can be requested by another project member.

Then check out the release you want to deploy (git checkout x.y.z) and run ./mvnw deploy -Prelease.

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