====== 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 ====
- http:%%//%%www.jethrocarr.com/2012/05/26/munin-performance/
==== 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. # SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 # Allow from .example.com # 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. # SetHandler server-info Order deny,allow Deny from all Allow from 127.0.0.1 # Allow from .example.com
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.
----