Ceph监控管理平台Calamari搭建

环境

已有: CentOS 7.3(基础设施服务器) Ceph 10.2.10(jewel)
后部署:Calamari 1.3.3

介绍

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来收取数据并存储到机器当中的数据库当中的

准备

防火墙配置

firewall-cmd --add-port=4505/tcp --zone=public --permanent
firewall-cmd --add-port=4506/tcp --zone=public --permanent
firewall-cmd --add-port=2003/tcp --zone=public --permanent
firewall-cmd --add-port=2004/tcp --zone=public --permanent
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --reload

安装

节点情况 需要安装软件
Calamari服务端 calamri-server romana salt-master
集群节点 salt-minion diamond

如果在某集群节点安装calamari,则以上都需要安装

以下涉及的swarm1均为calamari 和salt-master服务端的hostname

本文不采用ceph-deploy calamari connect node 方式安装。

==============================calamari端=================================
1、软件包解压
下载,并上传到服务器。链接: https://pan.baidu.com/s/1uCcRIhDwGX1OSeK1aKCnGQ 密码: 6mut

unzip centosjewel.zip
cd centosjewel/

2、添加saltstack 的repo文件

# mv saltstack-rhel7.repo /etc/yum.repos.d/
# yum clean all; yum repolist

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

4、调整目录权限

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

需要先配置被监控端再继续calamari的相关操作!

===========================被监控端(集群节点)==============================

1、安装salt-minion diamond

1.1、添加saltstack 的repo文件

# mv saltstack-rhel7.repo /etc/yum.repos.d/
# yum clean all; yum repolist

1.2、安装

# yum localinstall salt salt-minion

2、配置salt-minion

2.1、修改minion文件(admin均为calamari的hostname)

# sed -i 's/#master: salt/swarm1: admin/' /etc/salt/minion

2.2、添加minion.d附加目录及calamari.conf文件

# mkdir /etc/salt/minion.d/
# echo 'master: swarm1'> /etc/salt/minion.d/calamari.conf
# systemctl restart salt-minion
# systemctl enable salt-minion

3、配置diamond

将host指向calamari服务端hostname

# cd /etc/diamond/ && cp diamond.conf.example diamond.conf
# sed -i '/^host/s/graphite/swarm1/' /etc/diamond/diamond.conf
# systemctl restart diamond
# systemctl enable diamond

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

chkconfig --add diamond

============================calamari端(续)===============================

6、salt-master相关

!!!被监控端(集群节点)部署完成后再执行以下命令!!!

6.1重启

# systemctl restart salt-master

6.2 管理salt-minion节点

# salt-key -L               列出已发现的节点
# salt-key -A                允许所有节点加入

成功后你将观察到注册节点由Unaccepted Keys 转为 Accepted keys下

6.3 检测节点

# salt '*' test.ping           检测链接性

如果出现如下报错,检查client端/etc/salt/minion.d/calamari.conf里的master项是否为calamari端的hostname

Minion did not return. (No response)
# salt '*' ceph.get_heartbeats      输出ceph集群信息(过多不贴了)

7、初始化calamari配置

# calamari-ctl initialize

根据提示输入管理界面的用户名和密码

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

8、web访问及问题

以上步骤均成功后在浏览器地址栏输入calamari server端IP登录(默认80端口)即可

故障排除

如果提示 服务器内部错误
解决办法:清理配置再初始化一次

# calamari-ctl clear --yes-i-am-sure
# calamari-ctl initialize (无交互)

如果提示 New Calamari Installation

解决办法:
重启 被监控端的salt-minion和 diamond
以及 server 端的salt-master

注:salt-minion 必须有一个mon节点,否则也会报这个错。

参考资料1
参考资料2
参考资料3

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注