找回密码
 注册
查看: 2755|回复: 0

ceph Prometheus 监控加告警

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-19 15:00:07 | 显示全部楼层 |阅读模式
1.Ceph早期(luminous版)为了了解ceph内部的集群状态开发了Dashboard面板,使用ceph-deploy命令看到的calamari就是相关程序,当suse收购的的商业Ceph后又开发了功能更为强大的Dashboard,后端代码使用CherryPy框架和自定义RESTAPI实现,WebUI基于Angular实现;而且Dashboard被当做一个模块整合到Manager中,由于该模块默认没被启用,需要安装mgr并并启用相关插件即可;2.Dashboard的功能模块很多需要按需启动才能正常使用,初始安装好只有最基本的Ceph集群以及RBD管理等功能,像文件存储、对象存储、iSCSI网关、NFS网关、监控都是没有集成的,都需要单独集成.3.启用Dashboard    ceph mgr module相关命令:        ~]$ ceph mgr module disable <module>    #禁用相关模块        ~]$ ceph mgr module enable <module>     #启用相关模块        ~]$ ceph mgr module ls  #列出所有模块            显示所有支持的模块,can_run表示是否支持启用    1.启⽤相关的Dashboard模块:        ~]$ ceph mgr module enable dashboard    2.禁用Dashboard的SSL功能        因为启用的dashboard模块默认拥有整个ceph所有信息(包括敏感信息),可以使用自签证书也可以关闭SSL功能。        ~]$ ceph config set mgr mgr/dashboard/ssl false        备注:            如果需要启用ssl功能,可以参考本文链接的官方文档中启用SSL部分的配置;    3.配置监听的地址和端⼝:        ~]$ ceph config set mgr mgr/dashboard/server_addr 0.0.0.0        ~]$ ceph config set mgr mgr/dashboard/server_port 7000        注意:            此处必须设置监控地址为0.0.0.0,而不能是直接IP地址,因为其监控的是所有本地地址包括IPV4和IPV6,同时也不能禁用IPV6地址    4.设置登录dashboard的管理员用户及密码,命令格式:        ceph dashboard set-login-credentials <username> <password>        或者        ceph dashboard ac-user-create <username> <password> administrator            #administrator是指创建的用户为管理员角色。        ~]$ ceph dashboard set-login-credentials admin admin            #创建admin用户    5.确认并登录        ~]$ ceph mgr services            {                "dashboard": "http://stor02.cre.io:7000/"            }        登录:            http://stor02.cre.io:7000      #使用用户密码登录4.Ceph Dashboard中的其他重要功能模块    1.如上图1示:是mimic版的dashboard面板(刚发布的N版功能比此图上更多),如果安装并启动了三种接口的守护进程,就可以在面板看到块设备Block、FileSystems文件系统、ObjectGateway对象存储的各自详细信息了。    2.Dashboard还可以启用更多功能,如:iscis、RBD-mirror、NFS、Prometheus        1.iscis            1.Ceph从Luminous版本块存储开始支持iSCSI,Ceph中实现iscsi方式有两种:    一种是通过Linux target framework(tgt)实现,                一种是通过Linux-IO Target(lio)用软件实现各种SCIS Target                不过LIO现在也是官方推荐的方式。            2.Ceph-iscsi原理及部署详见:                https://blog.csdn.net/wylfengyuj ... e/details/105348766        2.RBD-mirror            Ceph-Dashboard中界面中默认启用了rbd-mirror的配置界面,需要手工安装rbd mirror服务,配置使用rbd-mirror详见相关文章        3.NFS            1.N版的Dashboard还把NFS页签放到状态栏中方便监控,Ceph从Jewel版开始,nfs-ganesha开始支持ceph,ganesha通过两种方式支持将ceph导出为nfs,分别是:一种通过rgw,一种通过cephfs,FSAL_RGW调用librgw2将NFS协议转义为S3协议再通过RGW存入到Ceph中,FSAL_CEPH调用libcephfs2将NFS转义为Cephfs协议再存入到Ceph中,但之前都是命令行方式的支持,在CephNautilus中Ceph Dashboard现在也支持配置这两种方式的NFS            2.NFS的两种实现详见:                https://mp.weixin.qq.com/s/1TMfqxxE5I2eIhtXPPoRpQ        4.Prometheus  见下文

# s( S9 o; U; F" u4 d) B2 T+ J* A使用Prometheus监控Ceph
1.Ceph的Dashboard只适合查看集群状态,生产环境中最好还是把监控ceph纳入到已有的zabbix或Prometheus监控系统中;由于Prometheus是一个restful风格的api,它是通过http或https接口进行数据指标采集的,但是很多被监控的应用并没有http接口,因此需要借助各自应用的exporter进行间接采集;2.mgr的prometheus_exporter和node_exporter    1.由于Ceph底层是rados协议没有http接口,所以也需要有单独的exporter进行采集,只需要在ceph的一个节点上安装prometheus_exporter,获得cephX授权后通过mon或mgr查询ceph集群信息后,把采集到的数据转为与prometheus兼容的格式并通过http协议响应prometheus的拉取请求;好在这个prometheus_exporter是直接内置在Ceph的mgr模块中的,只需要启用该模块即可;    2.由于mgr内嵌的prometheus_exporter只是监控Ceph系统本身的数据,而每个ceph节点主机的cpu、内存信息还是需要部署node_exporter进行数据采集监控的;3.1.创建运⾏Prometheus Server进程的系统⽤⼾,并为其创建家⽬录/var/lib/prometheus作为数据存储⽬录;如果公司内部中已有prometheus,可省略下面部分的安装过程,直接进行监控ceph的配置部分即可;    ~]# useradd -r -m -d /var/lib/prometheus prometheus  #创建数据目录    ~]# tar xf prometheus-2.7.2.linux-amd64.tar.gz -C /usr/local/        #官方下载二进制包解压    ~]# ln /usr/local/prometheus-2.7.2.linux-amd64 /usr/local/prometheus        #创建软链接    ~]# prometheus --version    #查看prometheus版本    创建Prometheus专⽤的Unit File文件放在/usr/lib/systemd/system/目录下        ~]# vim /usr/lib/systemd/system/prometheus.service            [Unit]            Documentation=https://prometheus.io            After=network.target            [Service]            EnvironmentFile=-/etc/sysconfig/prometheus            User=prometheus            ExecStart=/usr/local/prometheus/prometheus \                    --storage.tsdb.path=/var/lib/prometheus \                    --config.file=/usr/local/prometheus/prometheus.yml \                    --web.listen-address=0.0.0.0:9090 \                    --web.external-url=            Restart=on-failure            StartLimitInterval=1            RestartSec=3            [Install]            WantedBy=multi-user.target3.2.每个Ceph节点安装node_exporter采集ceph节点主机的数据    ~]# tar xf node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/     ~]# ln -sv /usr/local/node_exporter-0.17.0.linux-amd64 /usr/local/node_exporte    ~]# useradd -r -m -d /var/lib/prometheus prometheus        创建运⾏Prometheus Server进程的系统⽤⼾,并为其创建家⽬录/var/lib/prometheus作为数据存储⽬录    ~]# vim /usr/lib/systemd/system/node_exporter.service        [Unit]        Documentation=https://github.com/prometheus/node_exporter        After=network.target        [Service]        EnvironmentFile=-/etc/sysconfig/node_exporter        User=prometheus        ExecStart=/usr/local/node_exporter/node_exporter \            $NODE_EXPORTER_OPTS        Restart=on-failure        StartLimitInterval=1        RestartSec=3        [Install]        WantedBy=multi-user.target    ~]# systemctl daemon-reload && systemctl start node_exporter.service    ~]# s -tunpl |grep 9100      #查看监控端口        tcp    LISTEN     0      128      :::9100     :::*   users:(("node_exporter",pid=6776,fd=3))    ~]# curl localhost:9100/metrics  #测试会否采集到指标数据3.3.启用Ceph-mgr中的promethues模块    ~]# ceph mgr module enable prometheus        #Prometheus模块默认监听于TCP协议的9283端⼝    ~]# ceph mgr services        {            "dashboard": "http://stor02.cre.io:7000/",            "prometheus": "http://stor02.cre.io:9128/"        }    ~]# ss -tunpl |grep 9128        tcp    LISTEN     0      5        :::9128      :::*    users:(("ceph-mgr",pid=1071,fd=22))        #会在Mgr所在的存储节点上开启9283端口3.4.Prometheus的主配置⽂件为prometheus.yml字段和格式解释    prometheus.yml文件主要由global、rule_files、scrape_configs、alerting、remote_write和remote_read⼏个配置段组成,其中:    1.global:全局配置段;    2.scrape_configs:配置要监控的目标对象        scrape配置集合,⽤于定义监控的⽬标对象(target)的集合,以及描述如何抓取(scrape)相关指标数据的配置参数;通常,每个scrape配置对应于⼀个单独的作业(job),⽽每个targets可通过静态配置(static_configs)直接给出定义,也可基于Prometheus⽀持的服务发现机制进⾏⾃动配置;    3.alertmanager_configs:指定配置监控的报警规则        可由Prometheus使⽤的Alertmanager实例的集合,以及如何同这些Alertmanager交互的配置参数;每个Alertmanager可通过静态配置(static_configs)直接给出定义,也可基于Prometheus⽀持的服务发现机制进⾏⾃动配置;    4.remote_write:        配置"远程写"机制,Prometheus需要将数据保存于外部的存储系统(例如InfluxDB)时定义此配置段,随后Prometheus将样本数据通过HTTP协议发送给由URL指定适配器(Adaptor);    5.remote_read:        配置"远程读"机制,Prometheus将接收到的查询请求交给由URL指定适配器(Adpater)执⾏,Adapter将请求条件转换为远程存储服务中的查询请求,并将获取的响应数据转换为Prometheus可⽤的格式    2.1.scrape配置段        1.使⽤static_configs静态配置Job的语法格式:            # The targets specified by the static config.            targets:              [ - '<host>' ]            # Labels assigned to all metrics scraped from the targets.            labels:              [ <labelname>: <labelvalue> ... ]        2.使⽤file_sd_configs基于文件发现机制配置Job的语法格式            [                {                    "targets": [ "<host>", ... ],                    "labels": {                      "<labelname>": "<labelvalue>", ...                    }                },                ...            ]3.5.配置prometheus监控ceph集群和ceph存储节点主机    ~]# vim /etc/prometheus/prometheus.yml        scrape_configs:          - job_name: 'prometheus'            static_configs:            - targets: ['111.231.143.40:9090']          - job_name: 'node_exporter'            static_configs:            - targets: ['stor01.cre.io:9100']            - targets: ['stor02.cre.io:9100']            - targets: ['stor03.cre.io:9100']          - job_name: 'ceph'        #   honor_labels: true            static_configs:            - targets: ['stor02.cre.io:9128']    注意事项:        1.job_name=node_exporter设置ceph集群的3个主机节点,job_name=ceph设置manager所在节点的主机名和Prometheus模块的端口;        2.注意prometheus中的targets中要写主机的FQDN格式的主机名,否者ceph dashboard中host details中不能正常显示监控数据,因为ceph dashboard是使用FQDN格式的主机名查询监控信息,如果prometheus中写的是IP会导致查询不到;而grafana使用IP查询,所以在grafana中不会有这种错误;        3.honor_labels=true必须有且设置为true,否者会导致CephDashbaord中显示grafana某些面板没有数据出现(这个待验证,个人认为可以设置此参数);        4.如果ceph集群中部署了多个manager,需要在job_name=ceph中添加多个targets将所有magr的地址都写上;(本ceph集群只部署了一个mgr)~]# systemctl daemon-reload~]# systemctl start prometheus && systemctl enable prometheus  #设置开启自启验证配置是否抓取到数据:    登录prometheus地址:http://111.231.143.40:9090,查看Targets页面上的prometheus、3个node、ceph mgr是否都是UP的即可:
3.安装Alertmanager并配置钉钉报警1.安装Alertmanager    ~]# mkdir /etc/alertmanager/    ~]# tar -zxvf alertmanager-0.21.0.linux-amd64.tar.gz /etc/alertmanager/    ~]# vim /etc/systemd/system/alertmanager.service        [Unit]        Description=Alertmanager        After=network-online.target        [Service]        Restart=on-failure        ExecStart=/etc/alertmanager/alertmanager --config.file=/etc/alertmanager/alertmanager.yml        [Install]        WantedBy=multi-user.target    ~]# systemctl daemon-reload    ~]# systemctl start alertmanager && systemctl enable alertmanager        #设置开机运行    ~]# ss -tunpl |grep 9093   #查看是否有监听端口        tcp    LISTEN     0      128      :::9093   :::*   users:(("alertmanager",pid=1737,fd=8))2.修改prometheus主配置文件,添加报警规则rule_files和alerting段落,并重启prometheus服务:    ~]# vim /etc/prometheus/prometheus.yml        global:          scrape_interval: 5s          evaluation_interval: 15s        rule_files:          - '/etc/prometheus/alerting/ceph_rules.yml' #Ceph的报警规则文件        alerting:          alertmanagers:          - scheme: http            static_configs:            - targets: ['111.231.143.40:9093']  #alertmanager的地址和端口        scrape_configs:          - job_name: 'prometheus'            static_configs:            - targets: ['111.231.143.40:9090']          - job_name: 'node_exporter'            static_configs:            - targets: ['stor01.cre.io:9100']            - targets: ['stor02.cre.io:9100']            - targets: ['stor03.cre.io:9100']          - job_name: 'ceph'        #   honor_labels: true            static_configs:            - targets: ['stor02.cre.io:9283']3.准备报警规则目录和监控ceph的报警规则    为了使得ceph集群出现故障时能够自动通过邮件等报警,我们需要定义一些Ceph集群正常运行的很多监控指标,比如下面这个报警规则中就包括了很多数据指标:        有:集群有waring事件时报警、集群处于error时报警、集群的OSD使用率大于85%时报警、OSD处于Down状态时报警、OSD所在的主机Down时报警、PG故障时报警、OSD写入延迟1s时报警、网络在5个时间间隔内丢包数超过10个时报警、Pool存储池使用率大于85%时报警、Mon故障时报警、ceph集群的中OSD总容量使用率大于85%时报警、每个OSD上的PG数大于275时报警;    上面这些报警规则都是ceph集群正常运行的基础,都是来源于使用经验总结;    ~]# mkdir /etc/prometheus/alerting/    #报警规则文件路径    ~]# cd /etc/prometheus/alerting/    ~]# vim ceph_rules.yml       #ceph集群的报警规则        groups:        - name: dashboard          rules:          - alert: Ceph Health Warning            expr: ceph_health_status == 1            for: 1m            labels:              severity: page            annotations:              summary: "Ceph Health Warning"              description: "Overall Ceph Health"          - alert: Ceph Health Error            expr: ceph_health_status > 1            for: 1m            labels:              severity: page            annotations:              summary: "Ceph Health Error"              description: "The Ceph cluster health is in an error state"          - alert: Disk(s) Near Full            expr: (ceph_osd_stat_bytes_used / ceph_osd_stat_bytes) * 100 > 85            for: 1m            labels:              severity: page            annotations:              summary: "Disk(s) Near Full"              description: "This shows how many disks are at or above 85% full. Performance may degrade beyond this threshold on filestore (XFS) backed OSD's."          - alert: OSD(s) Down            expr: ceph_osd_up < 0.5            for: 1m            labels:              severity: page            annotations:              summary: "OSD(s) Down"              description: "This indicates that one or more OSDs is currently marked down in the cluster."          - alert: OSD Host(s) Down            expr: count by(instance) (ceph_disk_occupation * on(ceph_daemon) group_right(instance) ceph_osd_up == 0) - count by(instance) (ceph_disk_occupation) == 0            for: 1m            labels:              severity: page            annotations:              summary: "OSD Host(s) Down"              description: "This indicates that one or more OSD hosts is currently down in the cluster."          - alert: PG(s) Stuck            expr: max(ceph_osd_numpg) > scalar(ceph_pg_active)            for: 1m            labels:              severity: page            annotations:              summary: "PG(s) Stuck"              description: "This indicates there are pg's in a stuck state, manual intervention needed to resolve."          - alert: OSD Host Loss Check            expr: max(sum(ceph_osd_stat_bytes - ceph_osd_stat_bytes_used)) * 0.9 < scalar(max(sum by (instance) (ceph_osd_stat_bytes + on (ceph_daemon) group_left (instance) (ceph_disk_occupation*0))))            for: 1m            labels:              severity: page            annotations:              summary: "OSD Host Loss Check"              description: "This indicates that the cluster @ 90% full is not enough to support the loss of the largest OSD host."          - alert: Slow OSD Responses            expr: ((irate(node_disk_read_time_seconds_total[5m]) / clamp_min(irate(node_disk_reads_completed_total[5m]), 1) + irate(node_disk_write_time_seconds_total[5m]) / clamp_min(irate(node_disk_writes_completed_total[5m]), 1)) and on (instance, device) ceph_disk_occupation) > 1            for: 1m            labels:              severity: page            annotations:              summary: "Slow OSD Responses"              description: "This indicates that some OSD Latencies are above 1s."          - alert: Network Errors            expr: sum by (instance, device) (irate(node_network_receive_drop_total{device=~"(eth|en|bond|ib|mlx|p).*"}[5m]) + irate(node_network_receive_errs_total{device=~"(eth|en|bond|ib|mlx|p).*"}[5m]) + irate(node_network_transmit_drop_total{device=~"(eth|en|bond|ib|mlx|p).*"}[5m]) + irate(node_network_transmit_errs_total{device=~"(eth|en|bond|ib|mlx|p).*"}[5m])) > 10            for: 1m            labels:              severity: page            annotations:              summary: "Network Errors"              description: "This indicates that more than 10 dropped/error packets are seen in a 5m interval"          - alert: Pool Capacity Low            expr: (ceph_pool_bytes_used / (ceph_pool_bytes_used + ceph_pool_max_avail) * 100 + on (pool_id) group_left (name) (ceph_pool_metadata*0)) > 85            for: 1m            labels:              severity: page            annotations:              summary: "Pool Capacity Low"              description: "This indicates a low capacity in a pool."          - alert: MON(s) Down            expr: ceph_mon_quorum_status != 1            for: 1m            labels:              severity: page            annotations:              summary: "MON(s) down"              description: "This indicates that one or more MON(s) is down."          - alert: Cluster Capacity Low            expr: sum(ceph_osd_stat_bytes_used) / sum(ceph_osd_stat_bytes) > 0.85            for: 1m            labels:              severity: page            annotations:              summary: "Cluster Capacity Low"              description: "This indicates raw used space crosses the 85% capacity threshold of the ceph cluster."          - alert: OSD(s) with High PG Count            expr: ceph_osd_numpg > 275            for: 1m            labels:              severity: page            annotations:              summary: "OSD(s) with High PG Count"              description: "This indicates there are some OSDs with high PG count (275+)."    ~]# systemctl restart prometheus  #重新启动prometheus4.验证报警规则    重新登录到prometheus地址:http://111.231.143.40:9090,如下图在Rules中可以看到我们添加到这些报警规则;
3.1.Alertmanager配置钉钉报警
参考钉钉官方文档. P. h+ e; T" ?- h, R" b7 g5 ^
钉钉项目地址
Alertmanager的报警方式有钉钉、微信、邮件等,这里使用钉钉报警方式;prometheus-webhook-dingtalk默认监听在8060端口(可配置其他端口)上,提供了以下路由供AlertManager的webhook_configs使用:    /dingtalk/<profile>/send    注意:        这里的<profile>需要在-ding.profile中指定相应的名称(<profile>)以及钉钉的自定义机器人WebHook URL(<dingtalk-webhook-url>)1.配置钉钉(配置多个钉钉机器人)    ~]# mkdir -p /usr/lib/golang/src/github.com/timonwong/    ~]# cd /usr/lib/golang/src/github.com/timonwong/    ~]# git clone https://github.com/timonwong/prometheus-webhook-dingtalk.git  #克隆钉钉项目到本地    ~]# cd prometheus-webhook-dingtalk    ~]# make      #make过程出错也不需要管    ~]# prometheus-webhook-dingtalk -h     #钉钉命令用法说明        usage: prometheus-webhook-dingtalk --ding.profile=DING.PROFILE [<flags>]        --web.listen-address=":8060"      #钉钉报警端口        --ding.profile=DING.PROFILE ...               #ding.profile是钉钉机器人的webhook,可以使用--ding.profile选项定义多个钉钉机器人        --ding.timeout=5s         --log.level=info                  #日志级别默认info    ~]# nohup ./prometheus-webhook-dingtalk \        --ding.profile="webhook=https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx" \        --ding.profile="webhook=https://oapi.dingtalk.com/robot/send?access_token=yyyyyyyyy" \        &> /var/log/dingding.log      #启动钉钉报警        注意:            1.--ding.profile中填的是钉钉机器人的webhook地址,如何添加钉钉机器人可以参考上面的钉钉官方文档;            2.此处使用--ding.profile选项填了两个钉钉机器人,用来向不同的钉钉群组发送报警消息;并将日志记录到/var/log/dingding.log中;2.在AlertManager的配置文件中加入相应的receiver(注意下面的 url)即可    ~]# vim /usr/local/prometheus/alertmanager.yml        global:          resolve_timeout: 5m        route:          group_by: ['alertname']          group_wait: 10s          group_interval: 10s          repeat_interval: 1h          receiver: 'web.hook'        receivers:        - name: 'send_to_dingding_webhook1'          webhook_configs:          - url: 'http://111.231.143.40:8060/dingtalk/webhook/send'        - name: 'send_to_dingding_webhook2'          webhook_configs:            url: 'http://111.231.143.40:8060/dingtalk/webhook2/send'        inhibit_rules:          - source_match:              severity: 'critical'            target_match:              severity: 'warning'            equal: ['alertname', 'dev', 'instance']        注:            在receivers中添加两个url实现向不同的钉钉群组发送报警消息;    ~]# systemctl restart alertmanager    ~]# systemctl restart prometheus.service        重启alertmanager和prometheus进行报警测试3.钉钉报警验证    通过关闭一个OSD后,钉钉会收到如下警告;OSD恢复后又会收到恢复正常通知;
4.安装grafana并配置安装grafana有两个作用,因为由于cephDashboard的Cluster页签中也集成了grafana仪表盘,所以当我们需要查看Ceph集群的监控数据信息时,可以通过两种方式查看:    1.登录到grafana地址查看我们导入的和ceph相关的dashboard    2.也可以登录到Ceph的Dashboard上,在Dahboard的Cluster页签中也有调用grafana展示监控数据的仪表盘;    说明:        通过上面哪种方式查看Ceph集群监控状态都可以,不过在我们公司习惯在直接在Grafana地址上去查看;下文会介绍如何让CephDashboard接入grafana的地址展示数据的;1.yum方式安装grafana(111.231.143.41节点)    ~]# vim /etc/yum.repos.d/grafana.repo      #配置grafana的yum源        [grafana]        name=grafana        baseurl=https://mirrors.cloud.tencent.com/grafana/yum/el7/        enabled=1        gpgcheck=0    ~]# yum -y install grafana -y    1.安装两个grafana展示的图形插件:折线图和饼图的插件        ~]# grafana-cli plugins install vonage-status-panel        ~]# grafana-cli plugins install grafana-piechart-panel    2.按照ceph官方文档说明,我们需要修改grafana的配置启用匿名模式,并将grafana默认的暗黑风格修改成明亮风格,这样与ceph dashboard中更搭配(风格可改可不改);        ~]# /etc/grafana/grafana.ini            default_theme = light       #修改为明亮风格            [auth.anonymous]            enabled = true            org_name = Main Org.        #注意后面的.不要忘记            org_role = Viewer        注意:            如果使用的grafana是6.2.0-beta1之后的版本,在该版本中grafana关闭了CephDashboard调用grafana的功能,需要将默认allow_embedding=flase的参数改成allow_embedding=true才能集成到Ceph的Dashboard中;添加下面选项到grafana.ini中即可:                [security]                allow_embedding = true    ~]# systemctl start grafana-server.service && systemctl enable grafana-server.service        #启动并设置开机自启2.设置Ceph Dashboard调用Grafana在Dashboard内部展示grafana监控图    1.禁用grafana的SSL功能        ~]# ceph dashboard set-grafana-api-ssl-verify False    2.配置Dashboard调用的grafana地址        ~]# ceph dashboard set-grafana-api-url http://111.231.143.41:3000        指定上文安装的grafana地址,而且此处的grafana地址不能为域名,必须为IP3.配置Grafana从prometheus中获取Ceph的监控采集数据,步骤如下:    1.使用默认账户密码admin/admin登录grafana地址:http://111.231.143.41:3000    2.配置增加数据源-->选择Pormetheus-->填写prometheus的地址:http://111.231.143.40:9090    3.在grafana上添加Ceph集群相关的数据监控模板        Ceph官方在github上提供很多ceph相关的监控模板,如下图示有:ceph-cluster集群监控、osd的详细信息监控、pool存储池监控、rbd监控等;项目地址如下,根据生产环境需求将项目中的版本下载到本地然后所需要的模板导入到grafana中即可;            https://github.com/ceph/ceph/tre ... /grafana/dashboards        ~]# ls /data/ceph/grafana/dashboards  #将模板下载到本地            ceph-cluster.json           #ceph集群的监控模板            cephfs-overview.json            host-details.json           #host主机监控模板            hosts-overview.json            osd-device-details.json     #OSD的监控模板            osds-overview.json            pool-detail.json            #存储池的监控模板            pool-overview.json            radosgw-detail.json         #radosgw监控模板            radosgw-overview.json            radosgw-sync-overview.json               rbd-details.json            #rbd监控模板            rbd-overview.json        这里我只把ceph集群、host、osd、pool、rbd这几类模板导入到grafana中4.查看grafana和Dashboard中grafana中的监控数据    1.如下图2是grafana使用ceph-cluster.json模板的监控面板    2.如下图3,在Dashboard中不但可以看到调用grafana展示的监控面板还可以看到我们之前定义的一些监控报警规则

& ?, `" t) l; r0 i. X. V, J1 |0 O; i) H! H/ d+ l, v
+ _2 j1 B7 R. A; A  c; n7 u- ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 02:02 , Processed in 0.013332 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表