前言
《Ubuntu14.04安装配置Ganglia》一文中,我们已经完成了Ganglia的安装配置。但是,我们并不想允许所有人都看到集群的使用情况,所以,本文就研究一下怎样给ganglia添加认证授权(加密设置),主要参照《使用 Ganglia 对 Linux 网格和集群服务器进行实时监控》。
原理
在ganglia的wiki中包含对Authorization System的描述:
Ganglia contains a simple authorization system to selectively allow or deny users access to certain parts of the gweb application. We rely on the web server to provide authentication, so any Apache authentication system (htpasswd, LDAP, etc) is supported.
由此,我们可以得知,直接利用apache的认证机制即可完成对ganglia的加密设置。
详细步骤
1、安装apache工具
sudo apt-get install apache2-utils
2、创建密码文件
sudo touch /usr/share/ganglia-webfrontend/auth.basic
sudo chmod a+rw /usr/share/ganglia-webfrontend/auth.basic
3、为ganglia创建用户并设定密码
htpasswd -c /usr/share/ganglia-webfrontend/auth.basic adminganglia
会提示两次输入密码,以上命令创建了一个adminganglia的用户,密码存放在/usr/share/ganglia-webfrontend/auth.basic
(可以任意目录或文件名,只要 Apache 对此有读取权限就可以。)
4、修改配置文件ganglia.conf
sudo vim /etc/apache2/sites-enabled/ganglia.conf
原配置文件为:
Alias /ganglia /usr/share/ganglia-webfrontend
<Directory "/usr/share/ganglia-webfrontend">
AllowOverride All
Order allow,deny
Allow from all
Deny from none
</Directory>
修改为:
Alias /ganglia /usr/share/ganglia-webfrontend
<Directory "/usr/share/ganglia-webfrontend">
AuthType basic
AuthName "Ganglia web UI"
AuthBasicProvider file
AuthUserFile "/usr/share/ganglia-webfrontend/auth.basic"
Require user adminganglia
</Directory>
5、重启apache
sudo /etc/init.d/apache2 restart
6、测试访问
访问 http://192.168.56.103/ganglia/ ,这次需要密码才能访问。
至此,给ganglia添加认证授权完成。