使用 ELK 查看 Ceph 读写速度(一)

简介: 最近用 ELK 解析 Ceph 的性能状态,metricbeat 6.x 版本里放出了测试中的 ceph 模块,但是居然没有读写速度参数。所以我们就改用 logstash 的 http_poller 模块,定时去查 ceph api,解析出需要的数据并绘出图形(我们将在第二章里讲到如何建立 kibana 看板)。

最近用 ELK 解析 Ceph 的性能状态,metricbeat 6.x 版本里放出了测试中的 ceph 模块,但是居然没有读写速度参数。所以我们就改用 logstash 的 http_poller 模块,定时去查 ceph api,解析出需要的数据并绘出图形(我们将在第二章里讲到如何建立 kibana 看板)。

首先是 input 部分里,我们使用 http_poller 来抓取。请把 IP 和端口按实际情况修改。http_poller 是个超好玩的模块,按照官方的举例,你可以用它来定时抓取亚马逊的商品页面,再通过一番解析后,可以得到某些商品的价格/销量等走势~~~

input {
  http_poller {
    urls => {
      cephPgStat => "http://192.168.1.1:5000/api/v0.1/pg/stat"
    }
    request_timeout => 60
    schedule => { every => "15s" }
    tags => ["ceph-pg-stat","ceph"]
  }
}

schedule 里我设置了每 15 秒查询一次,这个可以根据你的实际需求调整数据的粒度。

获取出来的信息是类似这样的

v32768479: 8000 pgs: 8000 active+clean; 8526 GB data, 29741 GB used, 152 TB / 181 TB avail; 347 kB/s rd, 8705 kB/s wr, 2246 op/s

然后我们用 filter 来处理。需要提前说明的是,我们这个 logstash filter 还不是完善的,有坑。在下一篇里我会解释原因并给出解决方法。

filter {
  if "ceph" in [tags] {
    grok {
      match => {
        "message" => [
          "%{GREEDYDATA}avail; %{INT:[ceph][cluster][read]} kB\/s rd, %{INT:[ceph][cluster][write]} kB\/s wr, %{INT:[ceph][cluster][op]} op\/s"
        ]
      }
      remove_field => "message"
    }
    mutate {
      convert => { "[ceph][cluster][read]" => "integer" }
      convert => { "[ceph][cluster][write]" => "integer" }
      convert => { "[ceph][cluster][op]" => "integer" }
    }
  }
}

output 里,我们给它一个独立的 index,方便以后的 index 清理维护。

output {
 if "ceph" in [tags] {
    elasticsearch {
      hosts => ["127.0.0.1"]
      index => "ceph-%{+YYYY.MM.dd}"
    }
  } else {
    elasticsearch {
      hosts => ["127.0.0.1"]
      index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    }
  }
}

于是我们在 kibana 里就看到了所需的数据了,这里就不敷述如何建立 search,看图里的参数吧。
111

下一篇里,我们将会讲解如何通过这些数据,创建一个 Kibana Dashboard,图形化查看 Ceph 集群读写状态。
222

目录
相关文章
|
API Ruby
使用 ELK 查看 Ceph 读写速度(二)
上一篇 使用 ELK 查看 Ceph 读写速度(一) 里,我们通过 ceph monit api 接口,抓取到了需要的数据。接下来,我们就要把这些数据图形化展示出来了。 首先我们使用还在实验阶段的 Visual Builder 建立一个曲线图。
2554 0
|
2月前
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
234 0
|
3月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
3月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
80 0
|
4月前
|
存储 监控 数据可视化
小白带你学习linux的ELK日志收集系统
小白带你学习linux的ELK日志收集系统
157 0
|
5月前
|
Web App开发 监控 NoSQL
ELK日志分析系统部署文档 1
ELK日志分析系统部署文档
113 0
|
3月前
|
存储 监控 安全
ELK7.x日志系统搭建 1. elk基础搭建
ELK7.x日志系统搭建 1. elk基础搭建
67 0
|
3月前
|
消息中间件 数据可视化 关系型数据库
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
151 0
|
5月前
|
消息中间件 Kafka 网络安全
淘东电商项目(49) -ELK+Kafka分布式日志收集(docker下搭建kafka)
淘东电商项目(49) -ELK+Kafka分布式日志收集(docker下搭建kafka)
61 0
|
2月前
|
存储 监控 关系型数据库
ELK架构监控MySQL慢日志
ELK架构监控MySQL慢日志