Skip to content

vibe-ad/graphql-exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GrapqhQL exporter

Exporter is designed to build and display metrics based on GraphQL query results.

config_examle.json shows basic usage case (in this case data from Netbox) and builds 3 metrics from PromQL query result given below:

  "data": {
    "device_list": [
      {
        "name": "server",
        "serial": "1234",
        "custom_fields": {
          "price": "7408.80",
          "mgmt_mac": "11:11:11:11:11:00",
          "cpu_count": null,
          "mgmt_user": "root",
          "order_date": "2022-03-01",
          "memory_total": 512,
          "mgmt_password": "password",
          "price_per_month": "205.8",
          "depreciation_date": "2025-02-28",
          "depreciation_rate": "33.33",
          "order_contract_id": "contract-nr1",
          "storage_total_hdd": 0,
          "storage_total_ssd": 893
        }
      }
    ]
  }
}

Metrics results in:

# HELP graphql_exporter_custom_fields_depreciation_date Deprecation date
# TYPE graphql_exporter_custom_fields_depreciation_date gauge
graphql_exporter_custom_fields_depreciation_date{name="server",order_contract_id="contract-nr1",serial="1234",value="2025-02-28"} 1
# HELP graphql_exporter_custom_fields_memory_total Device memory total
# TYPE graphql_exporter_custom_fields_memory_total gauge
graphql_exporter_custom_fields_memory_total{name="server",order_contract_id="contract-nr1"} 512
# HELP graphql_exporter_custom_fields_price Device price
# TYPE graphql_exporter_custom_fields_price gauge
graphql_exporter_custom_fields_price{name="server",order_contract_id="contract-nr1"} 7408.8

API token can be overridden with GRAPHQLAPITOKEN env variable. CacheExpire configuration parameter defines cache validity period. Value of 0 disables caching.

About

GraphQL prometheus exporter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%