环境


已有: 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