美文网首页
使用Prometheus监控Ceph

使用Prometheus监控Ceph

作者: 修朋飞 | 来源:发表于2020-08-28 12:54 被阅读0次

在Ceph Luminous之前的版本,可以使用第三方的Prometheus exporterceph_exporter。 Ceph Luminous 12.2.1的mgr中自带了Prometheus插件,内置了 Prometheus ceph exporter,可以使用Ceph mgr内置的exporter作为Prometheus的target。

环境

  • ceph dashboard 10.10.1.68
  • prometheus 10.10.1.44

方案: 使用ceph mgr prometheus插件

# 启用Ceph的Prometheus插件
ceph mgr module enable prometheus

启用成功后在激活(active)的mgr节点上可以看到

netstat -nltp | grep mgr

root@node1:~# netstat -nltp | grep mgr
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      787/ceph-mgr
tcp        0      0 10.10.1.68:6810         0.0.0.0:*               LISTEN      787/ceph-mgr
tcp        0      0 10.10.1.68:6811         0.0.0.0:*               LISTEN      787/ceph-mgr
tcp6       0      0 :::9283                 :::*                    LISTEN      787/ceph-mgr

其中9283是ceph exporter的监听端口,curl 127.0.0.1:9283/metrics可以获取到metrics。将这个exporter作为Prometheus的target即可

scrape_configs:
  - job_name: 'ceph'
    honor_labels: true
    static_configs:
    - targets: ['10.10.1.68:9283']
      labels:
        instance: Ceph测试集群

接下来安装Prometheus
国内下载

# 下载
wget https://github.com/prometheus/prometheus/releases/download/v2.6.0/prometheus-2.6.0.linux-amd64.tar.gz

# 解压
 tar xf prometheus-2.6.0.linux-amd64.tar.gz

# 把解压出来的文件移动到/usr/local/目录下,并重命名为prometheus
mv prometheus-2.6.0.linux-amd64 /usr/local/prometheus
# 生成启动脚本
$ vim /usr/lib/systemd/system/prometheus.service
# ./prometheus -h 查看帮助
# 添加一下内容
[Unit]
Description=Prometheus: the monitoring system
Documentation=http://prometheus.io/docs/
[Service]
ExecStart=/usr/local/prometheus/prometheus \
        --config.file=/usr/local/prometheus/prometheus.yml \
        --storage.tsdb.path=/var/lib/prometheus \
        --web.console.templates=/usr/local/prometheus/consoles \
        --web.console.libraries=/usr/local/prometheus/console_libraries \
        --web.listen-address=0.0.0.0:9090 --web.external-url=
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
# 创建监控数据存储目录
mkdir /var/lib/prometheus

# 启动Prometheus
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
# 查看端口监听状态
netstat -antpu | grep 9090

[root@ceph-admin prometheus]# netstat -antpu | grep 9090
tcp        0      0 127.0.0.1:59856         127.0.0.1:9090          ESTABLISHED 4146/prometheus
tcp6       0      0 :::9090                 :::*                    LISTEN      4146/prometheus
tcp6       0      0 127.0.0.1:9090          127.0.0.1:59856         ESTABLISHED 4146/prometheus
tcp6       0      0 ::1:9090                ::1:58564               ESTABLISHED 4146/prometheus
tcp6       0      0 ::1:58564               ::1:9090                ESTABLISHED 4146/prometheus


# 通过浏览器进行访问
http://ip:9090
# 修改Prometheus配置
vim /usr/local/prometheus/prometheus.yml

# 添加一下内容
scrape_configs:
  - job_name: 'ceph'
    honor_labels: true
    static_configs:
    - targets: ['10.10.1.68:9283']
      labels:
        instance: Ceph测试集群

# 重启Prometheus进程
systemctl restart prometheus

Docker方式部署

# alertmanager
docker run -d -p 9093:9093 -v /usr/local/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml --name alertmanager docker.io/prom/alertmanager:latest

# prometheus
docker run -d -p 9090:9090 -v /usr/local/promethues/prometheus.yml:/etc/prometheus/prometheus.yml -v /usr/local/promethues/rules:/etc/prometheus/rules --name prometheus docker.io/prom/prometheus

相关文章

网友评论

      本文标题:使用Prometheus监控Ceph

      本文链接:https://www.haomeiwen.com/subject/cwhlsktx.html