在Ubuntu12.04上安装Ceph Calamari
Calamari是Ceph的一个监控和管理工具,它提供了一些定义好的REST API。Calamari包括服务端和客户端,服务端是使用Python的web框架Django开发的,提供了供客户端调用的REST API接口。客户端使用了NodeJS,AngularJS,Bootstrap3,每个模块可以独立部署更新,其界面十分简洁清晰,几乎涵盖了所有监控要求。
下面介绍一下Calamari在Ubuntu上面的安装过程。
环境准备
- 安装VitrualBox和Vagrant,Vagrant的使用可以参照我之前的blog——使用Vagrant和Ansible搭建Ceph环境。
- 下载ubuntu12.04的box文件——box文件下载地址,我们在虚拟机中安装calamari,不污染我们的本机环境。
生成Calamari安装文件
生成server安装文件
- 下载calamari工程
1 | $ mkdir calamari-node |
- 使用vagrant生成server安装文件
1 | $ cd calamari/vagrant/precise-build |
- 这里的虚拟机将我们创建的根目录
calamari-node
和虚拟机中的/git
目录关联起来了,我们可以通过在查看这2个目录中的任意一个来查看安装文件是否已经生成。
1 | # 查看calamari-node目录 |
- 从上面可以看到安装文件已经生成好了,2个deb文件分别是server和监控服务的安装文件,tar.gz文件是安装服务所需的依赖包安装文件集合,如果是连网安装的话,这个tar.gz文件不需要用到。
生成client安装文件
- 下载calamari-client工程
1 | $ cd calamari-node |
- 使用vagrant生成client安装文件
1 | $ cd calamari-client/vagrant/precise-build/ |
- 查看生成的安装文件,可以看到有1个deb文件和一个tar.gz文件,ubuntu的话直接使用deb文件进行安装就可以了,tar.gz文件不需要。
1 | $ cd calamari-node |
安装Calamari
- 创建一个ubuntu的虚拟机来安装calamari,首先在根目录下创建一个Vagrantfile文件。
1 | $ cd calamari-node |
- Vagrantfile文件内容如下,注意要使用绑定好的IP。
1 | # -*- mode: ruby -*- |
- 启动虚拟机并登陆
1 | $ vagrant up |
- 在虚拟机上安装salt
1 | $ sudo apt-get install python-software-properties |
- 在虚拟机上安装所需依赖包
1 | $ sudo apt-get update && sudo apt-get install -y apache2 libapache2-mod-wsgi libcairo2 supervisor python-cairo libpq5 postgresql |
- 安装calamari
1 | $ cd /vagrant |
- 初始化calamari服务,这里会要求你输入用户名、邮箱、密码,这个用户名密码是在浏览器访问calamari服务需要的。
1 | $ sudo calamari-ctl initialize |
- 登陆浏览器,输入虚拟机的ip(比如http://192.168.26.10),可以看到如下页面。
- 输入刚才设置的用户名密码后,可以看到calamari提示你进行ceph集群配置。
Ceph集群配置监控服务
配置ceph集群
- 登陆其中一台ceph集群机器(这里假设ceph集群都是ubuntu环境),安装监控服务。
1 | $ sudo dpkg -i diamond_3.4.67_all.deb #deb文件是之前生成server安装文件时一起生成的,需要将其先考到ceph集群机器上 |
- 创建默认的监控配置文件
1 | $ sudo mv /etc/diamond/diamond.conf.example /etc/diamond/diamond.conf |
- 安装salt-minion服务
1 | $ sudo apt-get install python-software-properties |
- 在
/etc/hosts
文件中增加calamari服务器的映射关系
1 | ... |
- 修改salt-minion的配置文件
/etc/salt/minion
,将master指向calamari服务器
1 | ... |
- 重启服务
1 | $ sudo service salt-minion restart |
- 在所有的ceph集群机器上重复以上的步骤。
在calamari服务上添加ceph集群机器
- 查看salt-key
1 | $ sudo salt-key -L |
- 添加ceph集群机器到calamari
1 | $ sudo salt-key -A |
- 再次查看salt-key,可以看到所有节点都已添加。
1 | $ sudo salt-key -L |
- 在浏览器中再次登陆calamari服务,可以看到已经能监控ceph集群的信息。