Monitor PowerKVM using Ganglia

Why Ganglia ?

1.Scalable Distributed Monitoring System
2. Targeted at monitoring high performance computing systems
3. Light weight and easy to manage agent
4.  Monitoring agent retrieve and provide system usage data to Ganglia server

What it can do ?

Monitor PowerKVM nodes & Virtual machines running on it.
List all VM’s running on PowerKVM nodes and their current/past states.
CPU, Memory, Disk & Network, SSL Metrics
TCP, UDP, TCPEXT Metrics and also Custom metrics can be added.

1)  Configure each PowerKVM Client node need to be monitored

1) Install packages

[root@powerkvm-host ~]#  yum -y install  ganglia-gmond

By default its installed on powerkvm box

2)  Modify /etc/ganglia/gmond.conf as per your requirements.   In My setup only cluster name & host in  usdp_send_channel are changed.

for ex:

cluster {
name = “powerkvm-cluster”
owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}

udp_send_channel {
bind_hostname = yes # Highly recommended, soon to be default.
# This option tells gmond to use a source address
# that resolves to the machine’s hostname.  Without
# this, the metrics may appear to come from any
# interface and the DNS names associated with
# those IPs will be used to create the RRDs.
mcast_join = 239.2.11.71
host = powerkvm.ibm.com
port = 8649
ttl = 1
}

3) service gmond restart

2) Ganglia server Configuration:

Ganglia server cannot be powerkvm server. You can setup ganglia server on a PowerLinux VM running on same host or separate box.. etc

1)Install ganglia packages

[root@ganglia-server ~]

yum -y install ganglia ganglia-gmetad ganglia-web ganglia-gmond  ganglia-gmond-python

2) vi /etc/ganglia/gmetad.conf

#Add powerkvm client node host name and ip

data_source “powerkvm-host” <IP>

3) Modify /etc/ganglia/gmond.conf as per your requirements.  You can continue with default setup too.  In my setup nothing is changed except cluster name.

vi /etc/ganglia/gmond.conf

#

cluster {
name = “my cluster”
owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}

udp_send_channel {
#bind_hostname = yes # Highly recommended, soon to be default.
# This option tells gmond to use a source address
# that resolves to the machine’s hostname.  Without
# this, the metrics may appear to come from any
# interface and the DNS names associated with
# those IPs will be used to create the RRDs.
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}

udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
retry_bind = true
# Size of the UDP buffer. If you are handling lots of metrics you really
# should bump it up to e.g. 10MB or even higher.
# buffer = 10485760
}

4) Change ganglia config in httpd. Grant access from all.

vi /etc/httpd/conf.d/ganglia.conf

<Location /ganglia>
Require all granted
# Require ip 10.1.2.3
# Require host example.org
</Location>

service httpd restart

4) service gmond restart
5) service gmetad  restart

3) Monitor Gaphs from Web browser. 

<Ganglia server ip>/ganglia

Graphs:

CPU Metrics

Procstat & SSL

udp Metrics

 TCP Metrics

CPU Metrics

Advertisements