====== 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. ----