1. 概述
Calamari的整个部署架构可以简化为下图,包含客户端和Calamari系统。而Calamari系统由Calamari服务端和运行在Ceph集群上的代理组成。代理不断将数据发送到Calamari服务端,后者将数据存储在数据库中。通过客户端可以通过HTTP协议连接Calamari服务端,并展现Ceph集群系统状态和信息。
2. 服务端安装
1) 安装saltstack
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:saltstack/salt
sudo apt-get update
sudo apt-get install salt-master=0.17.5+ds-1
sudo apt-get install salt-minion=0.17.5+ds-1
2) 安装依赖包
sudo apt-get update && sudo apt-get install -y apache2 \
libapache2-mod-wsgi libcairo2 supervisor python-cairo libpq5 postgresql
3) 安装Calamari
sudo dpkg -i calamari-server*.deb calamari-clients*.deb
4) 初始化服务端
sudo calamari-ctl initialize
会打印如下内容,注意输入登录密码。
[INFO] Loading configuration..
[INFO] Starting/enabling salt...
[INFO] Starting/enabling postgres...
[INFO] Initializing database...
[INFO] Initializing web interface...
[INFO] You will now be prompted for login details for the administrative user account. This is the account you will use to log into the web interface once setup is complete. Username (leave blank to use 'root'): Email address: karan.singh@csc.fi Password: Password (again): Superuser created successfully. [INFO] Starting/enabling services...
[INFO] Restarting services... - See more at: http://ceph.com/category/calamari/#sthash.qUtbU0mX.dpuf
初始化完成后,在客户端打开浏览器,输入地址就可以访问。但是此时没有配置Ceph集群,会提示进行Ceph集群配置。如下图所示。
3. 代理安装
1) 登陆其中一台ceph集群机器(这里假设ceph集群都是ubuntu环境),安装监控服务。
sudo dpkg -i diamond_3.4.67_all.deb
2) 创建默认的监控配置文件
sudo mv /etc/diamond/diamond.conf.example /etc/diamond/diamond.conf
3) 安装salt-minion服务
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:saltstack/salt
sudo apt-get update
sudo apt-get install salt-minion=0.17.5+ds-1
4) 在/etc/hosts文件中增加calamari服务器的映射关系
/etc/hosts
...
...
192.168.26.10 ceph-calamari
5) 修改salt-minion的配置文件/etc/salt/minion,将master指向calamari服务器
/etc/salt/minion
...
master: ceph-calamari
...
6) 重启服务
sudo service salt-minion restart
sudo service diamond restart
在所有的ceph集群机器上重复以上的步骤。
安装完后的效果如下:
4. 可能遇到的问题
IOError: [Errno 13] Permission denied: '/var/log/calamari/cthulhu.log'
访问权限问题,需要更改该文件的权限。