Sign inSign up

dnationcloud/hetzner-inventory-exporter

By dnationcloud

•Updated almost 5 years ago

1

85

dnationcloud/hetzner-inventory-exporter repository overview

⁠Hetzner Cloud inventory exporter

Prometheus exporter of Hetzner Cloud inventory

⁠Build

  • Using docker

Requires docker

make build
  • Locally

Requires go build environment

go build

⁠Run

First, create config.yaml file with following content:

---
targets:
  - name: my-project-1
    apiKey: 12345678654321234567876543223456787654
  - name: my-project-2
    apiKey: 09876543212456709867234567890987656789
  - name: my-project-3
    apiKey: abcdefg5384572872131237182738174849575
  • Run using docker
docker run -p 9112:9112 -v $(pwd)/config.yaml:/config.yaml -ti hetzner-inventory-exporter:1.0.0
  • Run locally
./hetzner-inventory-exporter

⁠Exported metrics

Metric nameTypeDescription
hetzner_exporter_last_scrape_errorGaugeNumber of errors in last scrape round
hetzner_exporter_scrapes_totalCounterTotal number of scrapes
hetzner_inventory_image_countGaugeNumber of images (snapshots,backups) in project
hetzner_inventory_image_sizeGaugeCumulative size of all images in project
hetzner_inventory_load_balancersGaugeNumber of load balancers in project
hetzner_inventory_network_countGaugeNumber of networks in project
hetzner_inventory_server_countGaugeNumber of servers in project
hetzner_inventory_volume_countGaugeNumber of volumes in project
hetzner_inventory_volume_sizeGaugeCumulative size of all volumes in project

⁠Example exporter output

curl --silent localhost:9112/metrics | grep ^hetzner

hetzner_exporter_last_scrape_error 0
hetzner_exporter_scrapes_total 2
hetzner_inventory_exporter_build_info{branch="",goversion="go1.16.8",revision="",version=""} 1
hetzner_inventory_image_count{project="my-project-1"} 2
hetzner_inventory_image_count{project="my-project-2"} 1
hetzner_inventory_image_count{project="my-project-3"} 1
hetzner_inventory_image_size{project="my-project-1"} 2.327502489089966
hetzner_inventory_image_size{project="my-project-2"} 0.7621023654937744
hetzner_inventory_image_size{project="my-project-3"} 0.7770731449127197
hetzner_inventory_load_balancers{project="my-project-1"} 0
hetzner_inventory_load_balancers{project="my-project-2"} 2
hetzner_inventory_load_balancers{project="my-project-3"} 3
hetzner_inventory_network_count{project="my-project-1"} 1
hetzner_inventory_network_count{project="my-project-2"} 1
hetzner_inventory_network_count{project="my-project-3"} 1
hetzner_inventory_server_count{project="my-project-1"} 0
hetzner_inventory_server_count{project="my-project-2"} 9
hetzner_inventory_server_count{project="my-project-3"} 7
hetzner_inventory_volume_count{project="my-project-1"} 0
hetzner_inventory_volume_count{project="my-project-2"} 2
hetzner_inventory_volume_count{project="my-project-3"} 2
hetzner_inventory_volume_size{project="my-project-1"} 0
hetzner_inventory_volume_size{project="my-project-2"} 120
hetzner_inventory_volume_size{project="my-project-3"} 120

Tag summary

Content type

-

Digest

Size

-

Last updated

almost 5 years ago

docker pull dnationcloud/hetzner-inventory-exporter:1.0.0