Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Extension Proposal] Nagios health endpoint #40617

Closed
derari opened this issue May 14, 2024 · 4 comments · Fixed by quarkiverse/quarkiverse-devops#235
Closed

[Extension Proposal] Nagios health endpoint #40617

derari opened this issue May 14, 2024 · 4 comments · Fixed by quarkiverse/quarkiverse-devops#235
Labels
area/health area/quarkiverse This issue/PR is part of the Quarkiverse organization area/smallrye kind/extension-proposal Discuss and Propose new extensions

Comments

@derari
Copy link

derari commented May 14, 2024

Description

Nagios (https://www.nagios.org/) is a monitoring and alerting tool.

Nagios allows to add custom health checks via shell scripts. A simple way to monitor the uptime of a quarkus application is to curl the (SmallRye) health endpoints.

However, if you want to use more features of Nagios, such as specific error messages, performance graphs, and alert levels, you need to implement a custom script for each aspect you want to check. Scripts need to output their data in a specific format for Nagios to pick it up. Such a setup creates friction between Devs and Operation every time checks need to be modified.

This extension adds endpoints that report all Microprofile health checks in the Nagios format, so that in the Nagios server a small re-usable script around curl is enough to configure all checks.

Furthermore, this extension provides a custom implementation of the Microprofile HealthCheckResponse API, that allows to use more Nagios features:

  • 4 alert levels (ok, warning, unknown, critical)
  • export numerical results as performance data (allows Nagios to graph historic data)
  • re-usable check definitions with Nagios alert ranges

Code currently hosted here: https://github.com/derari/quarkus-nagios

Repository name

quarkus-nagios

Short description

Health endpoints in Nagios format

Repository Homepage URL

https://quarkiverse.github.io/quarkiverse-docs/<REPOSITORY_NAME>/dev/

Repository Topics

  • quarkus-extension
  • observability

Team Members

Additional context

No response

@derari derari added area/quarkiverse This issue/PR is part of the Quarkiverse organization kind/extension-proposal Discuss and Propose new extensions labels May 14, 2024
@quarkus-bot
Copy link

quarkus-bot bot commented May 14, 2024

/cc @aloubyansky (extension-proposal), @gastaldi (extension-proposal), @gsmet (extension-proposal), @jmartisk (health), @maxandersen (extension-proposal), @xstefank (health)

@maxandersen
Copy link
Contributor

interesting and useful for those using nagios.

What is the health-api in https://github.com/derari/quarkus-nagios about ? seems like a copy of other library or ?

@derari
Copy link
Author

derari commented May 16, 2024

it's the implementation of the microprofile health response api that I mentioned. I put it in a separate module so I could version it independently

@gastaldi
Copy link
Contributor

@derari Welcome to Quarkiverse! The repository https://github.com/quarkiverse/quarkus-nagios has been created. See the next steps here: https://hub.quarkiverse.io/checklist/#after-the-repository-is-created

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/health area/quarkiverse This issue/PR is part of the Quarkiverse organization area/smallrye kind/extension-proposal Discuss and Propose new extensions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants