From 6f503b247207d04844d6634c4564b7c23ddf1da2 Mon Sep 17 00:00:00 2001
From: tboerger
Date: Thu, 26 Oct 2023 12:39:24 +0000
Subject: [PATCH] deploy: 748d30860d455f48757a4be03b2b1c512e11796d
---
index.html | 65 +++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 45 insertions(+), 20 deletions(-)
diff --git a/index.html b/index.html
index 36d0b66..f1c1a99 100644
--- a/index.html
+++ b/index.html
@@ -83,7 +83,7 @@
line-height: 1.6;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
color: #242424;
- max-width: 800px;
+ max-width: 900px;
margin: 5% auto;
}
@@ -130,6 +130,7 @@
h3 {
font-size: 18px;
margin-bottom: 0.3em;
+ margin-top: 1.0em;
}
h1 small a {
@@ -230,6 +231,11 @@
dl dt {
font-weight: bold;
+ margin-top: 10px;
+ }
+
+ dl dt:first-child {
+ margin-top: 0px;
}
dl dd {
@@ -487,6 +493,19 @@ Installation
- HETZNER_EXPORTER_PASSWORD=CNFPCgivAAqWu613
- HETZNER_EXPORTER_LOG_PRETTY=true
+If you want to provide the required secrets from a file it’s also possible. For
+this use case you can write the secret to a file on any path and reference it
+with the following format:
+ hetzner_exporter:
+ image: promhippie/hetzner-exporter:latest
+ restart: always
+ environment:
+- - HETZNER_EXPORTER_USERNAME=#ws+qOeMD4UP
+- - HETZNER_EXPORTER_PASSWORD=CNFPCgivAAqWu613
++ - HETZNER_EXPORTER_USERNAME=file://path/to/secret/file/with/username
++ - HETZNER_EXPORTER_PASSWORD=file://path/to/secret/file/with/password
+ - HETZNER_EXPORTER_LOG_PRETTY=true
+
Finally the exporter should be configured fine, let’s start this stack with
docker-compose, you just need to execute docker-compose up
within
the directory where you have stored the prometheus.yml
and
@@ -506,6 +525,12 @@
Configuration
Address to bind the metrics server, defaults to 0.0.0.0:9502
HETZNER_EXPORTER_WEB_PATH
Path to bind the metrics server, defaults to /metrics
+HETZNER_EXPORTER_WEB_PPROF
+Enable pprof debugging for server, defaults to false
+HETZNER_EXPORTER_WEB_TIMEOUT
+Server metrics endpoint timeout, defaults to 10s
+HETZNER_EXPORTER_WEB_CONFIG
+Path to web-config file
HETZNER_EXPORTER_REQUEST_TIMEOUT
Request timeout as duration, defaults to 5s
HETZNER_EXPORTER_USERNAME
@@ -535,41 +560,41 @@ Metrics
Histogram of latencies for requests to the api per collector
hetzner_request_failures_total{collector}
Total number of failed requests to the api per collector
-hetzner_server_cancelled{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_server_cancelled{id, name, datacenter}
If 1 the server have been cancelled, 0 otherwise
-hetzner_server_flatrate{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_server_flatrate{id, name, datacenter}
If 1 the server got a flatrate enabled, 0 otherwise
-hetzner_server_paid_timestamp{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_server_paid_timestamp{id, name, datacenter}
Timestamp of the date until server is paid
-hetzner_server_running{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_server_running{id, name, datacenter}
If 1 the server is running, 0 otherwise
-hetzner_server_traffic_bytes{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_server_traffic_bytes{id, name, datacenter}
Amount of included traffic for the server
-hetzner_ssh_key{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_ssh_key{name, type, size, fingerprint}
Information about SSH keys in your Hetzner robot
-hetzner_storagebox_cancelled{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_cancelled{id, name, location, login}
If 1 the storagebox have been cancelled, 0 otherwise
-hetzner_storagebox_data{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_data{id, name, location, login}
Used storage by files for the storagebox in MB
-hetzner_storagebox_external{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_external{id, name, location, login}
If 1 the storagebox can be accessed from external, 0 otherwise
-hetzner_storagebox_locked{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_locked{id, name, location, login}
If 1 the storagebox have been locked, 0 otherwise
-hetzner_storagebox_paid{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_paid{id, name, location, login}
Timestamp of the date until storagebox is paid
-hetzner_storagebox_quota{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_quota{id, name, location, login}
Available storage for the storagebox in MB
-hetzner_storagebox_samba{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_samba{id, name, location, login}
If 1 the storagebox can be accessed via samba, 0 otherwise
-hetzner_storagebox_snapshots{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_snapshots{id, name, location, login}
Used storage by snapshots for the storagebox in MB
-hetzner_storagebox_ssh{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_ssh{id, name, location, login}
If 1 the storagebox can be accessed via ssh, 0 otherwise
-hetzner_storagebox_usage{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_usage{id, name, location, login}
Used storage for the storagebox in MB
-hetzner_storagebox_webdav{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_webdav{id, name, location, login}
If 1 the storagebox can be accessed via webdav, 0 otherwise
-hetzner_storagebox_zfs{<prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>, <prometheus.ConstrainedLabel Value>}
+hetzner_storagebox_zfs{id, name, location, login}
If 1 the zfs directory is visible, 0 otherwise
@@ -631,7 +656,7 @@ Helm
helm install hetzner-exporter promhippie/hetzner-exporter
You can also watch that available values and generally the details of the chart
-provided by us within our chart repository.
+provided by us within our chart repository or on Artifacthub.
After applying this manifest the exporter should be directly visible within your
Prometheus instance depending on your installation if you enabled the
annotations or the service monitor.