Skip to content

Commit 2da1e3b

Browse files
authored
Merge pull request #262 from thystips/metric_server
Metric Servers management in Proxmox
2 parents 72130c0 + 54542b3 commit 2da1e3b

File tree

5 files changed

+513
-0
lines changed

5 files changed

+513
-0
lines changed

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,9 @@ of the `ops` group. Read the **User and ACL Management** section for more info.
218218
The backend needs to be supported by [Proxmox][pvesm]. Read the **Storage
219219
Management** section for more info.
220220

221+
`pve_metric_servers` allows you to configure a metric server for the PVE cluster.
222+
This is useful if you want to use InfluxDB, Graphite or other (with telegraf).
223+
221224
`pve_ssh_port` allows you to change the SSH port. If your SSH is listening on
222225
a port other than the default 22, please set this variable. If a new node is
223226
joining the cluster, the PVE cluster needs to communicate once via SSH.
@@ -420,6 +423,7 @@ pve_roles: [] # Added more roles with specific privileges. See section on User M
420423
pve_groups: [] # List of group definitions to manage in PVE. See section on User Management.
421424
pve_users: [] # List of user definitions to manage in PVE. See section on User Management.
422425
pve_storages: [] # List of storages to manage in PVE. See section on Storage Management.
426+
pve_metric_servers: [] # List of metric servers to configure in PVE.
423427
pve_datacenter_cfg: {} # Dictionary to configure the PVE datacenter.cfg config file.
424428
pve_domains_cfg: [] # List of realms to use as authentication sources in the PVE domains.cfg config file.
425429
pve_no_log: false # Set this to true in production to prevent leaking of storage credentials in run logs. (may be used in other tasks in the future)
@@ -835,6 +839,50 @@ Then system interrupt remapping is supported and you do not need to enable unsaf
835839

836840
`pve_pcie_report_msrs` can be used to enable or disable logging messages of msrs warnings. If you see a lot of warning messages in your 'dmesg' system log, this value can be used to silence msrs warnings.
837841

842+
## Metrics Server Configuration
843+
844+
You can configure metric servers in Proxmox VE using the `pve_metric_servers` role variable. Below is an example configuration for different types of metric servers:
845+
846+
```yaml
847+
pve_metric_servers:
848+
- id: influxdb1
849+
port: 8086
850+
server: influxdb.example.com
851+
type: influxdb
852+
protocol: http
853+
organization: myorg
854+
bucket: mybucket
855+
token: mytoken
856+
timeout: 30
857+
max_body_size: 25000000
858+
verify_certificate: true
859+
- id: graphite1
860+
port: 2003
861+
server: graphite.example.com
862+
type: graphite
863+
protocol: tcp
864+
path: mygraphitepath
865+
mtu: 1500
866+
```
867+
868+
### Configuration Variables
869+
870+
- `id`: (required) Unique identifier for the metric server.
871+
- `port`: (optional) Port of the metric server. Default is `8089`.
872+
- `server`: (required) DNS name or IP address of the metric server.
873+
- `type`: (optional) Type of metric server. Possible values: `influxdb`, `graphite`. Default is `influxdb`.
874+
- `protocol`: (optional) Protocol used to send metrics. Possible values: `udp`, `tcp`, `http`, `https`. Default is `udp`.
875+
- `disable`: (optional) Disable the metric server. Default is `false`.
876+
- `organization`: (optional) Organization name. Available only for influxdb with the http v2 API.
877+
- `bucket`: (optional) Bucket name for influxdb. Useful only with the http v2 API or compatible.
878+
- `token`: (optional) InfluxDB access token. Required only when using the http v2 API.
879+
- `path`: (optional) Graphite root path. Available only for graphite.
880+
- `api_path_prefix`: (optional) API path prefix inserted between `<host>:<port>/` and `/api2/`. Useful if the InfluxDB service is running behind a reverse proxy. Available only for influxdb with the http v2 API.
881+
- `timeout`: (optional) Timeout in seconds. Available only for influxdb with the http v2 API or Graphite TCP socket.
882+
- `max_body_size`: (optional) Maximum body size in bytes. Available only for influxdb with the http v2 API. Default is `25000000`.
883+
- `mtu`: (optional) MTU for UDP metric transmission.
884+
- `verify_certificate`: (optional) Verify SSL certificate. Available only for influxdb with https.
885+
838886
## Developer Notes
839887

840888
When developing new features or fixing something in this role, you can test out
@@ -878,6 +926,7 @@ John Marion ([@jmariondev](https://github.com/jmariondev))
878926
foerkede ([@foerkede](https://github.com/foerkede)) - ZFS storage support
879927
Guiffo Joel ([@futuriste](https://github.com/futuriste)) - Pool configuration support
880928
Adam Delo ([@ol3d](https://github.com/ol3d)) - PCIe Passthrough Support
929+
Antoine Thys ([@thystips](https://github.com/thystips)) - Metric Servers Support
881930

882931
[Full list of contributors](https://github.com/lae/ansible-role-proxmox/graphs/contributors)
883932

defaults/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ pve_groups: []
5656
pve_users: []
5757
pve_acls: []
5858
pve_storages: []
59+
pve_metric_servers: []
5960
pve_ssh_port: 22
6061
pve_manage_ssh: true
6162
pve_hooks: {}

0 commit comments

Comments
 (0)