可能遇到的报错
/kraken/krakendash/src/rgwadmin/rgwadmin/rgw.py in <module>, line 3
/usr/local/bin/python
原因是python3和python2的差异
解决方法:
sudo vi /kraken/krakendash/src/rgwadmin/rgwadmin/rgw.py
from StringIO import StringIO
修改成
from io import StringIO
可能遇到问题
AttributeError: module 'string' has no attribute 'letters'
原因是python3和python2的差异
解决方法
field = string.letters + string.digits
修改为
field = string.ascii_letters + string.digits
ceph-dash工具
ceph-dash是另一个ceph集群的免费开源仪表板/监控API,设计目标是以一个尽可能简单的方法通过RESTful JSON API以及Web GUI来提供一个Ceph集群整体健康状况的监控。这是一个轻量级的应用程序,它没有任何对ceph-rest-api的依赖。它是一个纯Python wsgi应用程序,它通过librados直接和集群通信。目前,ceph-dash提供一个干净且简单的Web GUI,它能够显示ceph集群的以下信息。
整体集群的状态和详细的问题描述。
支持多个Mon,支持每个MON的状态。
OSD状态包含处于in、out和不健康状态的OSD数。
可视化的存储容量图。
实时吞吐量,包括写速度、读数度和每秒操作数。
可视化的PG状态图
集群恢复状态
除此之外,ceph-dash还提供了REST端点来生成包含集群所有信息的JSON格式的数据,这可进一步用于其他创造性的方式。
github地址
https://github.com/Crapworks/ceph-dash
部署ceph-dash
ceph-dash工具必须安装在有权限访问Ceph集群的节点上。因为它并不需要多少资源,所以可以制定任意一个MON节点来安装它。
为ceph-dash新建一个目录,并获取代码。
mkdir /ceph-dash
cd /ceph-dash
git clone https://github.com/Crapworks/ceph-dash.git
安装python-pip
yum install python-pip
安装Jinja2
easy_install Jinja2
启动
cd /ceph-dash/ceph-dash
./ceph-dash.py
可能遇到的问题
File "/ceph-dash/ceph-dash/app/__init__.py", line 9, in <module>
from flask import Flask
ImportError: No module named flask
解决方式:
pip list
#如果列表没有flask
pip install flask
可能遇到的问题
Traceback (most recent call last):
File "/usr/bin/ceph", line 67, in <module>
import rados
ImportError: No module named rados
这是因为ceph是在老版本的python安装的,切换默认的python版本后,新版本中没有相关的库。
解决方式
查找rados组件在哪
[root@ceph1 ceph-dash]# find /* -name 'rados*'
/etc/bash_completion.d/rados
/usr/lib64/rados-classes
/usr/share/man/man8/rados.8.gz
/usr/bin/rados
/usr/lib/python2.6/site-packages/rados.pyc
/usr/lib/python2.6/site-packages/rados.pyo
/usr/lib/python2.6/site-packages/rados.py
/var/log/radosgw
[root@ceph1 ceph-dash]#
把相关的文件复制到现用的python2.7的site-packages下
cp /usr/lib/python2.6/site-packages/rados* /usr/local/lib/python2.7/site-packages/
可能遇到的问题
Traceback (most recent call last):
File "/usr/bin/ceph", line 75, in <module>
from ceph_argparse import \
ImportError: No module named ceph_argparse
解决方式
查找rados组件在哪
[root@ceph1 ceph-dash]# find /* -name 'ceph_argparse*'
/usr/lib/python2.6/site-packages/ceph_argparse.py
/usr/lib/python2.6/site-packages/ceph_argparse.pyc
/usr/lib/python2.6/site-packages/ceph_argparse.pyo
[root@ceph1 ceph-dash]#
把相关的文件复制到现用的python2.7的site-packages下
cp /usr/lib/python2.6/site-packages/ceph_argparse* /usr/local/lib/python2.7/site-packages/
浏览器打开:
http://192.168.199.81:5000 |