Munin
Descripción
Como se monta la pagina de diagnostico de munin
Prerequistos
Pide algunas librerias como las de perl rddtool
Procedimiento
A. Instalación básica
Consiga los rpms .. se necesitan dos:
- munin.node .. que es el que corre en la maquina y ejecuta los plugins para hacer las graficas
- munin .. es el papa, es quien muestra y quien consulta los otros servidores
B. Configuración
1. Incluya los nodos en el server
En el archivo /etc/munin/munin.conf se incluyen los servidores que se van a mostrar
# a simple host tree
[zion]
address 127.0.0.1
use_node_name yes
[babylon3]
address 10.5.0.2
use_node_name yes
[calypso]
address 192.168.8.202
use_node_name yes
[ska]
address 192.168.8.201
use_node_name yes
2. Permita el acceso al node
Cuando tiene varias maquinas y un solo despliegue, tiene que conceder el acceso al servidor en
/etc/munin/munin-node.conf
# A list of addresses that are allowed to connect. This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation. You may repeat
# the allow line as many times as you'd like
allow ^192\\.168\\.1\\.1$
3. Agregue Plugin's de los servicios
Aun cuando la instalacion estandar genera sus links .. normales.. a veces es necesario instalar nuevos plugines.
La forma facil es reconfigurare para que lo haga automatico
munin-node-reconfigure –shell
Tome la salida y ejecutela en un shell y eso le da todo.
Manualmente se pueden agregra con un link. Cambiese a /etc/munin/plugins y haga el link
ln -s
B. Trucos y configuraciones especiales
1. Agregue un servidor remoto por SNMP
Ante todo primero prueba que tiene acceso y permiso para hacer consultas snmp al servidor en cuestion
snmpwalk -v 1 192.168.8.13 -c public interfaces
En el munin.conf agregue el servidor .. pero va a ser local
[descartes]
address 127.0.0.1
use_node_name no
contact soporte
Y luego en donde estan los plugins .. haga los links
munin-node-configure –shell –snmp buffalo
Que debe resultar en unos links como
snmp_descartes_df → /usr/share/munin/plugins/snmp__df
snmp_descartes_if_1 → /usr/share/munin/plugins/snmp__if_
snmp_descartes_if_3 → /usr/share/munin/plugins/snmp__if_
snmp_descartes_if_4 → /usr/share/munin/plugins/snmp__if_
snmp_descartes_if_err_1 → /usr/share/munin/plugins/snmp__if_err_
snmp_descartes_if_err_3 → /usr/share/munin/plugins/snmp__if_err_
snmp_descartes_if_err_4 → /usr/share/munin/plugins/snmp__if_err_
snmp_descartes_if_err_6 → /usr/share/munin/plugins/snmp__if_err_
snmp_descartes_load → /usr/share/munin/plugins/snmp__load
snmp_descartes_memory → /usr/share/munin/plugins/snmp__memory
snmp_descartes_netstat → /usr/share/munin/plugins/snmp__netstat
snmp_descartes_processes → /usr/share/munin/plugins/snmp__processes
snmp_descartes_rdp_users → /usr/share/munin/plugins/snmp__rdp_users
snmp_descartes_uptime → /usr/share/munin/plugins/snmp__uptime
snmp_descartes_users → /usr/share/munin/plugins/snmp__users
snmp_descartes_winload → /usr/share/munin/plugins/snmp__winload
snmp_descartes_winmem → /usr/share/munin/plugins/snmp__winmem
2. Use rrdcached
Cuando tenga mucho IO .. puede usar un servicio llamado rrdcached que permite reducir el uso del disco duro
http://munin-monitoring.org/wiki/rrdcached –
3. Creacion dinamica de graficas (version > 2.0)
Siga este howto y es suficiente ..
http://munin-monitoring.org/wiki/MuninConfigurationMasterCGI –
OJO con los permisos .. todo lo que toque el cgi debe ser de apache (www-data) . .. como /var/log/munin/munin-cgi* o /var/lib/munin/cgi-tmp
4. Acelerar el funcionamiento moviendo www a un tmpfs
5. Munin-Async
Si tiene demasiados plugins y el nodo da timeout pidiendo los datos. Entonces esta es la solucion.
Se crea un servicio paralelo a munin-node llamado munin-async, se crea un usuario y intercambian llaves y los datos se traen de un spool usando ssh
El munin-async hace consultas al munin-node y las almacena en el spool. Si el puerto es diferente al 4949 toca decirselo.
- http://munin.readthedocs.org/en/latest/node/async.html –
- http://blog.hbis.fr/2013/07/25/munin-async_mode/ –
- http://www.matija.si/system-administration/2012/07/15/installing-munin-async/ –
** OJO con los permisos de /var/lib/munin/.ssh/id_rsa .. o sea la llave privada ..debe ser 600 si no, la conexion no anda
** Se puede evitar el ssh intermediario si es local llamando directamente con cmd ..
https://wiki.gentoo.org/wiki/Munin
6. Munin-node en Windows
https://bitsanddragons.wordpress.com/2017/06/27/a-windows-munin-node/
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/munin-node-win32/munin-node-win32-1.6.0.0-installer.exe
Para monitoriar apache y MySQL - MariaDB toca remoto .. con munin-node local no anda… entonces configure un localhost y en la configuracion de los plugins lo manda al remoto
Para apache toca habilitar la IP para consultas de server-status (ver adelante)
Para MySQL - MariaDB necesita acceso y un usuairo ,,. y hace las consultas remotas . . Nada que hacer
Problemas
1. Plugines de Apache no funcionan
Active el server status (esto es redhat)
# ExtendedStatus controls whether Apache will generate "full" status # information (ExtendedStatus On) or just basic information (ExtendedStatus # Off) when the "server-status" handler is called. The default is Off. #ExtendedStatus On ... # Allow server status reports generated by mod_status, # with the URL of http://servername/server-status # Change the ".example.com" to match your domain to enable. #<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 # Allow from .example.com</Location> # Allow remote server configuration reports, with the URL of # http://servername/server-info (requires that mod_info.c be loaded). # Change the ".example.com" to match your domain to enable. #<Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from 127.0.0.1 # Allow from .example.com</Location>
En la familia debian es un tris diferente .. En /etc/apache2/mods-enabled deben estar los links para status* e informes_semanales.html informix_apache_php.html y revise el interior, tienen lo mismo que se ha mostrado.
OJO ..en apache 2.4 es “Require all granted”
2. Plugin de MySQL - MariaDB
Es necesrio agregar opciones para la conexion en el archivo /etc/munin/plugins.conf
[MySQL - MariaDB*]
env.mysqlopts –user=root –password=passwdroot
-
3. Plugins de PostgreSQL
Como los plugins de Postgres piden la contraseña, toca decirle que confie en el usuario postgres para que no pida password en el archivo de configuracion “pg_hba.conf”
en Redhat's→/etc/postgresql/8.3/main/pg_hba.conf
en Debian's→/etc/postgresql/8.3/main/pg_hba.conf
y agregar la siguiente linea:
# TYPE DATABASE USER CIDR-ADDRESS METHODhost all postgres 127.0.0.1/32 trust
Ejemplo.
# database # super user can access the database using some other method. # Noninteractive # access to all databases is required during automatic maintenance # (autovacuum, daily cronjob, replication, and similar tasks). # # Database administrative login by UNIX socketslocal all postgres ident sameuser # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections onlylocal all all md5 # added by skina # host all all 127.0.0.1/32 md5 host all postgres 127.0.0.1/32 trust host all all ::1/128 md5 # IPv4 local connections:host all all 127.0.0.1/32 md5 # IPv6 local connections:host all all ::1/128 md5host all all 0.0.0.0/0 md5
4. Funcionar dentro de CPanel
Sucede que Cpanel tiene su propio perl y entonces el que usa Munin no encuentra los modulos
El truco esta en definir un variable de ambiente llamada PERL5LIB
# byby skina
export PERL5LIB=“/usr/share/perl5:/usr/share/perl5/vendor_perl”
5. Socket timeout (se muere la conexion con el cliente)
Aunque ni asi me funciona. Pruebe lo siguiente
- http://www.jethrocarr.com/2012/05/26/munin-performance/
Referencias
-
FIN
15-Marzo-2006 J.E.Gomez v1.0 Primera version
07-Mayo-2009 Aldo Fernando Vilardy Roa v1.1
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.