分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph( 二 )


当然我们也可分别设置不同mgr监听不同ip地址和端口
ceph config set mgr mgr/dashboard/$name/server_addr $IPceph config set mgr mgr/dashboard/$name/server_port $PORT提示:我们只需将上述命令中$name更改成对应mgr实例的名称,把$IP、$PORT更改为对应ip地址和端口即可;
访问对应主机的8443端口,看看对应服务是否可用?

分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph

文章插图
提示:可以看到现在访问mgr所在主机的8443端口,对应服务是可以正常通过https访问的;
当然我们可以使用ceph mgr servers来确认对应访问dashboard的url
[root@ceph-admin ~]# ceph mgr services{"dashboard": "https://ceph-mgr01.ilinux.io:8443/"}[root@ceph-admin ~]#提示:这里直接使用主机名的方式和对应监听端口组成的url , 在客户端访问要确定对应客户端主机能够解析对应主机名;
重启Dashboard、
[root@ceph-admin ~]# ceph mgr module disable dashboard[root@ceph-admin ~]# ceph mgr module enable dashboard[root@ceph-admin ~]#配置管理员认证信息
命令格式:ceph dashboard set-login-credentials <username> <password>
[root@ceph-admin ~]# ceph dashboard set-login-credentials admin adminUsername and password updated[root@ceph-admin ~]#验证:使用用户名为admin,密码为admin看看对应dashboard是否可登录?
分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph

文章插图
提示:可以看到使用admin用户和admin密码是可以正常登录面板的;到此面板的启用就到此为止;简单说下这个面板吧,这个面板主要输出一些监控指标数据,比如像存储池,主机,rdb,cephfs等等信息,它可以让我们一目了然的了解ceph集群各组件状态 , 以及存储状态等等信息;就是一个监控面板,其他没有别的东西了;
使用Prometheus监控Ceph
Prometheus简介
Prometheus是一套用go语言研发的开源的系统监控报警框架;它启发于Google的borgmon监控系统 , 由工作在SoundCloud的Google前员工在2012年创建,作为社区开源项目进行开发,并于2015年正式发布;2016年,Prometheus正式加入CNCF(Cloud Native Computing Foundation),成为受欢迎度仅次于iKubernetes的项目;作为新一代的监控框架,Prometheus具有以下特点;
1、强大的多维度数据模型;
1.1、时间序列数据通过metric名和键值对来区分;
1.2、所有的metrics都可以设置任意的多维标签;
1.3、数据模型更随意,不需要刻意设置为以点分割的字符串;
1.4、可以对数据模型进行聚合,切割和切片操作;
1.5、持双精度浮点类型 , 标签可以设置为全unicode;
2、灵活而强大的查询语句(ProQL):在同一个查询语句,可以对多个metrics进行乘法、加法、连接、取分数位等操作;
3、易于管理:Prometheus Server是一个单独的二进制文件,可直接在本地工作 , 不依赖于分布式存储;
4、高效:平均每个采样点仅占3.5bytes,且一个Prometheus server可以处理百万的metrics;
5、使用pull模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的metrics;
6、可以采用 push gateway的方式把时间序列数据推送至Prometheus server端;
7、可以通过服务器发现或者静态配置去获取监控的targets;有多种可视化图形界面;易于伸缩;
需要指出的是,由于数据采集可能会有丢失 , 所以Prometheus 不适合对采集数据要100%精准的情形;但如果用于记录时间序列数据,Prometheus具有很大的查询优势 , 此外,Prometheus 适用于微服务体系架构;
Prometheus架构图
分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph

文章插图
prometheus server:主服务 , 接受外部http请求,收集、存储与查询数据等;
prometheus targets: 静态收集的目标服务数据;
service discovery:动态发现服务;
prometheus alerting:报警通知组件,用于处理告警信息;
pushgateway:数据收集代理服务器(类似于zabbix proxy);
data visualization and export: 数据可视化与数据导出(访问客户端)
exporter:该组件主要作用是用来收集对应节点上的应用或主机指标数据的;不同应用有不同的export,比如,我们要收集mysql的指标数据,我们可以在对应mysql所在主机上部署mysql_exporter , 我们要收集redis的指标数据,我们可以在对应主机上部署redis_exporter,要收集某个Linux节点主机的指标数据,我们可以部署node_exporter到对应主机;即我们要收集什么指标数据,部署对应的exporter即可;

推荐阅读