InkScope介绍

InkScope是一套Ceph管理和监控的可视化平台,InkScope基于Ceph提供的API来访问Ceph集群,InkScope还使用mongoDB来保存实时和历史数据。

InkScope架构图如下图所示:

162029_sTNm_206258.png

 其中:

ceph-rest-api:Ceph提供的restfulAPI接口,inkscope通过ceph-rest-api接口访问和操作Ceph集群;

cephprobe:用于获取Ceph集群的相关信息;

sysprobe:用于获取Ceph运行的物理节点的相关信息,如:CPU、内存、网络以及磁盘使用量等相关信息;

mongoDB:用于保存又cephprobe和sysprobe获取的实时和历史数据集合,该数据集合由inkscope web界面展示部分读取调用;

inkscope-admviz:inkscope对外提供web服务。用户通过web浏览器向inkscope-admviz发送restfulAPI格式的读写请求,之后inkscope-admviz通过访问mongoDB数据库或访问ceph-rest-api接口来完成用户的读写请求,之后将读写请求的结果返回给客户浏览器;

InkScope环境搭建。

硬件环境:

     物理设备采用两台华为服务器,其中每台服务器的CPU是Intel Xeon E5-2650 v2,内存128GB,硬盘4块600GB(其中一块硬盘用于做系统,另外三块硬盘用作存储);

软件环境:

     操作系统采用ubuntu14.04.3 Server edition;

     Ceph集群采用Infernalis V9.2.0,其中采用1个monitor节点和6个OSD节点;

     InkScope采用最新的V1.3版本。由于硬件环境有限,因此将InkScope的inkscop-admviz/mongoDB/ceph-rest-api/cephprobe/sysprobe都安装在monitor所在的节点上,另外一个节点只安装sysprobe;

InkScope环境搭建步骤如下:

  1. 安装mongoDB。

  2. 添加InkScope的Debian软件源,即:在/etc/apt/sources.list.d/目录中添加inkscope.list文件,该文件的内容是:

          deb https://raw.githubusercontent.com/inkscope/inkscope-packaging/master/DEBS ./ 

           之后更新ubuntu14.04软件源,即:#apt-get update;

  1. 在monitor所在的节点上安装InkScope服务,即:

           #apt-get install inkscope-admviz inkscope-cephrestapi

  1. 配置InkScope服务。

           1)更新InkScope配置文件,即:更新/opt/inkscope/etc/inkscope.conf文件。在该文件中填写mongoDB/ceph-rest-api/radosgw相关内容;

           2)配置ceph-rest-api服务。ceph-rest-api的配置文件位于/etc/apache2/sites-available/inkScope.conf。

           3)配置ceph-rest-api为WSGI应用。

               A)创建一个ceph用户,即:#ceph auth get-or-create client.restapi mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.restapi.keyring

                B)将创建的用户添加到ceph配置文件中,即:将如下内容添加到/etc/ceph/ceph.conf文件中。

[client.restapi]

    log_file = /dev/null

    keyring = /etc/ceph/ceph.client.restapi.keyring

  1. 配置apache。

          1)增加apache监听端口8080,即:将如下内容添加到/etc/apache/ports.conf文件中。

Listen 8080

          2)使能apache相关模块。

               #a2enmod rewrite

          3)使用Python pip安装flask和json,即:

               #pip install flask-login simple-json

          4)使能inkscope。

               #a2ensite inkScope

          5)重新启动Apache服务。

               #service apache2 restart

  1. 安装sysprobe。

          1)安装sysprobe。

               #apt-get install inkscope-sysprobe

          2)安装其他工具。

               #apt-get install lshw sysstat

          3)安装Python模块psutil。

               #pip install psutil==2.1.3

          4)启动sysprobe。

               #/etc/init.d/sysprobe start

  1. 安装cephprobe。

          1)安装cephprobe。

               #apt-get install inkscope-cephprobe

          2)安装Python模块psutil。

               #pip install psutil==2.1.3

          3)启动cephprobe。

               #/etc/init.d/cephprobe start

     此时使用浏览器访问http://<monitor_ip>:8080/就能看到inkScope的首页了。

162103_fXNn_206258.png

InkScope的优点。

  1. 架构清晰明了,易于扩展和定制化;

  2. 与Ceph集群的接口简单明了,即:直接通过访问ceph-rest-api接口来访问ceph集群。方便接口的扩展和定制化;

  3. InkScope前端采用Angular JS,后端采用Python,层次化清晰明了;

  4. InkScope完全开源且采用Apache V2开源许可证;

InkScope目前的问题。

  1. InkScope访问blockdevices时出现Internal Error 500的错误信息,原因有可能是我在配置ceph-rest-api时有某些地方配置不正确导致的;

  2. InkScope无法正常显示OSD节点磁盘的使用量信息,通过restfulAPI能够获取到json格式的磁盘使用量信息,但是无法在web页面上显示,原因有可能是读取到的数据没有正确的写入到mongoDB;

InkScope总结。

  1. 后续我会持续跟踪上述两个问题并找到解决方案;

  2. InkScope整体架构及其接口设计合理并且易于扩展和定制化,非常适合企业级产品的原型;


转载于:https://my.oschina.net/linuxhunter/blog/652799

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值