PDA

Bekijk Volledige Versie : Server statistieken via mail script



Mathew
22/10/09, 02:23
Ik weet niet of dit bestaat maar ik ben naar het volgende op zoek:

Een scriptje die me dagelijks een mailtje stuurt met de statistieken van wat er die dag op een bepaalde (linux!) server is gaande geweest.

Een aantal van de dingen die ik er zou willen inhebben is :

- Server IP
- Server kernel
- Server Hostname
- Server UPtime
- Laatste SSH Logins
- HDRuimte op het moment van mailen (+ het verschil met de dag ervoor)
- Totaal Upload/Download in MB's in de laatste 24u

Eventueel ook een link naar een aantal grafieken (apache hits, load, traffic, ...)

Indien het niet bestaat, lijkt dit voor jullie makkelijk te realiseren? Bij welke scriptingtaal zou ik hiervoor het best eens aankloppen?
Ik ben vrij thuis in PHP, en ik dacht zo aan een PHP-scriptje die dagelijks uitgevoerd zou worden door een crontabje?

Alvast bedankt,
Mathew

PreServer
22/10/09, 10:32
Indien het niet bestaat, lijkt dit voor jullie makkelijk te realiseren? Bij welke scriptingtaal zou ik hiervoor het best eens aankloppen?
Ik ben vrij thuis in PHP, en ik dacht zo aan een PHP-scriptje die dagelijks uitgevoerd zou worden door een crontabje?


scriptaal zou eigenlijk alles kunnen zijn wat die gegevens kan opvragen, het zou ook vrij makkelijk te maken moeten zijn. Dus als je php kan, lijkt dat mij de makkelijkste keus

Keizer
22/10/09, 10:35
ik weet al die commando's niet, maar in principe is het zo gemaakt; als je een bash scriptje maakt en je voert al die commando's uit met als output een .txt, dan kan je die daarna makkelijk mailen

klein voorbeeld, gejat uit mn eigen creaties (backup script):



#!/bin/bash

datum=$(date +%d-%m-%y)

echo "<div style=\"font-family: Verdana; width: 600px; padding: 10px; background-color: ********;\">" >> /tmp/log.mail

function log {
echo $1 "<br />" >> /tmp/log.mail
}

function h4 {
echo "<h4>${1}</h4>" >> /tmp/log.mail
}

h4 "Statistics from ${hostname} at ${datum}"

log "Server diskspace"
df >> /tmp/log.mail

log "Last SSH logins"
#dit is een wilde gok
tail -l 10 /var/log/ssh.log >> /tmp/log.mail

echo "</div>" >> /tmp/log.mail

cat /tmp/log.mail | mail -a "From: Stats PRO <root@jeservers.nl>" -a "Content-Type: text/html; charset=UTF-8" -s "Statistics ${datum}" info@jijzelf.nl

rm /tmp/log.mail

er zijn vast mooiere manieren maar deze werkt wel; ik heb alleen gen verstand van de verschillen in verschillende linuxen enzo, deze is gebouwd op centos 5

het zou ook met php kunnen, maar dan moet je wel system() of shell_exec() aan hebben staan...

Mathew
22/10/09, 11:42
Kijk, zo een duw in de rug had ik nodig om eraan te beginnen Keizer!

Bedankt, en als er geïntereseerden zijn voor het scriptje, pm me maar :-)

Keizer
22/10/09, 12:11
Np! je mag de commando's die je gebruikt anders hier wel plaatsen; leer ik ook weer wat ;)

succes!