ts6-grafana/CHANGELOG.md

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