https://github.com/brokenpip3/zulip-exporter
Zulip Prometheus exporter
https://github.com/brokenpip3/zulip-exporter
Last synced: 4 months ago
JSON representation
Zulip Prometheus exporter
- Host: GitHub
- URL: https://github.com/brokenpip3/zulip-exporter
- Owner: brokenpip3
- Archived: true
- Created: 2021-04-03T23:15:36.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-01T15:27:54.000Z (over 3 years ago)
- Last Synced: 2025-01-08T19:27:16.758Z (4 months ago)
- Language: Python
- Size: 81.1 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Zulip prom exporter
## Usage
- Create a bot following this documentation:
- Add the bot in each streams that you want to be exported
### Environment variable
| Environment Variable | Description | Default | Required |
|:----------------------------:|----------------------------------------------------------------|-----------|:--------:|
| `ZULIP_EMAIL` | Zulip email from zuliprc | | ✅ |
| `ZULIP_API_KEY` | Zulip api-key from zuliprc | | ✅ |
| `ZULIP_SITE` | URL where your Zulip server is located | | ✅ |
| `HPORT` | Http port to listen on | `9863` | ❌ |
| `SLEEP` | Time to wait in seconds beetween metric grabbing cycles | `120` | ❌ |## Docker compose example
```
zulip-exporter:
container_name: zulip-exporter
restart: unless-stopped
image: quay.io/brokenpip3/zulip-exporter:0.0.1
labels:
io.prometheus.scrape: true
io.prometheus.port: 9863
io.prometheus.path: /metrics
env_file:
- .env-zulip
ports:
- "9863"
```## Kubernetes
see [example](./kubernetes)
## Metrics
- Server info: `zulip_server`
- Users info: `zulip_user_*`
- Streams info: `zulip_stream_*`
## Prometheus rules examples
see [rules examples](./kubernetes/zulip-rules.yaml)
## Grafana dashboard

see [example dashboard](./grafana/dashboard.json)
## Todo
- [ ] When this will be merged check if new metrics can be obtained from administrator privilegies.
## Questions
**Q:** Why you did this?
**A:** 🤷♂️