静态配置
默认情况下,prometheus 配置已在默认配置中预先配置。
需要更新的文件取决于网关部署方式:
- 宿主机或 Docker
- Kubernetes (Helm)
对于宿主机或 Docker 部署,配置以下设置:
config.yaml
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.
refresh_interval: 15 # Only available in APISIX.
# Set the interval for refreshing cached metric data, in seconds.
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
# - 100
# - 1000
# - 10000
# llm_completion_tokens_buckets: # 自 API7 Enterprise 3.9.14 版本起可用。
# # 设置 `apisix_llm_completion_tokens_dist` 直方图的 buckets,单位为 token。
# - 100
# - 1000
# - 10000
然后重新加载网关以使更改生效。
对于 Helm 部署,请更新用于渲染 plugin_attr.prometheus 的 Chart values,并保留 values 文件中的其他配置。
对于 APISIX Helm Chart,设置以下 values:
values.yaml
apisix:
pluginAttrs:
prometheus:
export_uri: /apisix/prometheus/metrics
metric_prefix: apisix_
enable_export_server: true
export_addr:
ip: 127.0.0.1
port: 9091
refresh_interval: 15
# Add the remaining prometheus plugin_attr fields here.
对于 API7 网关 Helm Chart,设置以下 values:
values.yaml
pluginAttrs:
prometheus:
export_uri: /apisix/prometheus/metrics
metric_prefix: apisix_
enable_export_server: true
export_addr:
ip: 127.0.0.1
port: 9091
fetch_metric_timeout: 5
allow_degradation: false
degradation_pause_steps: [ 60 ]
# Add the remaining prometheus plugin_attr fields here.
然后使用当前网关 release 对应的 Chart 应用 values 文件:
helm upgrade <release-name> <chart-name> -n <namespace> -f values.yaml
你可以使用内置变量创建 extra_labels。更多详情,请参阅添加额外标签。
参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
prefer_name
boolean
default:
false如果为 true,则在 Prometheus 指标中导出路由/服务名称而不是其 ID。