Skip to main content

A health checker package to report using MQTT

Project description

healthcheck-reporter

Lightweight health reporter that periodically probes database TCP connectivity and publishes a JSON report to MQTT.

Installation

pip install healthcheck-reporter

Usage

from healthcheck_reporter import Reporter, ReporterConfig

config = ReporterConfig(
    database_host="db.example.local",
    database_port=5432,
    database_name="appdb",
    database_password="secret",
    database_user="app",
    mqtt_host="mqtt.example.local",
    mqtt_port=1883,
    mqtt_client_id="service-A-health",
    mqtt_topic="services/health",
    mqtt_user=None,      # or "user"
    mqtt_password=None,  # or "password"
)

reporter = Reporter(
    config,
    interval_seconds=30.0,  # configurable, non-blocking
)

reporter.start()

# ... your service runs ...

# On shutdown
reporter.stop()

Published payload

{
  "database_status": "ok",
  "mqtt_client_id": "service-A-health",
  "timestamp": "2025-01-01T00:00:00+00:00"
}

Notes

  • A real PostgreSQL connection is attempted first (psycopg2 is required); otherwise it falls back to a TCP probe if the driver is unavailable in the environment.
  • MQTT publish uses QoS 1 and reconnects if needed.
  • start() runs a background thread (non-blocking). Use stop() on shutdown.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

healthcheck_reporter-0.1.2.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

healthcheck_reporter-0.1.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file healthcheck_reporter-0.1.2.tar.gz.

File metadata

  • Download URL: healthcheck_reporter-0.1.2.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for healthcheck_reporter-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5afb1d84678b012185c3662aa16b2291e92de10377d416963c53ed9a7c57ce13
MD5 75316f9074e401511c7824911cca805b
BLAKE2b-256 51427eef855895fa75ef94351f0c5051854b22725916d73faa2076eb947e8377

See more details on using hashes here.

File details

Details for the file healthcheck_reporter-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for healthcheck_reporter-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 888951ecf51c7a710382819e8d89aa4f63b08cef77a39f0a9211a0e16ae1b31e
MD5 8f003135245058fd69c4ab3d877d361e
BLAKE2b-256 effbdd71325a25cee24104115d31775dfc610ed7dcd34c658794ea0d31fc8691

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page