Instale la nueva bifurcación LibreNMS desde Observium
LibreNMS es una herramienta de monitoreo de red basada en PHP/MySQL/SNMP con descubrimiento automático que incluye soporte para una amplia gama de hardware de red y sistemas operativos, incluidos Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP y muchos más. . LibreNMS es una bifurcación comunitaria de Observium.
LibreNMS tiene muchas características:
- Descubrimiento automático: descubre automáticamente toda tu red mediante CDP, FDP, LLDP, OSPF, BGP, SNMP y ARP.
- Alertas personalizables: Sistema de alertas altamente flexible, notifica por correo electrónico, irc, slack y más.
- Encuesta distribuida: Escalado horizontal para crecer con su red.
- Sistema de complementos: LibreNMS tiene un sistema de complementos que le permite ampliar su instalación según sus necesidades.
Este tutorial cubrirá el proceso de instalación de LibreNMS en sistemas basados en RHEL/CentOS/ con las configuraciones mínimas necesarias.
Requisitos
En este artículo asumimos que ha realizado una instalación nueva para el servidor Centos y que es el usuario root. Si no es así, anteponga
sudo
a todos los comandos de Shell o convertirse temporalmente en un usuario con privilegios de root con
sudo -s
Configuración de base de datos
LibreNMS está basado en LAMP Server (Mysql, apache y php). El primer paso que haremos será instalar el servidor mysql y configurar la base de datos para LbreNMS.
yum install net-snmp mysql-server
service snmpd start
service mysqld start
chkconfig --levels 235 mysqld on
chkconfig --levels 235 snmpd on
Ahora, después de instalar el servidor mysql, debe protegerlo utilizando el script seguro de mysql.
mysql_secure_installation
Ahora puede configurar el usuario y la base de datos mysql para LibreNMS.
Necesita tener la contraseña del usuario root de MySQL.
Inicie sesión en MySQL:
mysql -u root -p
Después de una autenticación exitosa, debe crear la base de datos para el sitio web de WordPress.
CREATE DATABASE librenms;
El nombre de la base de datos es librenms. Necesitará esta información más adelante.
Ahora, debes crear el administrador de la base de datos.
CREATE USER librenmsadmin@localhost IDENTIFIED BY 'librenmspassword';
A continuación, debe otorgar permisos a este usuario para administrar la base de datos que creó.
GRANT ALL PRIVILEGES ON librenms.* TO librenms@localhost;
Debes vaciar la información de privilegios en el disco para activar el nuevo usuario de MySQL:
FLUSH PRIVILEGES;
exit
Si su base de datos está en el mismo servidor que LibreNMS, puede usar
localhost
como dirección IP. Si está implementando un servidor de base de datos separado, debe cambiar localhost arriba con la IP del servidor que ejecuta LibreNMS. Y también necesitas cambiar necesitas cambiar el
bind-address
.
vim /etc/my.cnf
Agregue la siguiente línea:
bind-address = <ip>
Cambiar
<ip>
a la dirección IP que su servidor MySQL debe escuchar. Reinicie MySQL:
service mysqld restart
Instalación de LibreNMS
Antes de descargar el paquete LibreNMS, debe instalar algún software previo.
Los paquetes que se enumeran a continuación son una lista completa de los paquetes necesarios en una instalación limpia de CentOS 6.5. También requiere el repositorio EPEL.
si no utiliza HTTPd (Apache): RHEL requiere
httpd
para instalar independientemente de
nginx
la presencia de (o de cualquier otro servidor web).
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install php php-cli php-gd php-mysql php-snmp php-pear php-curl httpd net-snmp graphviz graphviz-php mysql ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils vixie-cron php-mcrypt fping git
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
El siguiente paso es agregar el usuario librenms.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms apache
Luego asegúrese de configurar httpd para que se inicie al iniciar el sistema.
chkconfig --levels 235 httpd on
A continuación, agregue lo siguiente a /etc/httpd/conf.d/librenms.conf
<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName librenms.example.com
CustomLog /opt/librenms/logs/access_log combined
ErrorLog /opt/librenms/logs/error_log
AllowEncodedSlashes On
<Directory "/opt/librenms/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
Si está ejecutando Apache 2.2.18 o superior, cambie
AllowEncodedSlashes
a
NoDecode
y agregue
Require all granted
debajo de
Options FollowSymLinks MultiViews
.
En esta etapa, puede clonar el repositorio mediante HTTPS o SSH. En cualquier caso, debe asegurarse de que el puerto apropiado (443 para HTTPS, 22 para SSH) esté abierto en la dirección de salida de su servidor.
cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms
El método recomendado para clonar un repositorio git es HTTPS. Si en su lugar desea clonar a través de SSH, use el comando
cd /opt
git clone [email :librenms/librenms.git librenms instead
cd /opt/librenms
En esta etapa, puede iniciar el instalador web yendo a http://IP/install.php, seguir las instrucciones en pantalla y luego pasar a la 'Interfaz web' . sección más abajo.
Alternativamente, si desea continuar con la configuración manualmente, siga estas instrucciones.
cp config.php.default config.php
vim config.php
Cambie los valores a la derecha del signo igual para las líneas que comienzan con
$config[db_]
para que coincida con la información de su base de datos como se configuró anteriormente.
Cambie el valor de
$config['snmp']['community']
de
public
a cualquiera que sea su comunidad SNMP de solo lectura. Si tiene varias comunidades, configúrela como la más común.
Agregue la siguiente línea al final de
config.php
:
$config['fping'] = "/usr/sbin/fping";
Asegúrese de no tener caracteres (incluidos espacios en blanco como: nuevas líneas, espacios, tabulaciones, etc.) fuera de los bloques <?php?>. De lo contrario, sus gráficos se romperán.
Ahora necesitas inicializar la base de datos.
php build-base.php
Ahora es el momento de crear el usuario administrador con privilegios 10. Sustituya el nombre de usuario y la contraseña que desee y deje los corchetes angulares apagados.
php adduser.php <name> <pass> 10
Para preparar la interfaz web (y agregar dispositivos en breve), deberá crear y editar un directorio, así como crear un vhost Apache.
Primero, cree y cambie el directorio rrd y cree el directorio de registros
mkdir rrd logs
chown apache:apache logs
chmod 775 rrd
chown librenms:librenms rrd
Inicie el servidor web:
service httpd restart
Add localhost
php addhost.php localhost public v2c
Esto supone que no has realizado cambios en la comunidad; si los has hecho, reemplaza public con tu comunidad. También asume SNMP v2c.
Descubra localhost y sondeelo por primera vez:
php discovery.php -h all && php poller.php -h all
Crear tarea cronológica
El método de sondeo utilizado por LibreNMS es
poller-wrapper.py
, que fue puesto en el dominio público por su autor. De forma predeterminada, se ejecuta el cronjob de LibreNMS
poller- wrapper.py
con 16 hilos. La recomendación actual de LibreNMS es utilizar cuartas lecturas por núcleo. El valor predeterminado si no hay ningún número de hilos
16 threads
Si es necesario cambiar el número de subprocesos, puede hacerlo editando el archivo cron (
/etc/cron.d/librenms
). Simplemente agregue un número después
poller-wrapper.py
, como en el siguiente ejemplo:
/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1
Crea el trabajo cron
cp librenms.nonroot.cron /etc/cron.d/librenms
LibreNMS realiza actualizaciones diarias de forma predeterminada. A las 00:15 hora del sistema todos los días, se realiza un git pull –no-edit –quiet. Puede anular este valor predeterminado editando su archivo config.php. Elimine el comentario (la marca #) en la línea:
#$config['update'] = 0;
para que quede así:
$config['update'] = 0;
¡Eso es todo! Ahora debería poder iniciar sesión en http://librenms.example.com/.
Capturas de pantalla
Eso es todo por ahora. Gracias por visitar Unixmen. Estén atentos con nosotros.