Ceph篇之利用Prometheus监控ceph服务

一、Ceph内置模块
Ceph manager 内部的模块中包含了 prometheus 的监控模块,并监听在每个 manager 节点的 9283 端口,该端口用于将采集到的信息通过 http 接口向 prometheus 提供数据。
二、监控搭建
1、启用 prometheus 监控模块

ceph mgr module enable prometheus

2、验证模块开启

ceph mgr module ls |less

{
    "always_on_modules": [
        "balancer",
        "crash",
        "devicehealth",
        "orchestrator",
        "pg_autoscaler",
        "progress",
        "rbd_support",
        "status",
        "telemetry",
        "volumes"
    ],
    "enabled_modules": [
        "dashboard",
        "iostat",
        "nfs",
        "prometheus",
        "restful"
    ],
    "disabled_modules": [
        {
            "name": "alerts",
            "can_run": true,
            "error_string": "",
            "module_options": {
                "interval": {
                    "name": "interval",
                    "type": "secs",

3、验证 mgr 节点端口监听

root@ceph-mgr1:~# ss -lntup | grep 9283
tcp   LISTEN  0       5                          *:9283                 *:*      users:(("ceph-mgr",pid=1247,fd=36))  

4、查询prometheus指标节点信息

ceph mgr services

在这里插入图片描述
查询出prometheus对应的metrics地址信息
5、浏览器访问mgr指标
输入 http://IP:9283
在这里插入图片描述
在这里插入图片描述
6、集成Prometheus
添加 mgr 节点 metrics 采集任务

vim prometheus.yml 
- job_name: "ceph-mgr"
    static_configs:
      - targets: ["172.168.100.38:9283"]

重启prometheus

systemctl restart prometheus

prometheus server验证
在这里插入图片描述
集成grafana数据大盘
 在 grafana 添加 采集 ceph集群的 prometheus 数据源
在这里插入图片描述
导入Ceph模板
https://grafana.com/grafana/dashboards/9966-ceph-multicluster/
在这里插入图片描述
OK

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个快速部署 Prometheus 监控 docker 容器、宿主机和 Ceph 集群的 docker-compose.yaml 文件: ```yaml version: '3' services: prometheus: image: prom/prometheus ports: - 9090:9090 volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' depends_on: - node-exporter - cadvisor - ceph-exporter node-exporter: image: prom/node-exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys' - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)' cadvisor: image: google/cadvisor ports: - 8080:8080 volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro ceph-exporter: image: galexrt/ceph-exporter:latest environment: CLUSTER_NAME: mycluster CEPH_USERNAME: admin CEPH_KEYRING_BASE64: <base64-encoded ceph.client.admin.keyring> ports: - 9128:9128 ``` 其中,Prometheus 监控的配置文件 prometheus.yml 可以参考下面的示例: ```yaml global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'docker' metrics_path: '/metrics' static_configs: - targets: ['node-exporter:9100'] labels: group: 'docker' - job_name: 'node' metrics_path: '/metrics' static_configs: - targets: ['node-exporter:9100'] labels: group: 'node' - job_name: 'cadvisor' metrics_path: '/metrics' static_configs: - targets: ['cadvisor:8080'] labels: group: 'docker' - job_name: 'ceph' metrics_path: '/metrics' static_configs: - targets: ['ceph-exporter:9128'] labels: group: 'ceph' ``` 在这个配置文件中,我们定义了四个 job: - prometheus监控 Prometheus 本身的指标。 - docker:监控 Docker 容器运行时的指标。 - node:监控宿主机的指标。 - ceph监控 Ceph 集群的指标。 对于 docker 和 node,它们都使用了 node-exporter 来收集指标。而对于 ceph,我们使用了 ceph-exporter 来收集指标。 在部署前,需要将 ceph.client.admin.keyring 文件的内容进行 base64 编码,并将编码后的内容填入 docker-compose.yaml 文件中的 CEHP_KEYRING_BASE64 环境变量中。 部署完成后,可以通过访问 http://localhost:9090 来访问 Prometheus 的 Web 界面。在这里,你可以查看所有收集到的指标,并且可以创建自己的监控规则和仪表盘。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值