Anteriormente expliqué cómo compilar collectd en debian y derivados. Veamos ahora cómo compilar collectd en un sistema operativo CentOS.



El primer paso consiste en instalar la librería de curl para dar soporte a los plugins "network", "apache", "nginx", etc.:

# yum install libcurl-devel

Luego descargar los fuentes de collectd:

# cd /usr/local/src/
# wget https://storage.googleapis.com/collectd-tarballs/collectd-5.8.0.tar.bz2

Configurar, compilar e instalar collectd utilizando el siguiente script:

# nano /usr/local/src/install-collectd-centos.sh

Ajustar la variable COLLECTD_VERSION de acuerdo a la versión de collectd descargada:

#!/bin/bash

COLLECTD_VERSION="5.8.0"

tar -axf collectd-${COLLECTD_VERSION}.tar.* \
&& chown -R root:root collectd-${COLLECTD_VERSION}/ \
|| exit 1

export CFLAGS="-O3 -march=native -mtune=native"
export CXXFLAGS=${CFLAGS}
export CPPFLAGS=${CFLAGS}

cd collectd-${COLLECTD_VERSION}/
./configure \
  --disable-werror \
  --prefix=/usr/local/collectd \
  \
  --enable-cpu \
  --enable-curl \
  --enable-df \
  --enable-disk \
  --enable-load \
  --enable-memory \
  --enable-network \
  --enable-processes \
  --enable-protocols \
  --enable-swap \
  --enable-syslog \
  --enable-tail \
  --enable-tcpconns \
  --enable-unixsock \
  --enable-uptime \
  --enable-users \
  --enable-vmem \
|| exit 1

# plugins adicionales
#   --enable-apache \
#   --enable-iptables \
#   --enable-mysql \
#   --enable-postgresql \
#   --enable-python \
# ejecutar ./configure --help para ver todos

make \
&& make install \
&& echo -e "\nINSTALACION '$(basename $(pwd))' OK!\n" \
|| exit 1

cp contrib/redhat/init.d-collectd /etc/init.d/collectd \
&& chkconfig collectd on \
&& cd .. \

Ejecutar el script de instalación:

# chmod +x install-collectd-centos.sh
# ./install-collectd-centos.sh

Luego editar las variables prog, CONFIG y COLLECTD en el script de inicio del servicio:

# nano /etc/init.d/collectd

Utilizar los siguientes valores, de acuerdo a la configuración aplicada por el script:

prog="/usr/local/collectd/sbin/collectdmon"
CONFIG=/usr/local/collectd/etc/collectd.conf
COLLECTD=/usr/local/collectd/sbin/collectd

Guardar los cambios y otorgar permiso de ejecución al script de inicio del servicio:

# chmod +x /etc/init.d/collectd

El siguiente paso consiste en configurar collectd según los plugins que se deseen utilizar, tal como se muestra por ejemplo en el artículo Compilar y configurar collectd con InfluxDB en Debian y derivados:

# cd /usr/local/collectd/etc/
# nano collectd.conf

Finalmente, iniciar collectd:

[root@centos etc]# service collectd start
Starting collectd:                                         [  OK  ]

Referencias


Tal vez pueda interesarte


Compartí este artículo