Je viens de configurer un serveur Graylog2 et je cherche à envoyer tous les journaux de mon serveur principal au serveur graylog. J'ai activé la journalisation pour le serveur principal et j'envoie des journaux à mon serveur Graylog en ajoutant *.* @logs.example.com:1337
à /etc/rsyslog.conf
.
Ce que je veux, c'est que Graylog2 collecte tous mes journaux Apache, les journaux système (pour les connexions SSH, les connexions rejetées) et tous les autres journaux que je dois surveiller.
Pour les journaux Apache, j'aimerais également les journaux Rails. Mes sites sont situés dans /srv/www/
puis la structure est sitename.com/public_html
et sitename.com/logs
. J'ai de nombreux sites sur le serveur et j'aimerais voir facilement toutes les erreurs et en faire de jolis graphiques, c'est pourquoi je veux utiliser Graylog2 ...
Les fichiers journaux du dossier logs sont access.log
et error.log
.
Les journaux Rails seraient entrés sitename.com/public_html/log
. Cela contient production.log
.
Réponses:
C'est vieux, mais je pensais que j'écrirais cette méthode que j'utilise pour un site à trafic faible / moyen (je ne sais pas si cela fonctionnera bien pour un site à fort trafic):
Dans Apache, je définis un format CustomLog appelé
graylog2_access
qui formate le journal d'accès au format GELF, puis j'envoie mon journal via Graylog2 en canalisant les données du journal via nc pour envoyer des messages GELF à l'entrée de Graylog2.Voici le format personnalisé qu'il crée (lisible par l'homme):
Pour la configuration Apache, voici une version copier / coller:
Puis dans votre configuration d'hôte:
la source
Vous pouvez également envoyer vos fichiers journaux au serveur graylog2 à l'aide de cette simple commande:
Je l'utilise principalement à des fins de test pour déterminer si mon format de journal est adapté pour une interrogation facile dans graylog2. Pour une utilisation en production, vous ne devrez pas configurer rsyslog ou syslog-ng.
Vous pouvez probablement suivre votre fichier journal de rails et voir ce qui se passe.
la source
Graylog2 n'accepte que les journaux dans deux formats: syslog standard et le format de journal étendu Graylog (alias GELF). Les journaux arbitraires sur disque auront besoin d'un processus tiers pour consommer les journaux et les traduire dans un formulaire qui vous sera utile.
Jetez un oeil à Logstash . La plupart des gens le considèrent comme un outil pour indexer les fichiers journaux à l'aide d'ElasticSearch, mais il contient également un "routeur de journaux" à usage général qui vous permet de suivre un tas de fichiers sur le disque et de les envoyer à un composant de journalisation comme Graylog.
la source
Vous pouvez utiliser les
apache2gelf
scripts d'ici .la source