InkScope介绍

发布时间:2019-11-09 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了InkScope介绍脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

InkScope架构图如下图所示:

其中:

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的首页了。

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整体架构及其接口设计合理并且易于扩展和定制化,非常适合企业级产品的原型;

总结

以上是脚本之家为你收集整理的InkScope介绍全部内容,希望文章能够帮你解决InkScope介绍所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!

标签: