文档文档

Memcached 输入插件

此插件从 Memcached 实例收集统计数据。

引入于: Telegraf v0.1.2 标签: server 操作系统支持: all

全局配置选项

插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md

配置

# Read metrics from one or many memcached servers.
[[inputs.memcached]]
  # An array of address to gather stats about. Specify an ip on hostname
  # with optional port. ie localhost, 10.0.0.1:11211, etc.
  servers = ["localhost:11211"]
  # An array of unix memcached sockets to gather stats about.
  # unix_sockets = ["/var/run/memcached.sock"]

  ## Optional TLS Config
  # enable_tls = false
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## If false, skip chain & host verification
  # insecure_skip_verify = true

Metrics

此插件的字段收集在 memcached 度量中。

字段

  • accepting_conns - 服务器是否正在接受连接
  • auth_cmds - 已处理的身份验证命令数量,成功或失败
  • auth_errors - 身份验证失败次数
  • bytes - 当前用于存储项目的字节数
  • bytes_read - 此服务器从网络读取的总字节数
  • bytes_written - 此服务器发送到网络的总字节数
  • cas_badval - 找到键的 CAS 请求数量,但 CAS 值不匹配
  • cas_hits - 成功的 CAS 请求数量
  • cas_misses - 针对缺失键的 CAS 请求数量
  • cmd_flush - flush 请求的累积数量
  • cmd_get - 检索请求的累积数量
  • cmd_set - 存储请求的累积数量
  • cmd_touch - touch 请求的累积数量
  • conn_yields - 由于达到 -R 限制而使任何连接让步给另一个连接的次数
  • connection_structures - 服务器分配的连接结构数量
  • curr_connections - 当前连接数
  • curr_items - 当前存储的项目数
  • decr_hits - 成功的 decr 请求数量
  • decr_misses - 针对缺失键的 decr 请求数量
  • delete_hits - 导致项目被删除的删除请求数量
  • delete_misses - 针对缺失键的删除请求数量
  • evicted_active - 从 LRU 中驱逐的近期被命中但未跳转到 LRU 顶部的项目
  • evicted_unfetched - 从 LRU 中驱逐的从未被 get/incr/append 等操作触及的项目
  • evictions - 为了释放内存以容纳新项目而从缓存中删除的有效项目数量
  • expired_unfetched - 从 LRU 中拉出的、在过期前从未被 get/incr/append 等操作触及的项目
  • extstore_compact_lost - 在压缩过程中丢失的对象数量。当对象在被覆盖或驱逐之前无法被抢救或移动到其他页面时,就会发生这种情况。
  • extstore_compact_rescues - 在压缩过程中成功抢救的对象总数,这意味着它们已被移动到其他页面而不是被丢弃。
  • extstore_compact_resc_cold - 在压缩过程中抢救的冷对象(很少访问)数量。
  • extstore_compact_resc_old - 在压缩过程中抢救的较旧对象(可能访问频率较低)数量。
  • extstore_compact_skipped - 跳过的压缩操作数量,通常是由于页面不需要压缩或其他阻止其发生的条件。
  • extstore_page_allocs - 在外部存储系统中分配的总页面数。
  • extstore_page_evictions - 从外部存储中驱逐(删除)的总页面数,通常是为了释放空间。
  • extstore_page_reclaims - 被重新利用和重复使用的先前被驱逐页面的总数。
  • extstore_pages_free - 外部存储中当前空闲(未分配)的页面数量。
  • extstore_pages_used - 外部存储系统中当前使用的页面数量。
  • extstore_objects_evicted - 从外部存储中驱逐的对象总数,通常是为了释放空间。
  • extstore_objects_read - 从外部存储中读取的对象总数。
  • extstore_objects_written - 写入外部存储的对象总数。
  • extstore_objects_used - 外部存储系统中当前使用的活动对象数量。
  • extstore_bytes_evicted - 从外部存储中驱逐的字节总数。
  • extstore_bytes_written - 写入外部存储的字节总数。
  • extstore_bytes_read - 从外部存储中读取的字节总数。
  • extstore_bytes_used - 外部存储中当前使用的字节总数。
  • extstore_bytes_fragmented - 外部存储中总共碎片化的字节数,代表已分配但未完全利用的空间。
  • extstore_limit_maxbytes - 外部存储可以使用的最大字节数限制。
  • extstore_io_queue - I/O 队列的当前长度,代表外部存储的待处理输入/输出操作。
  • get_expired - 请求过但已过期的项目数量
  • get_flushed - 请求过但已通过 flush_all 清除的项目数量
  • get_hits - 请求过且存在的键的数量
  • get_misses - 请求过但未找到的项目数量
  • hash_bytes - 哈希表当前使用的字节数
  • hash_is_expanding - 指示哈希表是否正在增长到新大小
  • hash_power_level - 哈希表的当前大小乘数
  • incr_hits - 成功的 incr 请求数量
  • incr_misses - 针对缺失键的 incr 请求数量
  • limit_maxbytes - 此服务器允许用于存储的字节数
  • listen_disabled_num - 服务器停止接受新连接的次数 (maxconns)
  • max_connections - 最大并发连接数
  • reclaimed - 使用过期条目的内存存储条目的次数
  • rejected_connections - 在 maxconns_fast 模式下被拒绝的连接
  • store_no_memory - 由于内存限制耗尽且驱逐被禁用而拒绝的存储请求数量
  • store_too_large - 由于尝试写入大于项目大小限制的值而拒绝的存储请求数量
  • threads - 请求的工作线程数
  • total_connections - 服务器开始运行以来打开的总连接数
  • total_items - 服务器开始运行以来存储的总项目数
  • touch_hits - 已更新过期时间的键的数量
  • touch_misses - 已触碰但未找到的项目数量
  • uptime - 服务器开始运行以来的秒数

收集字段的描述来自 memcached 协议文档

标签

  • Memcached 度量具有以下标签
    • server (收集指标的主机名)

示例查询

您可以使用以下查询来获取平均 get命中率和未命中率,以及每个服务器的缓存项目总平均大小、缓存项目数量和平均连接数。

SELECT mean(get_hits) / mean(cmd_get) as get_ratio, mean(get_misses) / mean(cmd_get) as get_misses_ratio, mean(bytes), mean(curr_items), mean(curr_connections) FROM memcached WHERE time > now() - 1h GROUP BY server

示例输出

memcached,server=localhost:11211 accepting_conns=1i,auth_cmds=0i,auth_errors=0i,bytes=0i,bytes_read=7i,bytes_written=0i,cas_badval=0i,cas_hits=0i,cas_misses=0i,cmd_flush=0i,cmd_get=0i,cmd_set=0i,cmd_touch=0i,conn_yields=0i,connection_structures=3i,curr_connections=2i,curr_items=0i,decr_hits=0i,decr_misses=0i,delete_hits=0i,delete_misses=0i,evicted_active=0i,evicted_unfetched=0i,evictions=0i,expired_unfetched=0i,get_expired=0i,get_flushed=0i,get_hits=0i,get_misses=0i,hash_bytes=524288i,hash_is_expanding=0i,hash_power_level=16i,incr_hits=0i,incr_misses=0i,limit_maxbytes=67108864i,listen_disabled_num=0i,max_connections=1024i,reclaimed=0i,rejected_connections=0i,store_no_memory=0i,store_too_large=0i,threads=4i,total_connections=3i,total_items=0i,touch_hits=0i,touch_misses=0i,uptime=3i 1644771989000000000

此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2