Red Hat Training

A Red Hat training course is available for RHEL 8

第 10 章 设置 PCP 指标的图形表示

根据 Performance Co-Pilot(PCP)收集的实时数据或数据,使用 pcpgrafanapcp redispcp bpftracepcp vector 的组合提供图形。

这部分论述了如何设置和访问 PCP 指标的图形表示。

10.1. 使用 pcp-zeroconf 设置 PCP

这个步骤描述了如何在带有 pcp-zeroconf 软件包的系统中设置 PCP。安装 pcp-zeroconf 软件包后,系统会将默认指标集记录到存档文件中。

流程

  • 安装 pcp-zeroconf 软件包:

    # yum install pcp-zeroconf

验证步骤

  • 确保 pmlogger 服务活跃,并开始归档指标:

    # pcp | grep pmlogger
     pmlogger: primary logger: /var/log/pcp/pmlogger/localhost.localdomain/20200401.00.12

其它资源

10.2. 设置 grafana-server

Grafana 生成可通过浏览器访问的图形。grafana-server 是 Grafana 仪表板的后端服务器。默认情况下,它侦听所有接口,并提供通过 Web 浏览器访问的 Web 服务。grafana-pcp 插件与后端中的 pmproxy 协议交互。

这个步骤描述了如何设置 grafana-server

流程

  1. 安装以下软件包:

    # yum install grafana grafana-pcp
  2. 重启并启用以下服务:

    # systemctl restart grafana-server
    # systemctl enable grafana-server

验证步骤

  • 确保 grafana-server 正在侦听请求并响应:

    # ss -ntlp | grep 3000
    LISTEN  0  128  *:3000  *:*  users:(("grafana-server",pid=19522,fd=7))
  • 确定安装了 grafana-pcp 插件:

    # grafana-cli plugins ls | grep performancecopilot-pcp-app
    
    performancecopilot-pcp-app @ 3.0.2

其它资源

  • pmproxy(1)grafana-server man page

10.3. 访问 Grafana Web UI

此流程描述了如何访问 Grafana Web 界面。

使用 Grafana web 界面,您可以:

  • 添加 PCP Redis、PCP bpftrace 和 PCP Vector 数据源
  • 创建仪表板
  • 查看任何有用的指标的概述
  • 在 PCP Redis 中创建警报

流程

  1. 在客户端系统中,打开浏览器并使用 grafana-server :3000 链接在端口 3000 上访问。

    192.0.2.0 替换为您的机器 IP。

  2. 若要进行第一次登录,请在 Email 或 usernamePassword 字段中输入 admin

    Grafana 会提示设置新密码以创建安全帐户。如果要稍后设置它,请点击 Skip

  3. 在菜单中,把鼠标移到 grafana gear icon Configuration 图标上,然后点击 Plugins
  4. Plugins 选项卡中,在 Search by name 或键入文本框中键入 performance co-pilot,然后单击 Performance Co-Pilot (PCP)插件。
  5. Plugins / Performance Co-Pilot 窗格中,单击 Enable
  6. 点击 Grafana grafana home page whirl icon 图标。此时会显示 Grafana Home 页面。

    图 10.1. 主仪表板

    Grafana 主页仪表板
    注意

    该屏幕的右上角有一个类似的 grafana top corner settings icon 图标,但它控制常规仪表板设置

  7. 在 Grafana Home 页面中,点 Add your first data source 添加 PCP Redis、PCP bpftrace 和 PCP Vector 数据源。有关添加数据源的更多信息,请参阅:

  8. 可选:在菜单中,把鼠标移到 admin 配置集 grafana logout option icon 图标上以更改 Preferences,包括 Edit Profile、changePasswordSign out

其它资源

  • grafana-cligrafana-server man page

10.4. 配置 PCP Redis

本节提供有关配置 PCP Redis 数据源的信息。

使用 PCP Redis 数据源来:

  • 查看数据归档
  • 使用 pmseries 语言查询时间序列
  • 分析多个主机间的数据

流程

  1. 安装 redis 软件包:

    # yum install redis
  2. 启动并启用以下服务:

    # systemctl start pmproxy redis
    # systemctl enable pmproxy redis
  3. 已安装并配置了邮件传输代理,例如 sendmailpostfix
  4. 确保 allow_loading_unsigned_plugins 参数在 grafana.ini 文件中被设置为 PCP Redis 数据库:

    # vi /etc/grafana/grafana.ini
    
    allow_loading_unsigned_plugins = pcp-redis-datasource
  5. 重启 grafana-server

    # systemctl restart grafana-server

验证步骤

  • 确保 pmproxyredis 正常工作:

    # pmseries disk.dev.read
    2eb3e58d8f1e231361fb15cf1aa26fe534b4d9df

    如果没有安装 redis 软件包,这个命令不会返回任何数据。

其它资源

  • pmseries(1) man page

10.5. 在 PCP Redis 数据源中创建面板和警报

添加 PCP Redis 数据源后,您可以使用有用的指标概述来查看仪表板,添加查询来视觉化负载图,并创建警报以帮助您在出现系统问题后查看系统问题。

先决条件

  1. 配置了 PCP Redis。如需更多信息,请参阅配置 PCP Redis
  2. grafana-server 可以访问。如需更多信息,请参阅访问 Grafana Web UI

流程

  1. 登录到 Grafana web UI。
  2. 在 Grafana Home 页面中,点 Add your first data source
  3. Add data source 窗格中,在 Filter by name 或键入文本框中键入 redis,然后单击 PCP Redis
  4. Data Sources / PCP Redis 窗格中,执行以下操作:

    1. URL 字段中添加 http://localhost:44322,然后点 Save & Test
    2. Dashboards 选项卡ImportPCP Redis: Host Overview,查看包含任何有用指标概述的仪表板。

      图 10.2. PCP Redis:主机概述

      pcp redis 主机概述
  5. 添加新面板:

    1. 在菜单中,把鼠标移到Create 图标DashboardAdd new panel 图标
    2. Query 选项卡中,从查询列表中选择 PCP Redis ,而不是选择的默认选项,在 A 的文本字段中输入 metric,例如 kernel.all.load 用于视觉化内核负载图形。
    3. 可选:添加面板标题和 描述,以及更新 Settings 中的其他选项。
    4. 单击 Save 以应用更改并保存仪表板添加仪表板名称.
    5. 单击 Apply 以应用更改,再返回到仪表板。

      图 10.3. pcp Redis 查询面板

      pcp redis 查询面板
  6. 创建警报规则:

    1. PCP Redis 查询面板中,点 redis alert icon Alert,然后点击 Create Alert
    2. 编辑 Rule 中的 Name 、Evaluate查询和 For 字段,并指定警报的条件
    3. 单击 Save 以应用更改并保存仪表板。单击 Apply 以应用更改,再返回到仪表板。

      图 10.4. 在 PCP Redis 面板中创建警报

      pcp redis 查询警报面板
    4. 可选:在同一面板中,向下滚动并点击 Delete 图标删除创建的规则。
    5. 可选:从菜单中点击 alerting bell icon Alerting 图标查看创建的具有不同警报状态的警报规则,编辑警报规则,或者从 Alert Rules 标签页中暂停现有规则。

      要为创建的警报规则添加通知频道以从 Grafana 接收警报通知,请参阅为警报添加通知频道

10.6. 为警报添加通知频道

通过添加通知频道,您可以在满足警报规则条件且系统需要进一步监控时收到来自 Grafana 的警报通知。

您可以从支持的通知列表中选择一个类型后接收这些警报,其中包括 DingDing、D iscord、电子邮件、Google Hangouts Chat、HipChatKafka REST Proxy 、LINE、Microsoft 团队、OptosGenie、PagerDuty、Prometheus Alertmanager、Pustom Alertmanager、Pensu Slack、Tlack、Thlegram、Threema Gateway、VicctorOpswebhook

先决条件

  1. grafana-server 可以访问。如需更多信息,请参阅访问 Grafana Web UI
  2. 已创建一个警报规则。如需更多信息,请参阅在 PCP Redis 数据源中创建面板和警报
  3. 配置 SMTP 并在 grafana/grafana.ini 文件中添加有效的发件人电子邮件地址:

    # vi /etc/grafana/grafana.ini
    
    [smtp]
    enabled = true
    from_address = abc@gmail.com

    使用有效的电子邮件地址替换

流程

  1. 在菜单中,把鼠标移到Alerting 图标上 点通知频道
  2. 在 Add notification channel details 窗格中,执行以下操作:

    1. Name 文本框中输入您的名称
    2. 选择通信类型,例如 Email 并输入电子邮件地址。您可以使用 ; 分隔符添加多个电子邮件地址。
    3. 可选:配置可选电子邮件设置 和通知设置
  3. Save
  4. 在警报规则中选择一个通知频道:

    1. 在菜单中,把鼠标移到 alerting bell icon Alerting 图标上,然后点击 Alert rules
    2. Alert Rules 选项卡,单击创建的警报规则。
    3. Notifications 选项卡上,从 Send to 选项选择您的通知频道名称,然后添加警报消息。
    4. 应用

10.7. 在 PCP 组件间设置身份验证

您可以使用 scram-sha-256 身份验证机制设置验证,PCP 通过简单身份验证层(SASL)框架支持这个机制。

注意

在 Red Hat Enterprise Linux 8.3 中,PCP 支持 scram-sha-256 身份验证机制。

流程

  1. scram-sha-256 身份验证机制安装 sasl 框架:

    # yum install cyrus-sasl-scram cyrus-sasl-lib
  2. 指定 pmcd.conf 文件中支持的身份验证机制和用户数据库路径:

    # vi /etc/sasl2/pmcd.conf
    
    mech_list: scram-sha-256
    
    sasldb_path: /etc/pcp/passwd.db
  3. 创建一个新用户:

    # useradd -r metrics

    使用您的用户名替换指标

  4. 在用户数据库中添加创建的用户:

    # saslpasswd2 -a pmcd metrics
    
    Password:
    Again (for verification):

    要添加创建的用户,您需要输入指标帐户密码

  5. 设置用户数据库的权限:

    # chown root:pcp /etc/pcp/passwd.db
    # chmod 640 /etc/pcp/passwd.db
  6. 重启 pmcd 服务:

    # systemctl restart pmcd

验证步骤

  • 验证 sasl 配置:

    # pminfo -f -h "pcp://127.0.0.1?username=metrics" disk.dev.read
    Password:
    disk.dev.read
    inst [0 or "sda"] value 19540

10.8. 安装 PCP bpftrace

安装 PCP bpftrace 代理来内省系统并从内核和用户空间追踪点收集指标。

bpftrace 代理使用 bpftrace 脚本来收集指标数据。bpftrace 脚本使用增强的 Berkeley Packet 过滤器(eBPF)。

这个步骤描述了如何安装 pcp bpftrace

先决条件

  1. 配置了 PCP。如需更多信息,请参阅使用 pcp-zeroconf 设置 PCP
  2. grafana-server 已配置。如需更多信息,请参阅设置 grafana-server
  3. 配置了 scram-sha-256 身份验证机制。如需更多信息,请参阅在 PCP 组件间设置身份验证

流程

  1. 安装 pcp-pmda-bpftrace 软件包:

    # yum install pcp-pmda-bpftrace
  2. 编辑 bpftrace.conf 文件并添加您在 {setting-up-authentication-betwe between-pcp-components} 中创建的用户:

    # vi /var/lib/pcp/pmdas/bpftrace/bpftrace.conf
    
    [dynamic_scripts]
    enabled = true
    auth_enabled = true
    allowed_users = root,metrics

    使用您的用户名替换指标

  3. 安装 bpftrace PMDA:

    # cd /var/lib/pcp/pmdas/bpftrace/
    # ./Install
    Updating the Performance Metrics Name Space (PMNS) ...
    Terminate PMDA if already installed ...
    Updating the PMCD control file, and notifying PMCD ...
    Check bpftrace metrics have appeared ... 7 metrics and 6 values

    pmda-bpftrace 现已安装,且只能在验证您的用户后使用。如需更多信息,请参阅查看 PCP bpftrace 系统分析仪表板

其它资源

  • pmdabpftrace(1)bpftrace man page

10.9. 查看 PCP bpftrace 系统分析仪表板

使用 PCP bpftrace 数据源,您可以从 pmlogger 或存档中不提供常规数据的源访问实时数据

在 PCP bpftrace 数据源中,您可以使用有用的指标概述来查看仪表板。

先决条件

  1. 已安装 PCP bpftrace。如需更多信息,请参阅安装 PCP bpftrace
  2. grafana-server 可以访问。如需更多信息,请参阅访问 Grafana Web UI

流程

  1. 登录到 Grafana web UI。
  2. 在 Grafana Home 页面中,点 Add your first data source
  3. Add data source 窗格中,在 Filter by name 中键入 bpftrace,或者键入文本框,然后单击 PCP bpftrace
  4. Data Sources / PCP bpftrace 窗格中,执行以下操作:

    1. URL 字段中添加 http://localhost:44322
    2. 切换 Basic Auth 选项,并在 UserPassword 字段中添加创建的用户凭据
    3. 点击 Save & Test

      图 10.5. 在数据源中添加 PCP bpftrace

      bpftrace auth
    4. Dashboards 选项卡ImportPCP bpftrace: System Analysis,以查看包含任何有用指标概述的仪表板。

      图 10.6. pcp bpftrace: 系统分析

      pcp bpftrace bpftrace 系统分析

10.10. 安装 PCP 向量

这个步骤描述了如何安装 pcp vector

流程

  1. 安装 pcp-pmda-bcc 软件包:

    # yum install pcp-pmda-bcc
  2. 安装 bcc PMDA:

    # cd /var/lib/pcp/pmdas/bcc
    # ./Install
    [Wed Apr  1 00:27:48] pmdabcc(22341) Info: Initializing, currently in 'notready' state.
    [Wed Apr  1 00:27:48] pmdabcc(22341) Info: Enabled modules:
    [Wed Apr  1 00:27:48] pmdabcc(22341) Info: ['biolatency', 'sysfork',
    [...]
    Updating the Performance Metrics Name Space (PMNS) ...
    Terminate PMDA if already installed ...
    Updating the PMCD control file, and notifying PMCD ...
    Check bcc metrics have appeared ... 1 warnings, 1 metrics and 0 values

其它资源

  • pmdabcc(1) man page

10.11. 查看 PCP 向量检查列表

PCP Vector 数据源显示实时指标数据,并使用 pcp 指标。它分析各个主机的数据。

添加 PCP Vector 数据源后,您可以使用有用的指标概述来查看仪表板,并查看清单中的相关故障排除或参考链接。

先决条件

  1. 已安装 PCP Vector。如需更多信息,请参阅安装 PCP Vector
  2. grafana-server 可以访问。如需更多信息,请参阅访问 Grafana Web UI

流程

  1. 登录到 Grafana web UI。
  2. 在 Grafana Home 页面中,点 Add your first data source
  3. Add data source 窗格中,键入 Filter by name 或键入文本框中的向量,然后点击 PCP Vector
  4. Data Sources / PCP Vector 窗格中,执行以下操作:

    1. URL 字段中添加 http://localhost:44322,然后点 Save & Test
    2. Dashboards 选项卡ImportPCP Vector: Host Overview 查看包含任何有用指标概述的仪表板。

      图 10.7. pcp 向量:主机概述

      PCP 向量主机概述
  5. 从菜单中,把鼠标悬停在 pcp plugin in grafana Performance Co-Pilot 插件上,然后单击 PCP Vector Checklist

    在 PCP 清单中,点击 pcp vector checklist troubleshooting doc 帮助或 pcp vector checklist warning 警告图标查看相关的故障排除或参考链接。

    图 10.8. Performance Co-Pilot / PCP Vector Checklist

    PCP 向量清单