linux-system-roles.metrics
指标
这是一个 Ansible 角色,用于为被管理主机配置性能分析服务。可选地,它还包括将由被管理主机监视的远程系统列表。
要求
需要 Performance Co-Pilot (PCP) v5 及以上版本。所有软件包在 Fedora、CentOS 8 和 RHEL 8 的标准仓库中可用。在 RHEL 7 和 RHEL 6 上,您需要在被管理主机上启用可选的仓库/频道。
该角色可选地在 Fedora、CentOS 8、RHEL 8 及更高版本上使用 Grafana v6+(metrics_graph_service
) 和 Redis v5+ (metrics_query_service
)。
收集要求
如果将 metrics_manage_firewall
和 metrics_manage_selinux
设置为 true,则该角色需要来自 fedora.linux_system_roles
集合的 firewall
角色和 selinux
角色。(请参阅 角色变量
部分中的变量。)
如果 metrics
是来自 fedora.linux_system_roles
集合或 Fedora RPM 包的角色,则该要求已经满足。
该角色需要额外的集合以管理 rpm-ostree
系统。如果您需要管理 rpm-ostree
系统,请运行以下命令安装这些集合。
ansible-galaxy collection install -r meta/collection-requirements.yml
角色变量
metrics_monitored_hosts: []
要由被管理主机分析的远程主机列表。 这些主机会在被管理主机上记录性能指标,因此需要确保每个主机的 /var/log 下有足够的磁盘空间。
示例:
metrics_monitored_hosts: ["webserver.example.com", "database.example.com"]
metrics_webhook_endpoint: ''
需要发送自动检测到的性能问题通知的 Webhook 端点(URL)。默认情况下,这些事件仅记录到本地系统日志中。
metrics_retention_days: 14
保留历史性能数据的天数;超过此时间后将逐天移除。
metrics_graph_service: false
允许主机设置图形服务的布尔标志。启用此选项将启动 PCP 和 Grafana 服务器以可视化 PCP 指标。此选项需要在 Fedora、CentOS 8、RHEL 8 或更高版本上可用的 Grafana v6+。
metrics_query_service: false
允许主机设置时间序列查询服务的布尔标志。启用此选项将启动 PCP 和 Redis 服务器以查询记录的 PCP 指标。此选项需要在 Fedora、CentOS 8、RHEL 8 或更高版本上可用的 Redis v5+。
metrics_into_elasticsearch: false
允许将指标值导出到 Elasticsearch 的布尔标志。
metrics_from_elasticsearch: false
允许从 Elasticsearch 获取指标的布尔标志。
metrics_from_postfix: false
允许从 Postfix 获取指标的布尔标志。
metrics_from_mssql: false
允许从 SQL Server 获取指标的布尔标志。启用此标志需要与 SQL Server 进行“受信任”连接。
metrics_from_bpftrace: false
允许从 bpftrace 获取指标的布尔标志。
metrics_username: metrics
通过 PCP pmcd 守护进程建立对远程指标的认证访问的帐户。如需更多信息,请参见 https://pcp.readthedocs.io/en/latest/QG/AuthenticatedConnections.html。
此外,如果配置了 bpftrace 指标,则该用户帐户将能够注册 bpftrace 脚本。
metrics_password: metrics
请勿使用明文 metrics_password
。使用 Ansible Vault 加密密码。
执行动态 bpftrace 脚本时需要进行强制身份验证。
metrics_provider: pcp
用于提供指标的指标收集器。
当前仅支持 Performance Co-Pilot 作为指标提供者。使用 PCP 提供者时,将使用以下 TCP 端口 - 44321(pmcd,实时指标值采样),44322(pmproxy,使用 metrics_query_service 或 metrics_graph_service),6379(用于 metrics_query_service 的 redis-server)和 3000(用于 metrics_graph_service 的 grafana-server)。
metrics_manage_firewall: false
允许使用 firewall 角色配置防火墙的布尔标志。管理 pmcd 端口、pmproxy 端口、Grafana 端口和 Redis 端口,具体取决于配置参数。如果将此变量设置为 false,则 metrics role
不管理防火墙。
注意:metrics_manage_firewall
仅限于 添加 端口。不能用于 删除 端口。如果要删除端口,您需要直接使用防火墙系统角色。
注意:在 RHEL 6 上不支持防火墙管理。
metrics_manage_selinux: false
允许使用 selinux 角色配置 selinux 的布尔标志。根据配置参数分配 pmcd 端口、pmproxy 端口、Grafana 端口和 Redis 端口。如果将此变量设置为 false,则 metrics role
不管理 selinux。
请注意,pmcd 和 pmproxy 服务在“临时”范围内,无需特别设置,而 Grafana 端口是“未注册的”。Redis 端口由 redis_port_t SELinux 类型限制,并可能需要进一步配置,如果您需要直接访问(如果您是通过 metrics 角色工具如 Grafana 和 PCP 访问,则不需要)。使用 selinux
系统角色管理端口访问和 SELinux 上下文。
注意:metrics_manage_selinux
仅限于 添加 策略。不能用于 删除 策略。如果要删除策略,您需要直接使用 selinux 系统角色。
示例剧本
仅针对每个被管理主机的基本指标记录设置,保留一周的数据后清除。
---
- name: 管理指标服务
hosts: all
vars:
metrics_retention_days: 7
roles:
- linux-system-roles.metrics
可扩展的指标记录、分析和可视化设置,为被管理主机提供 REST API 服务器,带有 OpenMetrics 端点、图形和可扩展查询。
---
- name: 管理带有图形和查询服务的指标
hosts: all
vars:
metrics_graph_service: true
metrics_query_service: true
roles:
- linux-system-roles.metrics
针对多台远程主机的集中指标记录设置,以及针对本地主机的可扩展指标记录、分析和可视化设置,提供带有 OpenMetrics 端点、图形和可扩展查询的 REST API 服务器。
---
- name: 管理集中式指标收集
hosts: monitors
vars:
metrics_monitored_hosts: [app.example.com, db.example.com, nas.example.com]
metrics_graph_service: true
metrics_query_service: true
roles:
- linux-system-roles.metrics
rpm-ostree
请参见 README-ostree.md
许可证
MIT
Linux system role for metric collection
ansible-galaxy install linux-system-roles.metrics