Wednesday, March 28, 2018

Zabbix and Performance Co-Pilot (zbxpcp)

I've been wanting to test out the integration of Zabbix and Performance Co-Pilot (PCP).  So I decided to give it a whirl and I have to say the process of configuring the Zabbix agent to talk to PCP via the zbxpcp library is very straight forward.

The system I used is RHEL 7 with the Zabbix RPMS installed from the Zabbix SIA repository.

First install the PCP software and enable it:

# yum install pcp
# systemctl enable pmcd
# systemctl start pmcd
 Next install the interface Zabbix agent library, this RPM is found in the RHEL 7 Server Optional channel:

# yum install pcp-export-zabbix-agent

By default the Zabbix agent looks in a different directory for loadable modules, so let's create a symlink to fix:

# ln -s /usr/lib64/zabbix/agent/zbxpcp.so /usr/lib64/zabbix/modules/zbxpcp.so
Next create a configuration file for the module.  The following is the contents of the file found at this path; /etc/zabbix/zabbix_agent.d/zbxpcp.conf

LoadModule=zbxpcp.so
Next test the agent, and if successful, restart.

# zabbix_agentd -t pcp.kernel.all.sysfork
pcp.kernel.all.sysfork                        [u|17068591]

Overall this was one of the more straight forward setups I've done in a while, and it all worked out of the box on RHEL!