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.
One Response to “Installation av munin”
Trackbacks