使用 Datadog 指南监控 Ceph

Red Hat Ceph Storage 4

使用 Datadog 监控 Ceph 的指南

摘要

本文档提供有关使用 Datadog 监控工具监控 Ceph 存储集群状态的信息。
红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。详情请查看 CTO Chris Wright 信息

第 1 章 监控 Datadog 和 Ceph

Datadog 与 Ceph 集成可让 Datadog 执行和处理以下输出:

  • Ceph 状态
  • Ceph 健康详情
  • Ceph df 详细信息
  • Ceph osd perf ;以及
  • Ceph osd 池统计数据.

该集成使 Datadog 能够:

  • 监控红帽 Ceph 存储集群的状态和健康状况。
  • 监控 I/O 和性能指标.
  • 跟踪存储池之间的磁盘使用情况.

使用 Datadog

使用 Datadog 监控 Ceph 需要至少在一个 Ceph 监控节点上安装 Datadog 代理。在监控 Ceph 时,Datadog 代理将执行 Ceph 命令行参数。因此,每个 Ceph 节点都必须具有适当的 Ceph 密钥,以提供对集群的访问权限,通常在 /etc/ceph 中。代理执行 Ceph 命令后,它将红帽 Ceph 存储集群状态发送回 Datadog。然后,Datadog 将在 Datadog 用户界面中显示状态和统计信息。

由于 Datadog 使用代理,红帽 Ceph 存储集群必须能够访问互联网。但是,红帽 Ceph 存储集群不必可从互联网访问。

注意

Datadog 支持利用红帽 Ceph 存储版本 2 或更高版本检索 ceph 状态。Datadog 将在后续的 dd-agent 发行版中提供更新,以支持红帽 Ceph 存储集群 3 的 ceph 状态

重要

红帽与我们的技术合作伙伴合作,将本文档作为为客户提供服务。但是,红帽不提供对这个产品的支持。如果您需要此产品的技术协助,请联系 Datadog 获取支持。

第 2 章 安装 Datadog 进行 Ceph 集成

安装 Datadog 代理后,配置 Datadog 代理,以向 Datadog 报告 Ceph 指标。

先决条件

  • Ceph 监控节点的根级别访问权限。
  • 适当的 Ceph 密钥提供对红帽 Ceph 存储集群的访问权限。
  • 互联网访问.

流程

  1. 安装 Ceph 集成。

    1. 登录 Datadog 应用.用户界面将显示在屏幕左侧的导航。
    2. Integrations
    3. 在搜索字段中输入 ceph,或者滚动以查找 Ceph 集成。用户界面将显示 Ceph 集成 是否可用已安装
    4. 如果 可用,请单击 按钮进行安装。

      Datadog 集成
  2. 为 Ceph 配置 Datadog 代理

    1. 进入 Datadog Agent 配置目录:

      [root@mon ~]# cd /etc/dd-agent/conf.d
    2. ceph. yml.sample 文件创建 ceph. yaml 文件:

      [root@mon ~]# cp ceph.yaml.example ceph.yaml
    3. 修改 ceph.yaml 文件:

      [root@mon ~]# vim ceph.yaml

      示例

      以下是修改后的 ceph.yaml 文件的示例。

      init_config:
      
      instances:
      #  - tags:
      #    - name:mars_cluster
      #
      #    ceph_cmd: /usr/bin/ceph
      #    ceph_cluster: ceph
      #
      # If your environment requires sudo, please add a line like:
      #          dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
      # to your sudoers file, and uncomment the below option.
      #
      #    use_sudo: True

      取消注释 -tags-nameceph_commandceph_clusteruse_sudo: True 行。ceph_command 和 ceph_ cluster 的默认值分别为 /usr/bin/cephceph

      完成后,它类似如下:

      init_config:
      
      instances:
        - tags:
          - name:ceph-RHEL
      #
          ceph_cmd: /usr/bin/ceph
          ceph_cluster: ceph
      #
      # If your environment requires sudo, please add a line like:
      #          dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
      # to your sudoers file, and uncomment the below option.
      #
          use_sudo: True
    4. 修改 sudoers 文件:

      [root@mon ~]# visudo
    5. 添加以下行:

      dd-agent ALL=(ALL) NOPASSWD:/usr/bin/ceph
    6. 启用 Datadog 代理,以便在 Ceph 主机重启时重启它:

      [root@mon ~]# systemctl enable datadog-agent
    7. 重启 Datadog 代理:

      [root@mon ~]# systemctl status datadog-agent

第 3 章 为 Ceph 安装和配置 Datadog 代理

为 Ceph 安装 Datadog 代理,并将它配置为将 Ceph 数据报告回 Datadog 应用。

先决条件

  • Ceph 监控节点的根级别访问权限。
  • 适当的 Ceph 密钥提供对红帽 Ceph 存储集群的访问权限。
  • 互联网访问.

流程

  1. 登录 Datadog 应用.用户界面将显示在屏幕左侧的导航。
  2. Integrations。要从命令行安装代理,请单击屏幕顶部的代理 选项卡

    datadog 代理
  3. 打开命令行并输入单步命令行代理安装。

    示例

    [root@mon ~]# DD_API_KEY=KEY-STRING bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)"

注意

从 Datadog 用户界面复制示例,因为密钥与上例和每个用户帐户有所不同。

第 4 章 使用 Datadog 查看 Ceph 概述

在安装和配置 Datadog 与 Ceph 集成后,返回到 Datadog 应用。用户界面将显示在屏幕左侧的导航。

先决条件

  • 互联网访问.

流程

  1. 将鼠标悬停在 控制面板 上,以公开子菜单,然后单击 Ceph Overview

    Ceph 概述 datadog

    Datadog 提供 Ceph 存储群集的概述.

  2. 单击 Dashboards→New Dashboard 以创建自定义 Ceph 控制面板。

第 5 章 Datadog 的 Ceph 指标

Datadog 代理从 Ceph 收集以下指标:这些指标可以包含在自定义仪表板和警报中。

指标名称描述

ceph.commit_latency_ms

将操作提交到日志所需的时间。

ceph.apply_latency_ms

刷新磁盘更新所需的时间。

ceph.op_per_sec

给定池每秒 I/O 操作数。

ceph.read_bytes_sec

每秒读取的字节数.

ceph.write_bytes_sec

每秒写入的字节数。

ceph.num_osds

已知的存储守护进程数量。

ceph.num_in_osds

参与的存储守护进程数量。

ceph.num_up_osds

在线存储守护进程的数量。

ceph.num_pgs

可用的 PG 数量。

ceph.num_mons

监控守护进程的数量。

ceph.aggregate_pct_used

总体容量使用量指标。

ceph.total_objects

底层对象存储的对象数。

ceph.num_objects

给定池的对象数。

ceph.read_bytes

pool 读取字节数。

ceph.write_bytes

pool 写入字节数。

ceph.num_pools

池的数量。

ceph.pgstate.active_clean

active+clean PG 的数量。

ceph.read_op_per_sec

pool 每秒读取操作数。

ceph.write_op_per_sec

pool 每秒写入操作数。

ceph.num_near_full_osds

接近完整 OSD 的数量。

ceph.num_full_osds

完整 OSD 的数量。

ceph.osd.pct_used

完整或接近完整 OSD 的使用百分比。

第 6 章 在 Datadog 中创建警报

管理员可以创建监控器,以跟踪红帽 Ceph 存储集群的指标并生成警报。例如,如果 OSD 已停机,Datadog 可以警告管理员一个或多个 OSD 已停机。

先决条件

  • Ceph 监控节点的根级别访问权限.
  • 适当的 Ceph 密钥提供对红帽 Ceph 存储集群的访问权限。
  • 互联网访问.

流程

  1. 单击 Monitors 以查看 Datadog 监视器的概览。

    datadog 管理监控器
  2. 要创建 monitor,请选择 Monitors→New Monitor
  3. 选择检测方法。例如:"Threshold Alert。

    datadog 新 monitor
  4. 定义指标。要创建高级警报,请点击 Advanced…​ 链接。然后,从组合框中选择一个指标。例如,选择 ceph.num_in_osds Ceph 指标。
  5. Add Query+ 添加另一个查询。

    Datadog 监控 ceph 指标 1
  6. 从组合框中选择另一个指标。例如,选择 ceph.num_up_osds Ceph 指标。

    Datadog 监控 ceph 指标 2
  7. Express 这些查询 as: 字段中,输入 a-b,其中 aceph.num_in_osds 的值,b ceph.num_up_osds 的值。当差别 1 或 更大时,至少有一个 OSD 停机。
  8. 设置警报条件。例如,将触发器设置为 大于或等于, 阈值设为 总值, 而时间已到 1 分钟
  9. Alert threshold 字段设置为 1。如果集群中至少有一个 OSD,并且它没有启动并运行,monitor 将警告该用户。
  10. PreviewEdit 下方的输入字段中为 monitor 赋予标题。这是保存 monitor 所必需的。
  11. 在文本字段中输入警报的描述。

    Datadog 监控 ceph 指标 3
    注意

    text 字段支持指标变量和 Markdown 语法。

  12. 添加警报的接收者。这将向文本字段添加一个电子邮件地址。触发警报时,接收方将收到警报。