菜单
文档导航箭头 Grafana Alloy导航箭头 参考导航箭头 组件导航箭头 prometheus导航箭头 prometheus.exporter.redis
开源

prometheus.exporter.redis

prometheus.exporter.redis 组件内嵌了用于从 Redis 数据库收集指标的 redis_exporter

用法

alloy
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_keyscheck_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_keyscheck_single_keys参数之一时,必须将is_cluster参数设置为true

注意

设置export_client_port会增加所有Redis指标的分量。

导出字段

以下字段被导出,可以被其他组件引用。

名称类型描述
targetslist(map(string))可用于收集导出指标的目标。

例如,可以将targets传递给discovery.relabel组件以重写目标的标签集,或者传递给收集暴露指标的prometheus.scrape组件。

导出的目标使用由运行命令指定的配置的内存中流量地址。

组件健康

prometheus.exporter.redis仅在给定无效配置的情况下报告为不健康。在这些情况下,导出的字段将保留其最后的健康值。

调试信息

prometheus.exporter.redis不公开任何特定于组件的调试信息。

调试指标

prometheus.exporter.redis不公开任何特定于组件的调试指标。

示例

此示例使用prometheus.scrape组件收集prometheus.exporter.redis的指标

alloy
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:要将指标发送到的兼容Prometheus remote_write的服务器的URL。
  • USERNAME:用于remote_write API的认证的用户名。
  • PASSWORD:用于remote_write API的认证的密码。

兼容组件

prometheus.exporter.redis导出可以通过以下组件消费的数据

注意

连接某些组件可能不合理或组件可能需要进一步配置才能正确建立连接。有关更多详情,请参阅相关文档。