环境
已有: 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节点,否则也会报这个错。