Installation av munin

Har sedan jag köpte min server för några veckor sen undrat ungefär hur mycket man kan förvänta sig av den. Ett bra sätt att få ett hum om det är att övervaka hur mycket resurser som används på den. Då jag inte är en inbiten vän av linux text-inputs-program, bash (än så länge) och kan trolla fram allt sånt med kommandon så tänkte jag använda mig av ett program.

Blev tipsad av Jonas Lejon som driver utvbloggen (och typ 30 andra saker samtidigt) om ett litet program som heter munin för att övervaka sina servrar. Nu har jag ju bara en server, eller egentligen två om man räknar med min lilla nätverkshårddisk, men det fungerar bra ändå. För att få igång munin så började jag med att installera:

apt-get install munin munin-node

vilket installerar munin och en liten klient-version (munin-node) som man lägger på alla sina server som man vill övervaka. Det finns många guider hur man installerar munin och får det att fungera, men det tog tid innan jag lyckades få allt på plats som jag ville, så tänkte gå igenom de små krångliga delarna mest.

Det jag hade problem med var att få igång de plugins som jag ville ha (apache_processes och mysql_queries). Men för att inte hoppa allt för lång fram så kan jag redovisa hur jag fortsatte.

När jag installerat munin så var jag tvungen att gå in och ändra i munin.conf (/etc/munin/munin.conf).

Det jag ändrade där var raderna:

htmldir    /var/www/munin

och

[localhost.localdomain]

Där jag gjorde en munin-mapp i Apache dokument-root (sätt rättigheter på den mappen så att munin kan skriva i den) och pekade htmldir till den samt ändrade den andra raden till:

[myserver1.gousr.com]

Vidare så gjorde jag en virtual host i Apache som pekade på mappen och la den som en subdomän. Gå in i filen httpd-vhosts.conf och lägg till följande (ändra det som ska ändras):

<VirtualHost *:80>
    DocumentRoot /(din webservers dokumentrot utan paranteser)/munin
    ServerName munin.dindomän.com
    ServerAlias munin.dindomän.com
    ErrorLog logs/dindomän-error_log
    CustomLog logs/dindomän-access_log common
</VirtualHost>

Efter det så ska det går att se grafer om du surfar in på adressen som du skapat i vhost-filen.

För att se statistik om apache och mysql så måste man göra lite trix. Börja med att lägga till symboliska länkar till de plugin du vill använda:

ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/
ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/

Nu ska graferna dyka upp i munin (kan ta upp till 5 minuter). Jag trodde allt skulle vara frid och fröjd nu, men så var det icke. Det var här krånglet började istället. Munin behöver tillgång till statistiken för att kunna presentera den i grafer, så jag var tvungen att lista ut hur man skulle göra det. Börjar med apache.

Munin vill läsa statistik från adressen http://localhost:80/server-stats?auto. Kör man XAMPP som jag gör så är server-stats inaktiverat. För att ändra det så måste man först gå in i httpd.conf och avkommentera raden där man inkluderar httpd-info.conf så att det ser ut såhär:

# Real-time info on requests and configuration
Include etc/extra/httpd-info.conf

I http-info.conf så ska man sedan ställa in så att det ser ut på följande sätt:

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from localhost
</Location>

Det gör att man bara kommer åt serverinfom från servern. Nu borde det funka, men det är en liten sak till att trolla med, vilket beror på att man måste skriva in användarnamn och lösen för att komma åt vissa mappar i XAMPP. I /etc/munin/plugin-conf.d/ finns en fil som heter munin-nodes där man ska in och pilla för att lösa det. Lägg till följande rader på lämpligt ställe (byt ut “username” och “password” mot det användarnamn och lösen du använder för att komma åt xampp):

[apache_*]
user root
env.url http://username:password@localhost:%d/server-status?auto
env.ports 80

Nu ska det gå att samla info om apache!

För att nu fixa mysql_queries måste man göra liknande saker. Börja med att skapa filen alt.cnf med följande innehåll:

[client]
password = dittlösen
port = 3306
socket = /opt/lampp/var/mysql/mysql.sock

Spara filen på valfritt ställe där du känner att den känns säker. Gå nu in i munin-node igen och ändra under [mysql*].

[mysql*]
user root
env.mysqlopts --defaults-extra-file=/(sökväg till där du la alt.cnf)/alt.cnf
env.mysqladmin /(mysqladmin-path)

Sätt env.mysqlopts till att peka på den sökväg där du sparade alt-cnf-filen och mysqladmin-sökvägen får du fram genom att skriva:

locate mysqladmin

För att alla ändringar ska börja gälla så måste du starta om apache och munin-node:

/etc/init.d/munin-node restart
/opt/lampp/lampp restart

Nu ska det fungera! För att testa kan du skriva in:

munin-run mysql_queries autoconfig
munin-run apache_processes autoconfig

Du bör få “yes” som svar, annars är det knas!

Något som jag gjort som också kan vara trevligt är att lösenordsskydda din munin-mapp. Det går att göra genom att sätta in en htaccess-fil i mappen. Googla på “htaccess password” så ska det nog dyka upp ett antal guider eller tutorials om hur man gör.

Kommer nog komma mer senare om andra saker.

This entry was posted on Monday, January 26th, 2009 at 16:39 and is filed under server. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

One Response to “Installation av munin”

Trackbacks

  1. goUsr » Blog Archive » Övervaka CPU temperatur med munin