OVH Community, votre nouvel espace communautaire.

Aide sur Munin


janus57
27/08/2015, 13h24
Bonjour,

- Est-ce que munin sait redemarrer un service si il repond plus ou suite à une alerte par mail d'une surcharge CPU par exemple ?
non ça c'est monit ou autre, munin c'est juste de le surveillance "passif" sans actions sur les services.

-Et sa ne gene pas au niveau securité que tout le monde accès au graph munin via l'url site1/munin par exemple ?
sa dépend et de toute façon on peu rendre l'accès accessible uniquement via login+mdp

Cordialement, janus57

arn0
27/08/2015, 13h18
Ah oui encore plus simple donc c'est vrai que lorsque l'on crée le lien symbolique sa crée également le dossier...

Autres questions (surement bête mais bon) :

- Dans ton exemple pourquoi mettre le dossier munin dans /home/site1/munin et ne pas directement le mettre dans /home/munin ? Car les graphes sot liés à tous le serveur pas spécialement à site1 par exemple

-Et sa ne gene pas au niveau securité que tout le monde accès au graph munin via l'url site1/munin par exemple ?

- Est-ce que munin sait redemarrer un service si il repond plus ou suite à une alerte par mail d'une surcharge CPU par exemple ?

Freemaster
27/08/2015, 12h25
Citation Envoyé par arn0
je créé un dossier munin dans home comme pour les autres sites : chown -R munin /home/munin
je fais un lien symbolyque ln -s /var/www/munin /home/munin
et logiquement j'accede avec mon-ip/munin
ce n'est pas ce que j'ai écris, le mot soit, veut dire soit l'un soit l'autre... pas un mélange...
si tu crées un lien symbolique, il n'y a pas de dossier à créer !

pour faire simple, si ton site http://site1.tld correspond au dossier /home/site1
tu crées un lien symbolique ln -s /var/www/munin /home/site1/munin (sans créer de dossier)
et munin sera accessible via http://site1.tld/munin

arn0
27/08/2015, 10h25
Citation Envoyé par Freemaster
hormis la solution du vhost, tu as 3 solutions HYPER simple à mettre en oeuvre
si tu n'es pas capable de faire ça, fait appel à ton presta
parce que créer un dossier, pour faire un lien symbolique dessus, et à un niveau où il n'est pas accessible sur le web, cela ne risque pas de marcher
Oui j'ai vu tes solutions qui semble effectivement simple et je te remercie.

Si j'ai bien compris ta solution et en fonction de ce qu'il y a sur le serveur :

je créé un dossier munin dans home comme pour les autres sites : chown -R munin /home/munin
je fais un lien symbolyque ln -s /var/www/munin /home/munin
et logiquement j'accede avec mon-ip/munin

Freemaster
27/08/2015, 09h59
hormis la solution du vhost, tu as 3 solutions HYPER simple à mettre en oeuvre
si tu n'es pas capable de faire ça, fait appel à ton presta
parce que créer un dossier, pour faire un lien symbolique dessus, et à un niveau où il n'est pas accessible sur le web, cela ne risque pas de marcher

arn0
27/08/2015, 08h40
En regardant les dossiers du serveur donc munin est bien dans /var/www/munin dans mon cas. Et dans le fichier conf.d de apache2 j'ai rien du tout. A priori les sites sont dans "site-avaible" et site-enabled" mais pas de trace d'un dossier munin

Le plus simple serait je pense de créer un dossier munin dans home comme pour les autres sites : chown -R munin /home/munin
Et de faire un lien symbolyque (comme dit Freemaster) ln -s /var/www/munin /home/munin

Et en faisant j'aurais logiquement accès à munin via mon-ip/munin c'est bien sa ?
Il y a pas d'autres choses à activer pour voir les graphs etc ?

cela ne pose pas un problème de securité que tout le monde puisse voir les graphs en detail du serveur via l'url ?

janus57
26/08/2015, 21h11
Bonjour,

C'est un RAID HARD sur le serveur. Munin arrive a envoyer un mail s'il ne détecte plus un DD ou un RAID degradé ? idem pour la charge cpu etc ?
pour le raid hard j'ai un tout, mais pour tout le reste oui.

et on peut pas configurer munin sur un port (comme avec monit) pour voir l'interface ?
non

Car sa m’embête de toucher au serveur apache (de peur de faire une boulette) ?
si la personne a installé munin via les package de la distribution y a 90% de chance que y a la config dans le serveur web mais la config n'a pas été activé.

Perso sur une config ISPCofnig + munin (via package debian wheezy) :
munin.conf
Code:
root@janus57:~# cat /etc/munin/munin.conf
# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files.  They all
# must be writable by the user running munin-cron.  They are all
# defaulted to the values you see here.
#
#dbdir  /var/lib/munin
#htmldir /var/cache/munin/www
#logdir /var/log/munin
#rundir  /var/run/munin

# Where to look for the HTML templates
#
#tmpldir        /etc/munin/templates

# Where to look for the static www files
#
#staticdir /etc/munin/static

# temporary cgi files are here. note that it has to be writable by
# the cgi user (usually nobody or httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp

# (Exactly one) directory to include all files from.
includedir /etc/munin/munin-conf.d

# You can choose the time reference for "DERIVE" like graphs, and show
# "per minute", "per hour" values instead of the default "per second"
#
#graph_period second

# Graphics files are generated either via cron or by a CGI process.
# See http://munin-monitoring.org/wiki/CgiHowto2 for more
# documentation.
# Since 2.0, munin-graph has been rewritten to use the cgi code.
# It is single threaded *by design* now.
#
#graph_strategy cron

# munin-cgi-graph is invoked by the web server up to very many times at the
# same time.  This is not optimal since it results in high CPU and memory
# consumption to the degree that the system can thrash.  Again the default is
# 6.  Most likely the optimal number for max_cgi_graph_jobs is the same as
# max_graph_jobs.
#
#munin_cgi_graph_jobs 6

# If the automatic CGI url is wrong for your system override it here:
#
#cgiurl_graph /munin-cgi/munin-cgi-graph

# max_size_x and max_size_y are the max size of images in pixel.
# Default is 4000. Do not make it too large otherwise RRD might use all
# RAM to generate the images.
#
#max_size_x 4000
#max_size_y 4000

# HTML files are normally generated by munin-html, no matter if the
# files are used or not. You can change this to on-demand generation
# by following the instructions in http://munin-monitoring.org/wiki/CgiHowto2
#
# Notes:
# - moving to CGI for HTML means you cannot have graph generated by cron.
# - cgi html has some bugs, mostly you still have to launch munin-html by hand
#
#html_strategy cron

# munin-update runs in parallel.
#
# The default max number of processes is 16, and is probably ok for you.
#
# If set too high, it might hit some process/ram/filedesc limits.
# If set too low, munin-update might take more than 5 min.
#
# If you want munin-update to not be parallel set it to 0.
#
#max_processes 16

# RRD updates are per default, performed directly on the rrd files.
# To reduce IO and enable the use of the rrdcached, uncomment it and set it to
# the location of the socket that rrdcached uses.
#
#rrdcached_socket /var/run/rrdcached.sock

# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime
# something changes (OK -> WARNING, CRITICAL -> OK, etc)
#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm
#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm
#
# For those with Nagios, the following might come in handy. In addition,
# the services must be defined in the Nagios server as well.
#contact.nagios.command /usr/bin/send_nsca nagios.host.comm -c /etc/nsca.conf

# a simple host tree
[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes

#
# A more complex example of a host tree
#
## First our "normal" host.
# [fii.foo.com]
#       address foo
#
## Then our other host...
# [fay.foo.com]
#       address fay
#
## Then we want totals...
# [foo.com;Totals] #Force it into the "foo.com"-domain...
#       update no   # Turn off data-fetching for this "host".
#
#   # The graph "load1". We want to see the loads of both machines...
#   # "fii=fii.foo.com:load.load" means "label=machine:graph.field"
#       load1.graph_title Loads side by side
#       load1.graph_order fii=fii.foo.com:load.load fay=fay.foo.com:load.load
#
#   # The graph "load2". Now we want them stacked on top of each other.
#       load2.graph_title Loads on top of each other
#       load2.dummy_field.stack fii=fii.foo.com:load.load fay=fay.foo.com:load.load
#       load2.dummy_field.draw AREA # We want area instead the default LINE2.
#       load2.dummy_field.label dummy # This is needed. Silly, really.
#
#   # The graph "load3". Now we want them summarised into one field
#       load3.graph_title Loads summarised
#       load3.combined_loads.sum fii.foo.com:load.load fay.foo.com:load.load
#       load3.combined_loads.label Combined loads # Must be set, as this is
#                                                 # not a dummy field!
#
## ...and on a side note, I want them listen in another order (default is
## alphabetically)
#
# # Since [foo.com] would be interpreted as a host in the domain "com", we
# # specify that this is a domain by adding a semicolon.
# [foo.com;]
#       node_order Totals fii.foo.com fay.foo.com
#
apache :
Code:
root@janus57:~# cat /etc/apache2/conf.d/munin
# Enable this for template generation
Alias /munin /var/cache/munin/www

# Enable this for cgi-based templates
#Alias /munin-cgi/static /var/cache/munin/www/static
#ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html
#
#       Order allow,deny
#       Allow from localhost 127.0.0.0/8 ::1
#       AuthUserFile /etc/munin/munin-htpasswd
#       AuthName "Munin"
#       AuthType Basic
#       require valid-user
#


        Order allow,deny
        Allow from all
        Options None

        # This file can be used as a .htaccess file, or a part of your apache
        # config file.
        #
        # For the .htaccess file option to work the munin www directory
        # (/var/cache/munin/www) must have "AllowOverride all" or something
        # close to that set.
        #

        # AuthUserFile /etc/munin/munin-htpasswd
        # AuthName "Munin"
        # AuthType Basic
        # require valid-user

        # This next part requires mod_expires to be enabled.
        #

        # Set the default expiration time for files to 5 minutes 10 seconds from
        # their creation (modification) time.  There are probably new files by
        # that time.
        #

    
        ExpiresActive On
        ExpiresDefault M310
    



# Enables fastcgi for munin-cgi-html if present
#
#    
#        SetHandler fastcgi-script
#    
#

#
#       SetHandler None
#

# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph

        Order allow,deny
        Allow from all
        # AuthUserFile /etc/munin/munin-htpasswd
        # AuthName "Munin"
        # AuthType Basic
        # require valid-user
        
                SetHandler fastcgi-script
        


ScriptAlias /munin-cgi/munin-cgi-html /usr/lib/munin/cgi/munin-cgi-html

        Order allow,deny
        Allow from all
        # AuthUserFile /etc/munin/munin-htpasswd
        # AuthName "Munin"
        # AuthType Basic
        # require valid-user
        
                SetHandler fastcgi-script
        
Cordialement, janus57

Freemaster
26/08/2015, 20h20
vu que ton site principal est dans /home, par exemple /home/user/www est la racine web, tu peux créer :
- soit un lien symbolique style ln -s /var/www/munin /home/user/www/munin
- soit modifié munin.conf, pour mettre par exemple htmldir /home/user/www/munin
faut pas oublier de le créer, et mettre les droits à munin chown -R munin /home/user/www/munin
- soit créer un alias comme Alias "/munin" "/var/www/munin"
- soit créer un sous-domaine spécialement pour munin, genre http://munin.asrun.eu et donc avoir un vhost rien que pour lui

comme tu vois, les solutions ne manquent pas
maintenant mettre l'ip du serveur dans munin.conf ça va pas t'aider non

arn0
26/08/2015, 19h41
Citation Envoyé par Freemaster
dans le virtualhost de ton domaine, suffit de créer un alias:
Alias "/munin" "/var/www/munin"

ainsi http://nom_de_domaine/munin fonctionnera
Dans un site il dise de faire sa pour avoir accès :

Code HTML:
Il ne reste plus qu’à créer un lien symbolique du répertoire contenant l’interface Web de Munin vers le répertoire par défaut d’apache2 afin que l’interface de Munin soit disponible:

ln -s /var/cache/munin/www /var/www/munin
Il ne parle pas spécialement de créer un alias et y dise de mettre ip du serveur dans munin.conf. c'est possible sa ?

Freemaster
26/08/2015, 17h22
Citation Envoyé par arn0
edit : Sur le net ils ont l'air de dire que http://adresse-ip-serveur/munin doit fonctionner par defaut. par contre en regardant, j'ai pas de site dans var/www (il y a un virtualmin d'installé et les sites sont dans home peut etre pour sa ? ou peut etre il faut renseigner l'IP du serveur dans la conf ci-dessus ?
dans le virtualhost de ton domaine, suffit de créer un alias:
Alias "/munin" "/var/www/munin"

ainsi http://nom_de_domaine/munin fonctionnera

arn0
26/08/2015, 16h00
Citation Envoyé par janus57
Bonjour,

pour l'interface web c'est pas dans la config de munin qu'il faut chercher mais dans la conf du serveur web (apache/nginx ou autre), car munin utilise le serveur web et ne génère pas sa propre interface.

Ensuite pour que munin envoie un mail en cas de warnings/criticals y a ceci : http://munin-monitoring.org/wiki/HowToContact + http://sametmax.com/monitorez-vos-se...ons-par-email/

Sinon si le serveur est en RAID logiciel (via mdadm) il suffit de configurer ce dernier pour envoyer un mail d'alerte en cas de RAID dégradé (aka HDD potentiellement mort).

Cordialement, janus57
C'est un RAID HARD sur le serveur. Munin arrive a envoyer un mail s'il ne détecte plus un DD ou un RAID degradé ? idem pour la charge cpu etc ?

Et on peut pas configurer munin sur un port (comme avec monit) pour voir l'interface ? Car sa m’embête de toucher au serveur apache (de peur de faire une boulette) ? Pa rexemple si je veux voir tous les graphes via mon-ip/monitoring ou mon-iport on est obligé de faire des modif dans un apach ? (si oui quelle modif par exemple?)

arn0
26/08/2015, 15h52
Citation Envoyé par Freemaster
au vu de ta config (htmldir /var/www/munin)
tu as essayé http://adresse-ip-serveur/munin ?

en supposant que tu as bien un serveur web qui tourne sur ton serveur
Sa me dit que l'url n'existe pas... Oui il y a un serveur Web qui tourne vu que les sites fonctionnent

edit : Sur le net ils ont l'air de dire que http://adresse-ip-serveur/munin doit fonctionner par defaut. par contre en regardant, j'ai pas de site dans var/www (il y a un virtualmin d'installé et les sites sont dans home peut etre pour sa ? ou peut etre il faut renseigner l'IP du serveur dans la conf ci-dessus ?

Freemaster
26/08/2015, 15h20
au vu de ta config (htmldir /var/www/munin)
tu as essayé http://adresse-ip-serveur/munin ?

en supposant que tu as bien un serveur web qui tourne sur ton serveur

janus57
26/08/2015, 15h15
Bonjour,

pour l'interface web c'est pas dans la config de munin qu'il faut chercher mais dans la conf du serveur web (apache/nginx ou autre), car munin utilise le serveur web et ne génère pas sa propre interface.

Ensuite pour que munin envoie un mail en cas de warnings/criticals y a ceci : http://munin-monitoring.org/wiki/HowToContact + http://sametmax.com/monitorez-vos-se...ons-par-email/

Sinon si le serveur est en RAID logiciel (via mdadm) il suffit de configurer ce dernier pour envoyer un mail d'alerte en cas de RAID dégradé (aka HDD potentiellement mort).

Cordialement, janus57

arn0
26/08/2015, 15h05
Bonjour,

Il y a pas mal de temps un prestataire m'avait configurer un serveur. j'ai vu qu'il y avait munin d'installer. Il a l'air de fonctionner vu que dans Filzella je vois que dans le dossier munin il y a pas mal de graphe tous les jours et les logs sont bien activés.

Donc il a l'air de tourner mais à priori la conf ne semble pas être fini car je n'ai pas l'interface Web (à priori).
N'étant pas très doué avec Munin et le monde du dédié, pouvez-vous svp me dire dans quel fichier on paramètre l'interface Web de munin et si l'on peut être alerté par mail si un DD lache par exemple ou autre avec Munin ?

Si vous avez également des conseils pour sécuriser le tout je suis preneur.

Voici la conf actuel :

munin.conf

Code:
# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, and the logs, severally.  They all
# must be writable by the user running munin-cron.
dbdir	/var/lib/munin
htmldir	/var/www/munin
logdir	/var/log/munin
rundir  /var/run/munin

# Where to look for the HTML templates
tmpldir	/etc/munin/templates

# Make graphs show values per minute instead of per second
#graph_period minute

# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime 
# something changes (OK -> WARNING, CRITICAL -> OK, etc)
#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm
#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm
#
# For those with Nagios, the following might come in handy. In addition,
# the services must be defined in the Nagios server as well.
#contact.nagios.command /usr/sbin/send_nsca -H nagios.host.com -c /etc/send_nsca.cfg

# a simple host tree
[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes

# 
# A more complex example of a host tree
#
## First our "normal" host.
# [fii.foo.com]
#       address foo
#
## Then our other host...
# [fay.foo.com]
#       address fay
#
## Then we want totals...
# [foo.com;Totals] #Force it into the "foo.com"-domain...
#       update no   # Turn off data-fetching for this "host".
#
#   # The graph "load1". We want to see the loads of both machines... 
#   # "fii=fii.foo.com:load.load" means "label=machine:graph.field"
#       load1.graph_title Loads side by side
#       load1.graph_order fii=fii.foo.com:load.load fay=fay.foo.com:load.load
#
#   # The graph "load2". Now we want them stacked on top of each other.
#       load2.graph_title Loads on top of each other
#       load2.dummy_field.stack fii=fii.foo.com:load.load fay=fay.foo.com:load.load
#       load2.dummy_field.draw AREA # We want area instead the default LINE2.
#       load2.dummy_field.label dummy # This is needed. Silly, really.
#
#   # The graph "load3". Now we want them summarised into one field
#       load3.graph_title Loads summarised
#       load3.combined_loads.sum fii.foo.com:load.load fay.foo.com:load.load
#       load3.combined_loads.label Combined loads # Must be set, as this is
#                                                 # not a dummy field!
#
## ...and on a side note, I want them listen in another order (default is
## alphabetically)
#
# # Since [foo.com] would be interpreted as a host in the domain "com", we
# # specify that this is a domain by adding a semicolon.
# [foo.com;]
#       node_order Totals fii.foo.com fay.foo.com
#
munin-node.conf

Code:
#
# Example config-file for munin-node
#

log_level 4
log_file /var/log/munin/munin-node.log
port 4949
pid_file /var/run/munin/munin-node.pid
background 1
setseid 1

# Which port to bind to;
host *
user root
group root
setsid yes

# Regexps for files to ignore

ignore_file ~$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$

# Set this if the client doesn't report the correct hostname when
# telnetting to localhost, port 4949
#
#host_name localhost.localdomain

# 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 ^127\.0\.0\.1$