Ceph-集群监控

一、监控ceph集群

(1)检查集群健康状态

$:ceph health
$:ceph health detail     //信息更详细

(2)监控集群事件

$:ceph -w

监控详细的集群事件

--watch-debug: This is used to watch  debug events

--watch-info: This  is  used to watch info events

--watch-sec: This  is  used to watch security events

--watch-warn: This  is  used to watch warning events

--watch-error: This  is  used to watch error events

$:ceph -w --watch-warn

(3)集群使用统计命令

$:ceph df
$:ceph df detail
$:ceph -s
$:ceph status

(4)监控Ceph组件

MON功能

1》系统状态检测和Map维护

     OSD和Monitor之间相互传输节点状态信息,共同得出系统的总体工作状态,并形成一个全局系统状态记录数据结构,Ceph叫做cluster map

2》MON法定票数

MON之间的关系:主从互备的关系

Mons必须bao保证51%的MON的是可被访问的

监控MON

$:ceph mon stat
$:ceph mon dump

(5)OSD介绍

真正实现数据存储的介质

每个OSD拥有一个自己的OSD deamon

需要一定数量的内存、一块硬盘以及一张网卡

量变引起质变,需要数十甚至上百才能真正发挥集群性能

(6)监控OSD

$:ceph osd tree    //显示osd的位置,权重,状态,权重的百分比
$:ceph osd dump

共四种状态:

--Up且in:说明该OSD正常运行,且已经承载至少一个PG的数据。正常状态;

--Up且out:说明该OSD正常运行,但并未承载任何PG

--Down且in:说明该OSD发生异常,但仍然承载着至少一个PG,其中仍然存储着数据,异常状态

--Down且out:说明该OSD已经彻底发生故障,且已经不再承载任何PG。

(7)监控PG(配置组)

PG状态解释

Peering:在一个acting set,数据和元数据同步协商达到一致状态的过程。

Active/Clean:Peering正常完成以后的状态,primary pg和primary osd以及复制pg和osd可以被正常读写,集群最健康的状态。

Degraded:OSD关闭,在这个osd上的全部pg处于降级状态,需要尽快恢复防止数据丢失,默认300s  osd打不开,ceph集群会自动恢复降级pg到其他osd上。

其他参数:

Recovering:失败的osd恢复

backfilling:添加或者删除osd

Remapped:acting set发生变化

Stale:Montitor发现OSD超时的时候

(8)ceph debug

debug日志等级:

log level:输出的log

memory level:内存中的log

例子:debug ms = 1/5

ceph的log级别取值范围为1-20,1表示最少量log,20表示最多

集群日志:/var/log/ceph/$cluster-$name-log

(9)Debug方式:

配置文件指定:

[global]
            debug ms = 1/5
[mon]
            debug mon = 20
            debug  paxos = 1/5
            debug auth = 2
[osd]
            debug osd = 1/5
            debug filestore = 1/5
            debug journal = 1
            debug monc = 5/20

    在线修改log level:

tell:
$:ceph tell osd.0 injectargs '--debug-osd 0/5'

ceph-admin-daemon:
$:ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config set debug_osd 0/5

查看结果
$:ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config show | grep -i debug_osd

   (10)使用Web工具监控Ceph集群

1.第一步:安装软件包和依赖

$:apt-get install python-pip
$:git clone https://github.com/karkendash/krakendash
$:cd krakendash
$:pip install -r requirements.txt
$:cd /home/karkendash/contrib
$:cp ../krakendash/contrib/*.sh ./

2.安装api和webfuwu

$:./api.sh
$:./django.sh

3.验证服务是否正常

$:ps -ef|grep -i screen

4、浏览器访问

http://192.168.88.148:8000

Ceph kraken

  1. 只有监控功能
  2. 调用Ceph Rest API接口
  3. sqlite数据库

Calamari 

  1. 功能比较强大,支持监控和Ceph pool管理
  2. 被Redhat收购,刚开源,产品目前处于开发阶段
  3. 利用saltstark进行Ceph的配置和服务管理
  4. Postgresql数据库
  5. 利用graphite和Diamond进行监控数据收集入库和绘图,graphite提供数据图形API以及入库和绘图功能,Diamond客户端agent收集服务器监控数据
  6. 部署麻烦

1、部署ceph集群

$:ceph -s

2、部署saltstack

$:salt '*' test.ping

3、部署calamari-server

http://192.168.88.148/api/v2/cluster

4、部署diamond

$:service diamond status

5、部署calamari-client

http://192.168.88.148/

6、部署saltstack

软件包:
$:apt-get install salt-master
$:apt-get install salt-minion

配置saltstack:
master(主控端)编辑/etc/salt/master
    interface: 192.168.88.148

minion(受控端)编辑/etc/salt/minion
    master: ceph1
    id: ceph1

7、部署diamond

软件包:
$:dpkg -i diamond_3.10_all.deb

同步diamond配置文件:
$:salt '*' state.highstate

重启diamond:
$:salt '*' cmd.run 'service diamond restart'

8、部署calamari-client

$:mkdir -p /opt/calamari/webapp/content/dashboard
$:mkdir -p /opt/calamari/webapp/content/login
$:mkdir -p /opt/calamari/webapp/content/manage
$:mkdir -p /opt/calamari/webapp/content/admin
$:cp -avr dashboard/dist/* /opt/calamari/webapp/content/dashboard/
$:cp -avr login/dist /opt/calamari/webapp/content/login/
$:cp -avr manage/dist/ /opt/calamari/webapp/content/manage/
$:cp -avr admin/dist/ /opt/calamari/webapp/content/admin/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值