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
- Compilar y configurar collectd con InfluxDB en Debian y derivados
- Graficar métricas de collectd con Grafana
- Monitorear la actividad de Nginx con Grafana+InfluxDB+collectd