Ceph监控部署之inkscope&Calamari(v10.2.11)


这里将部署ceph的两套监控系统,做个记录,总结下来两个系统各有优缺点,本人最终选择了calamari,毕竟是官方出的,已经能满足本人需求。

一、Ceph监控系统之inkscope部署

inkcope组件说明

inkscope-common : 包含inkscope的默认配置文件以及其他进程(cephprobe,sysprobe)启动所需的依赖文件,所有相关节点都需要安装。
inkscope-sysprobe : 安装用于所有mon和osd的sysprobe 所需要脚本,即所有节点均安装,实现获取节点设备资源信息如:CPU、内存、磁盘等等。
inkscope-admviz : 包含inkscope的web控制台文件,含接口和界面,仅需要安装一个,该节点(管理节点)上同时需要按安装flask和mongodb
inkscope-cephrestapi: 用于安装启动 ceph rest api 的脚本,仅需要安装在提供api接口的节点上,即mon节点。
inkscope-cephprobe: 用于安装启动 cephprobe 的脚本(整个集群只需一个),安装在mon节点,脚本主要实现:获取Ceph集群的一些信息,并使用端口(5000)提供服务,将数据存入mongodb数据库中。

inkscope部署

git clone https://github.com/inkscope/inkscope-ansible.git
ansible-galaxy install -r requirements.yaml
server端
ansible-playbook inkscope.yaml -i /data/ansible/inkscope -v(集成到当前环境中)
cat /data/ansible/inkscope
[inkscope]
xx.xx.xx.xx
默认是80端口,如果端口冲突修改vars/my_inkscope.yaml:inkscope_http_port: 82

安装步骤解析:
python python-devel python-devel git mongodb-server mongod gcc python-pip
git clone https://github.com/inkscope/inkscope
pip install -r requirements.txt
mkdir -p /var/www/inkscope
mkdir -p /opt/inkscope/etc
mkdir -p /opt/inkscope/bin
cp -R inkscopeViz/ /var/www/inkscope
cp -R inkscopeCtrl/ /var/www/inkscope
cp -R index.html /var/www/inkscope
通过inkscope.conf.j2生成inkscope.conf文件拷贝到/opt/inkscope/etc
并修改mongodb_host 为127.0.0.1
授权访问mds并追加配置到ceph.conf
ceph auth get-or-create client.restapi mds ‘allow’ osd ‘allow *’ mon ‘allow *’ > /etc/ceph/{{ cluster }}.client.restapi.keyring
ceph.conf
[client.restapi]
log_file = /dev/null
keyring = /etc/ceph/ceph.client.restapi.keyring
cp inkscopeProbe/daemon.py /opt/inkscope/bin
cp inkscopeProbe/cephprobe.py /opt/inkscope/bin
并link到/etc/init.d/
修改/etc/mongo
service cephprobe restart

优化:
增加mongo认证,默认没有认证
db.createUser({ user: “admin”, pwd: “adminpassword”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” }] })
db.auth(‘admin’,‘adminpassword’)
vi /etc/mongo
auth = true

db.createUser({ user: “ceph”, pwd: “ceph”, roles: [{ role: “dbOwner”, db: “inkscope” }] })

访问:http://xx.xx.xx.xx:82
用户密码默认admin,登录进之后可以修改

二、Ceph监控之Calamari部署

Calamari组件说明

主要有calamari-server;romana;salt-minion;salt-master;diamond。

这些模块各自的作用:
calamari-server 这个是提供一个与集群进行交互,并且自己封装了一个自己的API,做集中管理的地方,这个只需要在集群当中的某一台机器上安装,也可以独立安装

romana 就是原来的calamari-client,这个叫client,其实是一个web的界面,这个叫calamari-web更好,现在已经更名为romana,这个也是只需要在集群当中的某一台机器上安装,也可以独立安装,这个需要跟calamari-server安装在一台机器上

salt-master 是一个管理的工具,可以批量的管理其他的机器,可以对安装了salt-minion的机器进行管理,在集群当中,这个也是跟calamari-server安装在一起的

salt-minion 是安装在集群的所有节点上的,这个是接收salt-master的指令对集群的机器进行操作,并且反馈一些信息到salt-master上

diamond 这个是系统的监控信息的收集控件,提供集群的硬件信息的监控和集群的信息的监控,数据是发送到romana的机器上的,是由romana上的carbon来收取数据并存储到机器当中的数据库当中的

Calamari服务端:calamri-server romana salt-master
集群节点:salt-minion diamond

Calamari部署

1.网盘下载rpm
https://pan.baidu.com/s/1kVRy4mj
gbmr
如果网盘失效访问:https://download.csdn.net/download/qq_16240085/10980513
calamari端===
unzip centosjewel.zip && cd centosjewel/

3、本地安装calamari romana
yum localinstall calamari-server-1.3.3-jewel.el7.centos.x86_64.rpm romana-1.2.2-36_gc62bb5b.el7.centos.x86_64.rpm

chmod 777 -R /var/log/calamari/
chmod 777 -R /opt/calamari/

卸载原salt,需要使用指定版本的才行(这里server端同时也是node,所以都装)
rpm -e --nodeps salt-minion salt-master salt
yum localinstall salt-2015.8.1-1.el7.noarch.rpm -y
yum localinstall salt-master-2015.8.1-1.el7.noarch.rpm -y
yum localinstall salt-minion-2015.8.1-1.el7.noarch.rpm -y

=被监控端(集群节点)====
1、安装本地yum
yum localinstall salt-2015.8.1-1.el7.noarch.rpm -y
yum localinstall salt-minion-2015.8.1-1.el7.noarch.rpm -y
2、配置salt-minion
2.1、修改minion文件(admin均为calamari的hostname)
sed -i ‘s/#master: salt/master: 10-10-178-49/’ /etc/salt/minion

2.2、添加minion.d附加目录及calamari.conf文件
mkdir /etc/salt/minion.d/
echo ‘master: 10-10-178-49’> /etc/salt/minion.d/calamari.conf
systemctl restart salt-minion
systemctl enable salt-minion

3、配置diamond
将host指向calamari服务端hostname
yum localinstall diamond-3.4.68-jewel.noarch.rpm
cd /etc/diamond/ && cp diamond.conf.example diamond.conf
sed -i ‘/^host/s/graphite/10-10-178-49/’ /etc/diamond/diamond.conf
systemctl restart diamond
systemctl enable diamond

注:某些机子上面出现了systemctl无法识别diamond服务,在确保已经安装后添加即可
chkconfig --add diamond

新节点安装
修改两个地方vars/main.yml中的server地址
新增calamari-client host分组
ansible-playbook site-role.yml -e “rolename=calamari-client” -b -v
calamari端(续)===
6、salt-master相关
!!!被监控端(集群节点)部署完成后再执行以下命令!!!

6.1重启
systemctl restart salt-master

6.2 管理salt-minion节点
salt-key -L 列出已发现的节点
salt-key -A 允许所有节点加入
salt ‘’ test.ping 检测链接性
salt '
’ ceph.get_heartbeats 输出ceph集群信息

calamari-ctl initialize # 初始化设置用户密码:root root
如果需要重新初始化:
解决办法:清理配置再初始化一次
#calamari-ctl clear --yes-i-am-sure
#calamari-ctl initialize (无交互)

http://10.10.178.49:83
/etc/httpd/conf.d/calamari.conf
新增端口配置
Listen 83
systemctl restart httpd

出现问题解决思路
重启 被监控端的salt-minion和 diamond
以及 server 端的salt-master
注:salt-minion 必须有一个mon节点,否则会有问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值