Sujet moins trollesque (j'espère...). Je cherche un équivalent à SPLUNK (http://www.splunk.com/).
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, pouvoir requetter et répondre aux questions récurentes de mes développeurs sur le nombre moteurs qui passent ou sont passés sur un serveur à un instant T.
Mon collègues avait trouvé Octopussy, mais ça ne la pas convaincu. En plus c'était un peut redondant avec notre Nagios.
Vous faite comment vous ?
+Eric.
Le 20 juil. 2010 à 16:36, Eric Joseph-Alexandre erjo@slitaz.org a écrit :
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, Vous faite comment vous ?
En ce qui me concerne : rsyslog + génération de graphes dans munin. Ça nécessite de savoir a priori ce qu'on veut suivre, mais ça marche bien.
Je connais qqun qui utilise php-syslog-ng, mais je n'ai pas été emballé par la démo qu'il m'a faite.
Jfb
Le 20 juil. 2010 à 16:54, JF Bustarret a écrit :
Le 20 juil. 2010 à 16:36, Eric Joseph-Alexandre erjo@slitaz.org a écrit :
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, Vous faite comment vous ?
En ce qui me concerne : rsyslog + génération de graphes dans munin. Ça nécessite de savoir a priori ce qu'on veut suivre, mais ça marche bien.
Je connais qqun qui utilise php-syslog-ng, mais je n'ai pas été emballé par la démo qu'il m'a faite.
Ce projet a muté en LogZilla. Malheureusement, l'auteur demande une rémunération si on est pas développeur ou assimilé.
J'ai perdu 2h à installer le bouzin, ça a fonctionné 2 jours, et bing, problème de licence. A éviter
Jfb _______________________________________________ FRsaG mailing list FRsaG@frsag.org http://www.frsag.org/mailman/listinfo/frsag
Même si ça fait plusieurs années que je ne m'en suis pas servi, tu pourrais jeter un coup d'oeil sur prelude: http://www.prelude-technologies.com/en/solutions/remote-security-management/...
<disclaimer>Je travaille pour un concurrent commercial de Splunk</disclaimer>
Pierre.
2010/7/20 Eric Joseph-Alexandre erjo@slitaz.org
Sujet moins trollesque (j'espère...). Je cherche un équivalent à SPLUNK (http://www.splunk.com/).
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, pouvoir requetter et répondre aux questions récurentes de mes développeurs sur le nombre moteurs qui passent ou sont passés sur un serveur à un instant T.
Mon collègues avait trouvé Octopussy, mais ça ne la pas convaincu. En plus c'était un peut redondant avec notre Nagios.
Vous faite comment vous ?
+Eric.
FRsaG mailing list FRsaG@frsag.org http://www.frsag.org/mailman/listinfo/frsag
On Tue, 20 Jul 2010 16:36:08 +0200, Eric Joseph-Alexandre erjo@slitaz.org wrote:
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, pouvoir requetter et répondre aux questions récurentes de mes
Vous faite comment vous ?
Je fait pas, mais j'avais bookmarké http://www.steve.org.uk/Software/asql/ en me disant que j'y jetterais un oeil un jour, "quand j'aurai le temps"...
Ca peut etre une etape de ta solution.
On Tue, Jul 20, 2010 at 04:36:08PM +0200, Eric Joseph-Alexandre wrote:
Sujet moins trollesque (j'espère...). Je cherche un équivalent à SPLUNK (http://www.splunk.com/).
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, pouvoir requetter et répondre aux questions récurentes de mes développeurs sur le nombre moteurs qui passent ou sont passés sur un serveur à un instant T.
Mon collègues avait trouvé Octopussy, mais ça ne la pas convaincu. En plus c'était un peut redondant avec notre Nagios.
Vous faite comment vous ?
+Eric.
Sur des grosse archi tu peux envisager d'utiliser ce que fais facebook à savoir scribe :
http://wiki.github.com/facebook/scribe/
Après il faut voir comment l'interfacer avec apache. Apache n'étant pas très communiquant de base. Car pour syslog il faut faire un vieux pipe logger ce qui est pas très élégant donc un | apache2scribe.[whatever] doit fonctionner.
A tester! ;)
-- Yann
Hello
Tout dépend de ce que tu veux ressortir de tes logs... Un coup de inotify et de script bash et ça peut le faire.
a+
Le Wed, 21 Jul 2010 08:13:42 +0200, Bedis 9 bedis9@gmail.com a écrit :
Hello
Salut,
Tout dépend de ce que tu veux ressortir de tes logs... Un coup de inotify et de script bash et ça peut le faire.
Je traque les robots et autre crawlers. Aujourd'hui j'ai des scripts en PERL pour sortir l'@IP/date-heure/UserAgent trier et compter le nombre de requettes.
Mais de manière plus souple et dynamique que ce que me remonte AWStats.
a+
+Eric.
FRsaG mailing list FRsaG@frsag.org http://www.frsag.org/mailman/listinfo/frsag
Bonjour,
Le 20/07/2010 16:36, Eric Joseph-Alexandre a écrit :
Sujet moins trollesque (j'espère...). Je cherche un équivalent à SPLUNK (http://www.splunk.com/).
Le but c'est de centraliser les logs apache de plusieurs serveur dans un base, pouvoir requetter et répondre aux questions récurentes de mes développeurs sur le nombre moteurs qui passent ou sont passés sur un serveur à un instant T.
Mon collègues avait trouvé Octopussy, mais ça ne la pas convaincu. En plus c'était un peut redondant avec notre Nagios.
Vous faite comment vous ?
Un serveur syslog-ng central, tous les serveurs apache transmettent à celui-ci. Sur le central, un script Perl qui reçoit les logs via TCP : destination d_mysql { tcp("localhost" port(6699) template("{@@HOST=$HOST@@}{@@FACILITY=$FACILITY@@}{@@PRIORITY=$PRIORITY@@}{@@LEVEL=$LEVEL@@}{@@TAG=$TAG@@}{@@YEAR=$YEAR@@}{@@MONTH=$MONTH@@}{@@DAY=$DAY@@}{@@HOUR=$HOUR@@}{@@MIN=$MIN@@}{@@SEC=$SEC@@}{@@PROGRAM=$PROGRAM@@}{@@MSG=$MSG@@};\n") template-escape(no)); }; Syslog-ng parce qu'on peut augmenter la taille des messages : log_msg_size(8192);
Ce script fait une partie du traitement selon le type de log (PROGRAM) et dans un des cas insert les logs dans une table MySQL qui contient des triggers pour consolider les stats. + un cron pour supprimer les vieilles data déjà consolidées table_min : par minutes, on garde 1 jour table_day: par jour, on garde 31 jours etc...
Par contre pour que ça tienne la charge j'ai du faire un script multi-process (forks), qui encaissent actuellement 1500r/q avec 8 fils. Et si le script ne suit pas, syslog-ng drop les logs et on perds des stats (augmenter aussi log_fifo_size(); )
Le 21 juil. 2010 à 08:44, Greg a écrit :
Par contre pour que ça tienne la charge j'ai du faire un script multi-process (forks), qui encaissent actuellement 1500r/q avec 8 fils. Et si le script ne suit pas, syslog-ng drop les logs et on perds des stats (augmenter aussi log_fifo_size(); )
Un avantage de rsyslog est qu'il est capable (dans les versions récentes) de bufferiser sur disque les messages si ça suit pas derrière (quoique je ne l'ai pas testé dans ce cas de configuration là).
Utile lorsque tu veux rebooter ton serveur syslog ou si tes serveurs sont "loin".
JFB
2010/7/21 JF Bustarret jf@bustarret.com
Le 21 juil. 2010 à 08:44, Greg a écrit :
Par contre pour que ça tienne la charge j'ai du faire un script
multi-process (forks), qui encaissent actuellement 1500r/q avec 8 fils.
Et si le script ne suit pas, syslog-ng drop les logs et on perds des
stats (augmenter aussi log_fifo_size(); )
Es-tu sûr que ton script est le bottleneck? Ne serait-ce pas lié à la DB (MySQL?) ?
2010/7/21 Greg greg-frsag@duchatelet.net:
Un serveur syslog-ng central, tous les serveurs apache transmettent à celui-ci.
Bonjour,
Il me semble que la version opensource du syslog-ng peut perdre des logs également en cas de perturbation réseau entre le syslog sender et le syslog-ng central. De plus, envoyer ses access log apache sur syslog-ng, ca veut dire forker un logger par ligne de log (seulement si on est en préfork, d'après ce que j'aurais appris hier, sans avoir vérifié), ce qui a pour conséquence sur un site avec un peu de charge de faire monter le load de ta machine à des chiffres qu'on voit rarement (ou qu'on préfèrerait voir rarement).
Personnellement, la centralisation des logs, je l'ai faite avec des access log en fichiers classiques, un logtail2 pour récuperer les nouvelles lignes, toutes les 10 minutes, la mise dans un fichier à part de ces nouvelles lignes, un envoi automatisé des nouveaux fichiers vers un serveur (par ftp ou rsync, peu importe) et la refusion de tous les fichiers ainsi récupérés, depuis de multiples serveurs, avec un tri par date des lignes, pour retrouver une consistence. Avec cette méthode, je suis sur d'avoir toutes mes lignes, triées, et sans un load monstrueux.
Par contre, ca demande sérieusement de l'huile de coude, parce que c'est que du bash :p
Florian MAURY
Le 21/07/2010 10:39, Florian MAURY a écrit :
2010/7/21 Greggreg-frsag@duchatelet.net:
Un serveur syslog-ng central, tous les serveurs apache transmettent à celui-ci.
Bonjour,
Il me semble que la version opensource du syslog-ng peut perdre des logs également en cas de perturbation réseau entre le syslog sender et le syslog-ng central.
Personnellement, la centralisation des logs, je l'ai faite avec des access log en fichiers classiques, un logtail2 pour récuperer les nouvelles lignes, toutes les 10 minutes, la mise dans un fichier à part de ces nouvelles lignes, un envoi automatisé des nouveaux fichiers vers un serveur (par ftp ou rsync, peu importe) et la refusion de tous les fichiers ainsi récupérés, depuis de multiples serveurs, avec un tri par date des lignes, pour retrouver une consistence. Avec cette méthode, je suis sur d'avoir toutes mes lignes, triées, et sans un load monstrueux.
J'ai utilisé un temps rsyslog, avec centralisation via RELP (http://www.librelp.com/relp.html). Ca me semble tout à fait adapté. Le tout stocké en fichiers et dans postgresql, ca tournait plutot bien.
Bonjour,
Merci à tous pour les infos. Je vais regarder tout ça de prêt.
+Eric.