ceph学习(六)安装web-amin

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/

image.png

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
image.png

到这里最基本的管理平台配置就完成了


四. 配置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
image.png

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接口也更加的丰富。并且提供了友好的安装方式,应该是目前最成熟的一种管理平台了
展示

你可能感兴趣的:(ceph学习(六)安装web-amin)