基于Ganglia的系统监控搭建与配置指南
立即解锁
发布时间: 2025-08-20 02:35:32 阅读量: 1 订阅数: 3 

### 基于Ganglia的系统监控搭建与配置指南
#### 1. 环境准备与虚拟机启动
在开始使用Ganglia进行系统监控之前,需要对虚拟机进行相关配置。以下是配置虚拟机的代码:
```ruby
ganglia_config.vm.customize ["modifyvm", :id,
"--name", "ganglia", "--memory", "512"]
ganglia_config.vm.box = "lucid64_with_ruby193"
ganglia_config.vm.host_name = "ganglia"
ganglia_config.vm.forward_port 22, 2222, :auto => true
ganglia_config.vm.forward_port 80, 4569
ganglia_config.vm.network :hostonly, "33.33.13.38"
ganglia_config.vm.share_folder "puppet", "/etc/puppet", "../massiveapp_ops"
```
由于Vagrant同一时间只允许一个虚拟机使用特定名称,若存在已有的app虚拟机,需先将其销毁。之后启动两个虚拟机并连接到ganglia:
```bash
$ vagrant up
$ vagrant ssh ganglia
```
为验证虚拟机之间的通信,可从ganglia通过ssh连接到app:
```bash
ganglia $ ssh 33.33.13.37
```
#### 2. 编写Ganglia Puppet模块
在Ubuntu 10.04系统中,安装Ganglia需要以下三个必要的包:
| 包名 | 作用 | 安装位置 |
| ---- | ---- | ---- |
| ganglia - monitor | 包含gmond守护进程,用于收集所在主机的指标 | ganglia和app |
| gmetad | 接收并存储gmond守护进程发送的数据 | ganglia |
| ganglia - webfrontend | 根据gmetad存储的信息创建并显示图表 | ganglia |
以下是具体的操作步骤:
1. **创建Puppet模块目录**:
```bash
ganglia $ cd /etc/puppet/
ganglia $ mkdir -p {modules/ganglia/manifests,modules/ganglia/files}
```
2. **创建模块配置文件**:
在`modules/ganglia/manifests/init.pp`中添加以下内容:
```puppet
class ganglia {
}
```
3. **创建服务器类**:
在`modules/ganglia/manifests/server.pp`中添加以下内容:
```puppet
class ganglia::server {
package {
["ganglia-monitor", "ganglia-webfrontend","gmetad"]:
ensure => installed
}
}
```
4. **定义Puppet节点**:
在`manifests/nodes.pp`文件末尾添加:
```puppet
node "ganglia" inherits basenode {
include ganglia::server
}
```
5. **运行Puppet安装Ganglia包**:
```bash
ganglia $ sudo puppet apply --verbose manifests/site.pp
```
#### 3. 配置Apache和Ganglia
为使ganglia - webfrontend服务可用,需要创建符号链接,让Apache启动时加载配置文件。在`modules/ganglia/manifests/server.pp`中添加以下内容:
```puppet
class ganglia::server {
package {
["ganglia-monitor", "ganglia-webfrontend","gmetad"]:
ensure => installed
}
file {
"/etc/apache2/conf.d/ganglia.conf":
ensure => link,
target => "/etc/ganglia-webfrontend/apache.conf",
notify => Service["apache2"];
}
}
```
为方便访问Ganglia网页,创建自定义的Apache配置文件`modules/ganglia/files/apache.conf`:
```apache
<VirtualHost *:80>
ServerName ganglia.localhost
DocumentRoot /usr/share/ganglia-webfrontend
Alias /ganglia /usr/share/ganglia-webfrontend
</VirtualHost>
```
更新`modules/ganglia/manifests/server.pp`以处理自定义配置文件:
```puppet
class ganglia::server {
package {
["ganglia-monitor", "ganglia-webfrontend","gmetad"]:
ensure => installed
}
file {
"/etc/ganglia-webfrontend/apache.conf":
source => "puppet:///modules/ganglia/apache.conf",
owner => root,
group => root,
mode => 644,
notify => Service["apache2"];
"/etc/apache2/conf.d/ganglia.conf":
ensure => link,
target => "/etc/ganglia-webfrontend/apache.conf",
require => File["/etc/g
```
0
0
复制全文
相关推荐










