使用 ELK 查看 Ceph 读写速度(一)
最近用 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,看图里的参数吧。
下一篇里,我们将会讲解如何通过这些数据,创建一个 Kibana Dashboard,图形化查看 Ceph 集群读写状态。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Elasticsearch source filter检索案例
摘要: the best elasticsearch highlevel java rest api-----bboss Elasticsearch source filter检索案例分享 1.准备工作 参考文档《 高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端 先理解一下es source filter作用:通过在_source中指定includes和excludes,控制查询结果中哪些source字段要返回、哪些source字段不需要返回,source filter的dsl定义语法如下: { "_source": { "includes": [ "obj1.*", "obj2.*" ], "excludes": [ "*.description" ] }, "query" : { "term" : { "user" : "kimchy" } } } 本文演示动态从外部传入includes和excludes实现source filter功能,适用于includes和excludes动态变化的source filter场景。 2.定义source filt...
-
下一篇
Spring Boot系列(十)Spring Boot整合Elasticsearch全文搜索引擎
这一篇介绍Spring Boot整合Elasticsearch全文搜索引擎,需要springboot实战完整视频教程的,点击这里! Elastic Search是一个开源的,分布式,实时搜索和分析引擎。Spring Boot为Elasticsearch及Spring Data Elasticsearch提供的基于它的抽象提供了基本的配置。Spring Boot提供了一个用于聚集依赖的spring-boot-starter-data-elasticsearch 'StarterPOM'。 引入spring-boot-starter-data-elasticsearch依赖,在pom.xml配置文件中增加如下内容(基于之前章节“Spring Boot 构建框架”中的pom.xml文件): org.springframework.boot spring-boot-starter-data-elasticsearch 可以像其他Spring beans那样注入一个自动配置的ElasticsearchTemplate或Elasticsearch客户端实例。默认情况下,该实例将尝试连接到一个本地内...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2全家桶,快速入门学习开发网站教程
- Crontab安装和使用
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长



微信收款码
支付宝收款码