inkscope文档: http://inkscope.blogspot.com/
一. 安装下ceph(非必选建议安装下)
这个地方可以选择安装也可以选择不安装,这个方便查看,也有可能管理节点就在ceph的某个节点上,这个自己随意
yum install ceph ceph-radosgw
yum install python-ceph
我的环境是想单独一台机器做管理平台控制节点
那么把ceph集群中的这两个文件拷贝到这个管理节点的/etc/ceph/下面
ceph.client.admin.keyring
ceph.conf
如果你管理节点本身就在ceph集群当中就不需要做了
检查ceph -s是否有输出,有集群输出就是正常的
二. 安装依赖包
2.01 安装apache2和其它几个包(用于配置web服务器)
yum install httpd python-setuptools lshw mod_wsgi python-rsa python-boto python-psutil sysstat -y
2.02安装MongoDb(用于存储收集到的数据的)
yum install mongodb mongodb-server -y
2.03修改配置文件,让mongdb可以远程访问
vim /etc/mongod.conf
bind_ip = 127.0.0.1修改为 bind_ip = 0.0.0.0
2.04启动mongodb服务
systemctl start mongod.service
2.05检查服务
netstat -tunlp|grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 11836/mongod
三. 安装inkscope相关的包
3.01安装(有些安装ceph的时候已经安装了)
rpm -ivh inkscope-common-1.3.1-2.noarch.rpm
rpm -ivh inkscope-sysprobe-1.3.1-2.noarch.rpm
rpm -ivh inkscope-monitoring-1.3.1-2.noarch.rpm
rpm -ivh inkscope-cephrestapi-1.3.1-2.noarch.rpm
rpm -ivh inkscope-cephprobe-1.3.1-2.noarch.rpm
rpm -ivh inkscope-admviz-1.3.1-2.noarch.rpm
yum install inkscope* -y
这个里面因为python-ceph在10.x已经更名了,所以在确保其他已经安装好的情况下使用忽略依赖进行安装,ceph0.94没有这个问题
3.02 配置权限
需要创建一个client.restapi的用户 拥有权限[mds] allow, [mon] allow , [osd] allow
ceph auth get-or-create client.restapi mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.restapi.keyring
chmod 644 /etc/ceph/ceph.client.admin.keyring
chmod 644 /etc/ceph/ceph.client.restapi.keyring
3.03在/etc/ceph/ceph.conf配置文件里面添加
[client.restapi]
log_file = /dev/null
keyring = /etc/ceph/ceph.client.restapi.keyring
3.04配置httpd
/etc/httpd/conf/httpd.conf 中间添加一条
Listen 8080
ServerName 127.0.0.1:8080
因为inkscope的web 默认采用虚拟主机的方式使用了8080端口
3.05 给目录访问权限(存储日志使用)
chmod 777 -R /var/log/ceph/
3.06 修改ceph-rest-api的地址
vim /etc/httpd/conf.d/inkScope.conf
3.07 修改为:
ProxyPass /ceph-rest-api/ http://192.168.1.12:8080/ceph_rest_api/api/v0.1/
这个地方是写的这台管理节点的地址和端口,因为本机实现了wsgi的方式的rest-api的接口,不是用的集群的5000的端口,而是直接使用web配置的8080的端口
3.08 启动httpd服务
# systemctl restart httpd
3.09 检查ceph-rest-api是否能访问,地址是
http://192.168.1.12:8080/ceph_rest_api/api/v0.1/
3.10修改/opt/inkscope/etc/inkscope.conf配置文件,
"ceph_rest_api": "192.168.1.12:8080",
"ceph_rest_api_subfolder": "ceph_rest_api",
"mongodb_host" : "192.168.1.12",
# 设置自定的name
"platform": "ceph-admin",
注意上面的地址不要在ip和地址前面加http://否则获取不到信息的,注意使用的是inkscope的web端口8080,也就是上面配置好的rest-api的端口
3.11 启动cephprobe 服务
# /etc/init.d/cephprobe restart
现在就可以访问
http://192.168.1.12:8080/inkscopeViz/index.html
3.12 安装Flask-Login0.2.11
这个是没有用户名密码的,我们为了安全采用以下用户名密码的方式,需要安装flask-login
pip install Flask-Login==0.2.11
rpm -ivh python-flask-login-0.2.11-1.el7.centos.noarch.rpm
3.13 重启httpd服务
systemctl restart httpd
再次访问就需要用户名密码了
默认用户名:admin
默认密码:admin
到这里最基本的管理平台配置就完成了
四. 配置sysprobe
sysprobe是获取集群节点的主机的信息的
4.01安装
rpm -ivh inkscope-common-1.3.1-2.noarch.rpm
rpm -ivh inkscope-sysprobe-1.3.1-2.noarch.rpm
4.02 将主监控节点的inkscope配置文件拷贝到OSD节点上
scp /opt/inkscope/etc/inkscope.conf 192.168.8.13:/opt/inkscope/etc/
{
"ceph_conf": "/etc/ceph/ceph.conf",
"ceph_rest_api": "192.168.1.12:8080",
"ceph_rest_api_subfolder": "ceph_rest_api",
"mongodb_host" : "192.168.1.12",
"mongodb_set" : "mongodb0:27017,mongodb1:27017,mongodb2:27017",
"mongodb_replicaSet" : "replmongo0",
"mongodb_read_preference" : "ReadPreference.SECONDARY_PREFERRED",
"mongodb_port" : 27017,
"mongodb_user":"ceph",
"mongodb_passwd":"monpassword",
"is_mongo_authenticate" : 0,
"is_mongo_replicat" : 0,
"influxdb_endpoint":"http://influxdb_host:influxdb_port",
"cluster": "ceph",
"platform": "ceph-admin",
"status_refresh": 3,
"osd_dump_refresh": 3,
"pg_dump_refresh": 60,
"crushmap_refresh": 60,
"df_refresh": 60,
"cluster_window": 1200,
"osd_window": 1200,
"pool_window": 1200,
"mem_refresh": 60,
"swap_refresh": 600,
"disk_refresh": 60,
"partition_refresh": 60,
"cpu_refresh": 30,
"net_refresh": 30,
"mem_window": 1200,
"swap_window": 3600,
"disk_window": 1200,
"partition_window": 1200,
"cpu_window": 1200,
"net_window": 1200,
"inkscope_root" : "inkscope_host:inkscope_port",
"radosgw_url": "http://rgw_host:rgw_port",
"radosgw_admin": "admin",
"radosgw_key": "access-key",
"radosgw_secret": "secret-key"
}
4.03 在osd节点启动sysprobe服务
# /etc/init.d/sysprobe restart
ps : 这里显示的 fill 'platform' field in inkscope.conf 是因为/opt/inkscope/etc/inkscope.conf没有配置
"platform": "ceph-admin",
配置完要重启一下服务/etc/init.d/cephprobe restart
,/etc/init.d/sysprobe restart
正常情况就用上面这个页面检查配置的状况
cephprobe是用来或者集群的相关信息和操作的
sysprobe是获取节点的磁盘分区等相关信息的
基本节点的软件包配置完毕了,一些扩展功能也配置一下
五. 创建rgw相关的
5.01配置rgw网关
在/etc/ceph/ceph.conf
添加
[client.radosgw.gateway]
host = inkscope
rgw print continue = false
debug_rgw = 0
user = root
5.02启动radosgw服务
/etc/init.d/ceph-radosgw restart
5.03检查端口是否启动,默认是7480
netstat -tunlp|grep radosgw
tcp 0 0 0.0.0.0:7480 0.0.0.0:* LISTEN 113493/radosgw
5.04创建rgw使用的存储池并且添加到rgw
rados mkpool .rgw.buckets 1024 1024
radosgw-admin pool add --pool .rgw.buckets
5.05执行完后检查存储池情况,自动会创建了一些存储池
ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
96193M 80681M 15511M 16.13
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 0 0 40340M 0
.rgw.root 1 1588 0 40340M 4
default.rgw.control 2 0 0 40340M 8
default.rgw.data.root 3 24 0 40340M 1
default.rgw.gc 4 0 0 40340M 32
default.rgw.log 5 0 0 40340M 127
default.rgw.users.uid 6 0 0 40340M 0
.rgw.buckets 7 0 0 40340M 0
5.06创建rgw的用户
这个用户是管理员用户,需要给很多权限
radosgw-admin user create --uid=inkscope --display-name="inkscope" --access-key=inkscope --secret=inkscope --access=full --caps="metadata=*;users=*;buckets=*"
5.07修改配置文件
vim /opt/inkscope/etc/inkscope.conf
修改下面的几项
"radosgw_url": "http://192.168.1.12:7480",
"radosgw_admin": "admin",
"radosgw_key": "inkscope",
"radosgw_secret": "inkscope"
radosgw_url为rgw的访问地址
radosgw_admin字段不更改就是admin
radosgw_key,radosgw_secret就是上面创建的那个密钥
配置结束
基本按照上面的做法就可以配置完毕了,并且可以正常使用,之前搞错了一个地方就是那个restapi,这个地方可能是最开始的时候,这个地方是需要调用的原始的那个5000端口的api,然后基本操作都是可以做的,一些新开发的功能需要用到新的接口,就按照新的配置即可,inkscope从我开始关注到现在已经改进了很多,添加了sanky chart来显示pg的分布,里面的api接口也更加的丰富。并且提供了友好的安装方式,应该是目前最成熟的一种管理平台了
展示