环境
已有: CentOS 7.3(基础设施服务器) Ceph 10.2.7(jewel)
后部署:Calamari 1.3.3
介绍
注:介绍和rpm包均出自磨大神博客http://www.zphj1987.com/ 你值得拥有!
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,则以上都需要安装
- 以下涉及的admin均为calamari 和salt-master服务端的hostname
- 本文不采用ceph-deploy calamari connect node 方式安装。
这一步通过自己观察发现是安装salt-minion和diamond软件并创建对应目录文件。
【因为采用的手工安装固定版本,因此可以舍弃。目录文件手动创建即可,见下文】
==============================calamari端=================================
1、软件包解压
原链接:
http://www.zphj1987.com/2016/05/16/%E6%94%AF%E6%8C%81jewel%E7%89%88%E6%9C%AC%E7%9A%84calamari/
以下链接更改了saltstack的repo文件,磨大神的貌似失效了
链接: http://pan.baidu.com/s/1pLPWkHl 密码: a8jx
# mkdir calamari && cd calamari
# unzip centosjewel.zip
# cd centosjewel/
2、添加saltstack 的repo文件
# mv saltstack-rhel7.repo /etc/yum.repos.d/
# yum clean all; yum repolist
3、安装calamari diamond romana
# yum localinstall
calamari-server-1.3.3-jewel.el7.centos.x86_64.rpm diamond-3.4.68-jewel.noarch.rpmromana-1.2.2-36_gc62bb5b.el7.centos.x86_64.rpm
4、调整目录权限
# chmod 777 -R /var/log/calamari/
# chmod 777 -R /opt/calamari/
5、salt的卸载与安装
卸载存在bug的salt版本并安装契合的salt版本(calamari依赖)
# rpm -e --nodeps salt-minion salt-master salt
# yum localinstall salt-2015.8.1-1.el7.noarch.rpm
# yum localinstall salt-master-2015.8.1-1.el7.noarch.rpm
# yum localinstallsalt-minion-2015.8.1-1.el7.noarch.rpm
需要先配置被监控端再继续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-2015.8.1-1.el7.noarch.rpm salt-minion-2015.8.1-1.el7.noarch.rpm diamond-3.4.68-jewel.noarch.rpm
2、配置salt-minion
2.1、修改minion文件(admin均为calamari的hostname)
# sed -i ‘s/#master: salt/master: admin/‘ /etc/salt/minion
2.2、添加minion.d附加目录及calamari.conf文件
# mkdir /etc/salt/minion.d/
# echo ‘master: admin’> /etc/salt/minion.d/calamari.conf
# systemctl restart salt-minion
# systemctl enable salt-minion
注意(坑):
- 如果通过ceph-deploycalamari connect nodex安装, calamari.conf里的master 默认为None ,会导致salt-key -L 发现不了节点
- salt-minion 必须有一个mon节点,否则也会报:
3、配置diamond
将host指向calamari服务端hostname
# cd /etc/diamond/ && cpdiamond.conf.example diamond.conf
# sed -i ‘/^host/s/graphite/admin/‘ /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
# salt ‘*‘ ceph.get_heartbeats 输出ceph集群信息(过多不贴了)
7、初始化calamari配置
# calamari-ctl initialize
管理界面的用户名和密码
8、web访问及后续问题
以上步骤均成功后在浏览器地址栏输入calamari server端IP登录(默认80端口)即可
如果出现以下错误(500)
清理配置再初始化一次
# calamari-ctl clear --yes-i-am-sure
# calamari-ctl initialize (无交互)
如果出现如下报错:
重启 被监控端的salt-minion和 diamond
以及 server 端的salt-master