https://github.com/amirhnajafiz/jobs-exporter
Monitoring Kubernetes namespace jobs and send their data over Kafka.
https://github.com/amirhnajafiz/jobs-exporter
go golang jobs k8s kubernetes kubernetes-jobs monitoring
Last synced: 8 months ago
JSON representation
Monitoring Kubernetes namespace jobs and send their data over Kafka.
- Host: GitHub
- URL: https://github.com/amirhnajafiz/jobs-exporter
- Owner: amirhnajafiz
- Created: 2022-10-02T07:13:41.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-14T15:02:47.000Z (about 2 years ago)
- Last Synced: 2025-01-12T10:47:37.720Z (10 months ago)
- Topics: go, golang, jobs, k8s, kubernetes, kubernetes-jobs, monitoring
- Language: Go
- Homepage:
- Size: 95.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# K8S Jobs Watchdog



In this project I implemented a monitoring system called watchdog. This operator purpose is
monitoring ```kubernetes``` jobs in intervals. Moreover, it sends their status and results
over ```Kafka``` message broker as ```JSON``` format.
This operator keeps track of ```kubernetes``` jobs and send push notification over Kafka cluster.
## Image
Operator's docker image is ```amirhossein21/job-watchdog```. Make sure to pull
the tags with ```stable``` prefix in their versions.
```shell
docker run -d -it \
-v type=bind,source=~/.kube/config,dest=/app/config \
amirhossein21/job-watchdog
```
### env variables
Image environment variables have ```jm_``` prefix. The list bellow displays all the
operator available env variables.
- ```jm_interval``` : jobs pulling interval in seconds (default 5)
- ```jm_kafka__host``` : kafka cluster host (default ```localhost:9292```)
- ```jm_kafka__topic``` : the topic which operator publishes on (default ```jm-jobs```)
- ```jm_kafka__partition``` : kafka partition (default 0)
- ```jm_cluster__kubeconfig``` : path to kubeconfig file (default ```config```)
- ```jm_cluster__namespace``` : kubernetes namespace (default ```default```)