prometheus.exporter.redis
prometheus.exporter.redis
组件内嵌了用于从 Redis 数据库收集指标的 redis_exporter
。
用法
prometheus.exporter.redis "LABEL" {
redis_addr = REDIS_ADDRESS
}
参数
以下参数可用于配置导出器的行为。省略的字段使用默认值。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
redis_addr | 字符串 | 要连接的 Redis 实例的地址(主机和端口)。 | 是 | |
redis_user | 字符串 | 用于身份验证的用户名。Redis ACL 用于 Redis 6.0 及以上版本。 | 否 | |
redis_password | 秘密 | Redis 实例的密码。 | 否 | |
redis_password_file | 字符串 | 包含密码的文件的路径。 | 否 | |
redis_password_map_file | 字符串 | 包含 Redis URI 到密码映射的 JSON 文件的路径。 | 否 | |
namespace | 字符串 | 度量指标的命名空间。 | "redis" | 否 |
config_command | 字符串 | 用于 CONFIG 命令的内容。 | "CONFIG" | 否 |
check_keys | 字符串列表 | 要导出值和长度的键模式列表,这些值和长度/大小将使用SCAN进行搜索。 | 否 | |
check_key_groups | 字符串列表 | 用于对键进行分组的 Lua 正则表达式(regex)列表。 | 否 | |
check_key_groups_batch_size | 整数 | 检查键或键分组批量大小的底层SCAN提示。 | 10000 | 否 |
max_distinct_key_groups | 整数 | 作为每个数据库的不同度量指标的数量。 | 100 | 否 |
check_single_keys | 字符串列表 | 要导出值和长度的单个键的列表。 | 否 | |
check_streams | 字符串列表 | 要导出有关流、组和消费者信息的流模式列表,这些信息将使用SCAN进行搜索。 | 否 | |
check_single_streams | 字符串列表 | 要导出有关流、组和消费者信息的单个流的列表。 | 否 | |
export_key_values | 布尔值 | 当使用 check_keys 或 check_single_keys 时,是否将键值作为标签导出。 | 是 | 否 |
count_keys | 字符串列表 | 要导出计数的单个键的列表。 | 否 | |
script_path | 字符串 | 用于收集额外指标的 Lua Redis 脚本的路径。 | 否 | |
script_paths | 字符串列表 | 用于收集额外指标的 Lua Redis 脚本路径的列表。 | 否 | |
connection_timeout | 持续时间 | 连接到 Redis 实例的超时时间(Golang持续时间格式)。 | "15s" | 否 |
tls_client_key_file | 字符串 | 如果服务器需要TLS客户端身份验证,则包括完整路径的客户端密钥文件名。 | 否 | |
tls_client_cert_file | 字符串 | 如果服务器需要TLS客户端身份验证,则包括完整路径的客户端证书文件名。 | 否 | |
tls_ca_cert_file | 字符串 | 如果服务器需要TLS客户端身份验证,则包括完整路径的CA证书文件名。 | 否 | |
set_client_name | 布尔值 | 是否将客户端名称设置为redis_exporter 。 | 是 | 否 |
is_tile38 | 布尔值 | 是否抓取Tile38特定指标。 | 否 | |
is_cluster | 布尔值 | 连接是否为目标Redis集群。 | 否 | |
export_client_list | 布尔值 | 是否抓取客户端列表特定指标。 | 否 | |
export_client_port | 布尔值 | 在导出客户端列表时是否包含客户端端口。 | 否 | |
redis_metrics_only | 布尔值 | 是否仅导出指标,或者同时导出Go运行时指标。 | 否 | |
ping_on_connect | 布尔值 | 在连接后是否ping Redis实例。 | 否 | |
incl_system_metrics | 布尔值 | 是否包含系统指标。例如 redis_total_system_memory_bytes 。 | 否 | |
skip_tls_verification | 布尔值 | 是否跳过TLS验证。 | 否 |
如果定义了redis_password_file
,则它的优先级高于redis_password
。
当check_key_groups
没有设置时,不会创建任何键组。
check_key_groups_batch_size
参数的名称反映了键组,以向后兼容,但它适用于键和键组。
参数script_path
也可以指定为逗号分隔的路径字符串,尽管在同时使用多个Lua脚本时建议使用script_paths
。
超过max_distinct_key_groups
的剩余键组将汇总到'overflow'桶中。
当连接到Redis集群并使用check_keys
和check_single_keys
参数之一时,必须将is_cluster
参数设置为true
。
注意
设置export_client_port
会增加所有Redis指标的分量。
导出字段
以下字段被导出,可以被其他组件引用。
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 可用于收集导出指标的目标。 |
例如,可以将targets
传递给discovery.relabel
组件以重写目标的标签集,或者传递给收集暴露指标的prometheus.scrape
组件。
组件健康
prometheus.exporter.redis
仅在给定无效配置的情况下报告为不健康。在这些情况下,导出的字段将保留其最后的健康值。
调试信息
prometheus.exporter.redis
不公开任何特定于组件的调试信息。
调试指标
prometheus.exporter.redis
不公开任何特定于组件的调试指标。
示例
此示例使用prometheus.scrape
组件收集prometheus.exporter.redis
的指标
prometheus.exporter.redis "example" {
redis_addr = "localhost:6379"
}
// Configure a prometheus.scrape component to collect Redis metrics.
prometheus.scrape "demo" {
targets = prometheus.exporter.redis.example.targets
forward_to = [prometheus.remote_write.demo.receiver]
}
prometheus.remote_write "demo" {
endpoint {
url = PROMETHEUS_REMOTE_WRITE_URL
basic_auth {
username = USERNAME
password = PASSWORD
}
}
}
替换以下内容
PROMETHEUS_REMOTE_WRITE_URL
:要将指标发送到的兼容Prometheusremote_write
的服务器的URL。USERNAME
:用于remote_write
API的认证的用户名。PASSWORD
:用于remote_write
API的认证的密码。
兼容组件
prometheus.exporter.redis
导出可以通过以下组件消费的数据
- 消耗目标的组件
注意
连接某些组件可能不合理或组件可能需要进一步配置才能正确建立连接。有关更多详情,请参阅相关文档。