community.general.redis_info 模块 – 收集有关 Redis 服务器的信息

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 软件包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: community.general.redis_info

community.general 0.2.0 中的新增功能

概要

  • 收集有关 Redis 服务器的信息和统计数据。

要求

在执行此模块的主机上需要以下要求。

  • redis

  • certifi

参数

参数

注释

ca_certs

字符串

community.general 7.5.0 中新增

根证书文件路径。如果未设置且 tls 设置为 true,则将使用 certifi ca-certificates。

client_cert_file

字符串

community.general 9.3.0 中新增

客户端证书文件路径。

client_key_file

字符串

community.general 9.3.0 中新增

客户端私钥文件路径。

cluster

布尔值

community.general 9.1.0 中新增

获取有关集群状态的信息,作为 cluster

选项

  • false ← (默认)

  • true

login_host

字符串

指定运行数据库的目标主机。

默认值: "localhost"

login_password

字符串

指定用于身份验证的密码。

目标为 localhost 时通常不使用。

login_port

整数

指定要连接到的端口。

默认值: 6379

login_user

字符串

community.general 7.5.0 中新增

指定用于身份验证的用户。

需要 redis >= 3.4.0。

tls

布尔值

community.general 7.5.0 中新增

指定是否使用 TLS 进行连接。

选项

  • false ← (默认)

  • true

validate_certs

布尔值

community.general 7.5.0 中新增

指定是否验证 TLS 证书。

仅对于个人控制的站点或以 localhost 作为目标时才应将其关闭。

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: 不支持

此操作不会修改状态。

处于差异模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

另请参阅

另请参阅

community.general.redis

各种 redis 命令、副本和刷新。

示例

- name: Get server information
  community.general.redis_info:
  register: result

- name: Print server information
  ansible.builtin.debug:
    var: result.info

- name: Get server cluster information
  community.general.redis_info:
    cluster: true
  register: result

- name: Print server cluster information
  ansible.builtin.debug:
    var: result.cluster_info

返回值

此处记录了常见的返回值 此处,以下是此模块独有的字段

描述

cluster

字典

community.general 9.1.0 中新增

默认的集群信息部分集合 https://redis.ac.cn/commands/cluster-info

返回:如果 cluster=true,则返回成功。

示例: {"cluster_current_epoch": 6, "cluster_known_nodes": 6, "cluster_my_epoch": 2, "cluster_size": 3, "cluster_slots_assigned": 16384, "cluster_slots_fail": 0, "cluster_slots_ok": 16384, "cluster_slots_pfail": 0, "cluster_state": "ok", "cluster_stats_messages_received": 1483968, "cluster_stats_messages_sent": 1483972, "total_cluster_links_buffer_limit_exceeded": 0}

信息

字典

默认的服务器信息部分集合 https://redis.ac.cn/commands/info

返回:成功

示例: {"active_defrag_hits": 0, "active_defrag_key_hits": 0, "active_defrag_key_misses": 0, "active_defrag_misses": 0, "active_defrag_running": 0, "allocator_active": 932409344, "allocator_allocated": 932062792, "allocator_frag_bytes": 346552, "allocator_frag_ratio": 1.0, "allocator_resident": 947253248, "allocator_rss_bytes": 14843904, "allocator_rss_ratio": 1.02, "aof_current_rewrite_time_sec": -1, "aof_enabled": 0, "aof_last_bgrewrite_status": "ok", "aof_last_cow_size": 0, "aof_last_rewrite_time_sec": -1, "aof_last_write_status": "ok", "aof_rewrite_in_progress": 0, "aof_rewrite_scheduled": 0, "arch_bits": 64, "atomicvar_api": "atomic-builtin", "blocked_clients": 0, "client_recent_max_input_buffer": 4, "client_recent_max_output_buffer": 0, "cluster_enabled": 0, "config_file": "", "configured_hz": 10, "connected_clients": 4, "connected_slaves": 0, "db0": {"avg_ttl": 1945628530, "expires": 16, "keys": 3341411}, "evicted_keys": 0, "executable": "/data/redis-server", "expired_keys": 9, "expired_stale_perc": 1.72, "expired_time_cap_reached_count": 0, "gcc_version": "9.2.0", "hz": 10, "instantaneous_input_kbps": 0.0, "instantaneous_ops_per_sec": 0, "instantaneous_output_kbps": 0.0, "keyspace_hits": 0, "keyspace_misses": 0, "latest_fork_usec": 0, "lazyfree_pending_objects": 0, "loading": 0, "lru_clock": 11603632, "master_repl_offset": 118831417, "master_replid": "0d904704e424e38c3cd896783e9f9d28d4836e5e", "master_replid2": "0000000000000000000000000000000000000000", "maxmemory": 0, "maxmemory_human": "0B", "maxmemory_policy": "noeviction", "mem_allocator": "jemalloc-5.1.0", "mem_aof_buffer": 0, "mem_clients_normal": 49694, "mem_clients_slaves": 0, "mem_fragmentation_bytes": 12355480, "mem_fragmentation_ratio": 1.01, "mem_not_counted_for_evict": 0, "mem_replication_backlog": 1048576, "migrate_cached_sockets": 0, "multiplexing_api": "epoll", "number_of_cached_scripts": 0, "os": "Linux 3.10.0-862.14.4.el7.x86_64 x86_64", "process_id": 1, "pubsub_channels": 0, "pubsub_patterns": 0, "rdb_bgsave_in_progress": 0, "rdb_changes_since_last_save": 671, "rdb_current_bgsave_time_sec": -1, "rdb_last_bgsave_status": "ok", "rdb_last_bgsave_time_sec": -1, "rdb_last_cow_size": 0, "rdb_last_save_time": 1588702236, "redis_build_id": "a31260535f820267", "redis_git_dirty": 0, "redis_git_sha1": 0, "redis_mode": "standalone", "redis_version": "999.999.999", "rejected_connections": 0, "repl_backlog_active": 1, "repl_backlog_first_byte_offset": 118707937, "repl_backlog_histlen": 123481, "repl_backlog_size": 1048576, "role": "master", "rss_overhead_bytes": -3051520, "rss_overhead_ratio": 1.0, "run_id": "8d252f66c3ef89bd60a060cf8dc5cfe3d511c5e4", "second_repl_offset": 118830003, "slave_expires_tracked_keys": 0, "sync_full": 0, "sync_partial_err": 0, "sync_partial_ok": 0, "tcp_port": 6379, "total_commands_processed": 885, "total_connections_received": 10, "total_net_input_bytes": 802709255, "total_net_output_bytes": 31754, "total_system_memory": 135029538816, "total_system_memory_human": "125.76G", "uptime_in_days": 53, "uptime_in_seconds": 4631778, "used_cpu_sys": 4.668282, "used_cpu_sys_children": 0.002191, "used_cpu_user": 4.21088, "used_cpu_user_children": 0.0, "used_memory": 931908760, "used_memory_dataset": 910774306, "used_memory_dataset_perc": "97.82%", "used_memory_human": "888.74M", "used_memory_lua": 37888, "used_memory_lua_human": "37.00K", "used_memory_overhead": 21134454, "used_memory_peak": 932015216, "used_memory_peak_human": "888.84M", "used_memory_peak_perc": "99.99%", "used_memory_rss": 944201728, "used_memory_rss_human": "900.46M", "used_memory_scripts": 0, "used_memory_scripts_human": "0B", "used_memory_startup": 791264}

作者

  • Pavlo Bashynskyi (@levonet)