Skip to main content

Static Configurations

By default,prometheus configurations are pre-configured in the default configuration.

To customize these values, add the corresponding configurations to config.yaml. For example:

plugin_attr:
prometheus: # Plugin: prometheus attributes
export_uri: /apisix/prometheus/metrics # Set the URI for the Prometheus metrics endpoint.
metric_prefix: apisix_ # Set the prefix for Prometheus metrics generated by APISIX.
enable_export_server: true # Enable the Prometheus export server.
export_addr: # Set the address for the Prometheus export server.
ip: 127.0.0.1 # Set the IP.
port: 9091 # Set the port.
fetch_metric_timeout: 5 # Only available in API7 Enterprise.
# Timeout for fetching metrics in seconds. If exceeded, the API only returns
# basic metrics, including nginx_http_current_connections, http_requests_total,
# etcd_reachable, prometheus_disable, node_info, etcd_modify_indexes,
# shared_dict_capacity_bytes, and shared_dict_free_space_bytes.
allow_degradation: false # Only available in API7 Enterprise.
# If true, allow degradation when shared memory is insufficient.
degradation_pause_steps: [ 60 ] # Only available in API7 Enterprise.
# Time to skip the execution of the plugin in seconds when the plugin is in
# degradation while reclaiming the shared memory used by the plugin.
# metrics: # Create extra labels for metrics.
# http_status: # These metrics will be prefixed with `apisix_`.
# extra_labels: # Set the extra labels for http_status metrics.
# - upstream_addr: $upstream_addr
# - status: $upstream_status
# expire: 0 # The expiration time of metrics in seconds.
# 0 means the metrics will not expire.
# http_latency:
# extra_labels: # Set the extra labels for http_latency metrics.
# - upstream_addr: $upstream_addr
# expire: 0 # The expiration time of metrics in seconds.
# 0 means the metrics will not expire.
# bandwidth:
# extra_labels: # Set the extra labels for bandwidth metrics.
# - upstream_addr: $upstream_addr
# expire: 0 # The expiration time of metrics in seconds.
# 0 means the metrics will not expire.
# default_buckets: # Set the default buckets for the `http_latency` metrics histogram.
# - 10
# - 50
# - 100
# - 200
# - 500
# - 1000
# - 2000
# - 5000
# - 10000
# - 30000
# - 60000
# - 500

You can use built-in variables to create extra_labels. See add extra labels for more details.

Reload APISIX for changes to take effect.

Parameters

See plugin common configurations for configuration options available to all plugins.

  • prefer_name

    boolean


    default: false


    If true, export route/service name instead of their ID in Prometheus metrics.

Plugin Metadata

The following plugin metadata are only available in API7 Enterprise.

  • disabled_labels

    object


    Labels that should be disabled, to reduce the number of metrics and prevent resource bottlenecks.

    • status

      array[string]


      vaild vaule:

      Any combination of code, route, route_id, matched_uri, matched_host, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_http_status metrics.

      In API7 Enterprise (from 3.9.7), the request_type, request_llm_model, and llm_model labels are also available for disabling. These labels are not available in APISIX.

    • latency

      array[string]


      vaild vaule:

      Any combination of type, route, route_id, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_http_latency metrics.

      In API7 Enterprise (from 3.9.7), the request_type, request_llm_model, and llm_model labels are also available for disabling. These labels are not available in APISIX.

    • bandwidth

      array[string]


      vaild vaule:

      Any combination of type, route, route_id, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_bandwidth metrics.

      In API7 Enterprise (from 3.9.7), the request_type, request_llm_model, and llm_model labels are also available for disabling. These labels are not available in APISIX.

    • llm_latency

      array[string]


      vaild vaule:

      Any combination of route, route_id, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_llm_latency metrics.

      Available in API7 Enterprise from version 3.9.7. Not available in APISIX.

    • llm_prompt_tokens

      array[string]


      vaild vaule:

      Any combination of route, route_id, matched_uri, matched_host, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_llm_prompt_tokens metrics.

      Available in API7 Enterprise from version 3.9.7. Not available in APISIX.

    • llm_completion_tokens

      array[string]


      vaild vaule:

      Any combination of route, route_id, matched_uri, matched_host, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_llm_completion_tokens metrics.

      Available in API7 Enterprise from version 3.9.7. Not available in APISIX.

    • llm_active_connections

      array[string]


      vaild vaule:

      Any combination of route, route_id, matched_uri, matched_host, service, service_id, consumer, node, request_type, request_llm_model, and llm_model


      Labels to disable for apisix_llm_active_connections metrics.

      Available in API7 Enterprise from version 3.9.7. Not available in APISIX.

API7.ai Logo

The digital world is connected by APIs,
API7.ai exists to make APIs more efficient, reliable, and secure.

Sign up for API7 newsletter

Product

API7 Gateway

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

Copyright © APISEVEN PTE. LTD 2019 – 2026. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation