The following is the collectd config that I am running on my RHEL 7 kvm hypervisor. This is not meant to be an all inclusive config for collectd, rather I am looking to gather basic performance metrics on my hypervisors and VMs.
Note that I have disabled selinux, as I am running these hypervisors in my lab. Do not do the same in your production environments.
#setenforce 0
I also edited /etc/selinux/config as shown below. Again, this is for non-prod/test envs. Do not disable in production
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Also note that I have already configured the EPEL repo.. again, not production.
EPEL repo installed via the command below
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
First a couple of steps to get us up and running. We need to install packages
# yum -y install collectd collectd-virt.x86_64 collectd-rrdtool.x86_64 collectd-sensors.x86_64 collectd-smart.x86_64 collectd-netlink.x86_64 collectd-ipmi.x86_64
We also need to write our config.
You can pull my config using the gist below
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Custom Collectd Config | |
LoadPlugin "write_graphite" | |
<Plugin "write_graphite"> | |
<Node "example"> | |
Host "10.1.0.202" | |
Port "2003" | |
Prefix "collectd." | |
#Postfix "" | |
Protocol "tcp" | |
#Protocol "udp" | |
#LogSendErrors false | |
EscapeCharacter "_" | |
SeparateInstances true | |
StoreRates false | |
AlwaysAppendDS false | |
</Node> | |
</Plugin> | |
LoadPlugin cpu | |
LoadPlugin load | |
LoadPlugin memory | |
LoadPlugin processes | |
LoadPlugin disk | |
<Plugin "disk"> | |
Disk "sda1" | |
Disk "sdb1" | |
Disk "sdc1" | |
Disk "dm-0" | |
Disk "dm-2" | |
Disk "dm-3" | |
IgnoreSelected true | |
</Plugin> | |
<LoadPlugin virt> | |
Globals false | |
</LoadPlugin> | |
<Plugin "virt"> | |
Connection "qemu:///system" | |
RefreshInterval 60 | |
Domain "dom0" | |
BlockDevice "name:device" | |
InterfaceDevice "name:interface" | |
IgnoreSelected true | |
HostnameFormat "name" | |
</Plugin> | |
LoadPlugin interface | |
<Plugin interface> | |
Interface "lo" | |
IgnoreSelected true | |
</Plugin> | |
Include "/etc/collectd.d" |
We now need to enable and start collectd
#systemctl enable collect
#systemctl start collectd