47 lines
2.5 KiB
Markdown
47 lines
2.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [1.0.1] - 2026-03-29
|
|
|
|
### Changed
|
|
- `docker-compose.yml` now pulls pre-built image from Gitea container registry (`gitea.zol.oixb.run/oixb.run/ts6-grafana:latest`) instead of building from source
|
|
- Network set to `external: true` for easy integration with existing TS6 stacks
|
|
|
|
---
|
|
|
|
## [1.0.0] - 2026-03-29
|
|
|
|
### Added
|
|
- Initial release of TeamSpeak 6 Prometheus Exporter
|
|
- **TS6 WebQuery HTTP API client** (`ts6_client.py`)
|
|
- HTTP communication with TeamSpeak 6 WebQuery on port 10080
|
|
- API Key authentication via `x-api-key` header
|
|
- Methods: `server_info()`, `client_list()`, `channel_list()`, `ban_list()`, `server_group_list()`, `version()`, `whoami()`
|
|
- Support for both JSON and legacy key=value response formats
|
|
- **Prometheus exporter** (`exporter.py`)
|
|
- Server metrics: `ts6_server_up`, `ts6_server_uptime_seconds`
|
|
- Client metrics: `ts6_clients_online`, `ts6_clients_max`, `ts6_query_clients_online`
|
|
- Channel metrics: `ts6_channels_total`
|
|
- Bandwidth metrics: `ts6_bytes_sent_total`, `ts6_bytes_received_total`, `ts6_packets_sent_total`, `ts6_packets_received_total`
|
|
- File transfer metrics: `ts6_file_transfer_bytes_sent_total`, `ts6_file_transfer_bytes_received_total`
|
|
- Quality metrics: `ts6_average_ping_seconds`, `ts6_average_packet_loss`
|
|
- Moderation metrics: `ts6_bans_total`, `ts6_server_groups_total`
|
|
- Per-client info with labels: `ts6_client_connected{nickname, platform, version, country, channel_id}`
|
|
- Exporter health: `ts6_scrape_duration_seconds`, `ts6_scrape_errors_total`
|
|
- Server version info: `ts6_server_version_info{version, build, platform}`
|
|
- **Docker support**
|
|
- Dockerfile based on Python 3.12-slim
|
|
- docker-compose.yml with external network support for existing TS6 stacks
|
|
- **Grafana dashboard** (`grafana/dashboard.json`)
|
|
- Server Overview row: Status, Uptime, Clients Online, Max Clients, Channels, Active Bans
|
|
- Clients row: Clients Online Over Time (time series), Connected Clients table
|
|
- Bandwidth & Network row: Bandwidth bytes/s, Packets/s
|
|
- Quality row: Average Ping gauge, Average Packet Loss gauge, File Transfer bandwidth
|
|
- Exporter Health row: Scrape Duration, Scrape Errors, Server Groups, Query Clients
|
|
- **Configuration** via environment variables
|
|
- MIT License
|