Quels programmes par défaut utilisent les installations locales de syslog [0-7]?

19

Ainsi que les installations du système commun ( mail, news, daemon, cron, etc.), syslog fournit une série d'installations "locales", les numéros 0 à 7: LOCAL0, LOCAL1, ..., LOCAL7.

Quels sont les programmes par défaut pour les applications courantes?

Je cherche à savoir quelles installations sont "traditionnellement" utilisées pour des services bien connus. Je déploierai une application sur de nombreux serveurs, avec divers logiciels installés, et j'aimerais voir s'il existe une installation «gratuite» que je pourrais facilement utiliser pour mes propres journaux.

En tant que note, je me rends compte qu'il existe d'autres façons de le faire qu'une installation syslog. Juste curieux!

En voici quelques-unes (un début pour répondre à ma propre question) et d'autres grâce à voretaq7:

  • LOCAL0 est utilisé par postgresql
  • LOCAL2 est utilisé par sudo
  • LOCAL3 est utilisé par certaines versions de SpamAssassin
  • LOCAL4 est utilisé par défaut par slapd (serveur OpenLDAP)
  • LOCAL5 est parfois utilisé par le Snort IDS
  • LOCAL7 est utilisé pour les messages de démarrage sur Fedora 12
Jonathan Clarke
la source
Tous les journaux ne sont-ils pas précédés du nom du processus ou d'un nom défini par l'utilisateur qui l'a envoyé? J'utilise pour travailler avec des syslogs et je ne me souviens pas avoir rencontré des problèmes de filtrage des entrées de journal par application.
Embrayage
embrayage, vous faites référence à la «balise» Syslog. Par défaut, sous Linux, la balise se compose du nom et de l'ID du processus, comme «httpd [1234]», qui a généré le message de journal. Mais vous pouvez définir la balise comme vous le souhaitez via l'API Syslog. Voir ma réponse, ci-dessous, pour plus de détails.
Ryan

Réponses:

7

Les LOCALninstallations sont disponibles pour toute utilisation locale et peuvent varier assez largement d'un site à l'autre.

Je garantis que chacun des 8 disponibles est utilisé par quelque chose, donc si vous voulez éviter les conflits, mon meilleur conseil est de consigner les 7 dans des journaux séparés et de choisir celui que rien d'autre ne semble utiliser.

Certains que vous avez manqués (par défaut du programme - peuvent être modifiés localement, vérifiez donc à nouveau):

  • LOCAL0 est utilisé par postgresql (s'il est configuré pour se connecter à syslog)
  • LOCAL2 est utilisé par sudo (s'il est configuré pour se connecter à syslog)
  • LOCAL3 est utilisé par certaines versions de SpamAssassin
    • Ceci est souvent modifié par l'administrateur local pour se connecter à la mailplace
  • LOCAL5 est parfois utilisé par le Snort IDS
    • Je ne sais pas si c'est un défaut ou simplement une coïncidence, mais je l'ai vu sur plusieurs installations Snort
voretaq7
la source
Génial! C'est exactement ce que je recherche - les valeurs par défaut du programme. Plus sont les bienvenus! De toute évidence, diverses installations seront utilisées, je cherche simplement à voir quelles applications je vais entraver.
Jonathan Clarke
2

Il n'y a pas de norme pour les installations Syslog LOCAL0-LOCAL7. De par leur conception, vous ne pouvez pas compter sur leur utilisation. Certaines distributions ou organisations peuvent avoir leurs propres conventions, mais cela dépend de la politique de distribution ou d'organisation, et non d'une norme plus large.

Comme alternative, avez-vous envisagé d'utiliser des "balises" Syslog? Les balises sont des chaînes de forme libre qui sont ajoutées au début pour enregistrer des messages afin d'identifier des applications ou des canaux de journalisation spécifiques. Par défaut, la balise est généralement formée à partir du nom et de l'ID du processus (par exemple, 'httpd [2839]') qui a généré les données du journal. L'utilitaire de ligne de commande «logger» et la plupart des API Syslog prennent en charge la spécification des balises que vous souhaitez utiliser pour vos applications.

Par exemple, j'aime personnellement utiliser 'http-access' pour mes journaux d'accès au serveur Web Apache, que j'envoie à Syslog en redirigeant la sortie du journal d'Apache vers la commande 'logger -p local7.info -t' http-access '.

Ryan B. Lynch
la source
Intéressant, merci. Cependant, je construis une solution au-dessus de certains logiciels existants qui peuvent être configurés pour se connecter à l'un de LOCAL0 à LOCAL7. Ma question concerne vraiment les valeurs par défaut que divers logiciels utilisent.
Jonathan Clarke
C'est logique, j'ai raté ça. Mais je soulignerai qu'il y a un danger à s'appuyer sur un comportement non standardisé, ici. Les développeurs ou packagers d'OpenLDAP, Fedora, etc. peuvent (et font parfois) changer ces comportements d'une version à l'autre. Il n'y a aucune garantie qu'une mise à jour ne s'écartera d'aucun choix d'installation Syslog effectué dans le passé. Ce n'est pas une rupture, juste un problème potentiel que vous voudrez peut-être surveiller.
Ryan B. Lynch,
2

La plupart des fichiers syslog.conf sont configurés avec des fonctions génériques pour le fichier de messages (* .info). S'il ne s'agit que d'une exécution de l'application de moulin et non d'une vache à journal complet, vous devriez probablement vous connecter aux messages et non à un fichier autonome.

Choisir de vous connecter à votre propre fichier signifie ajouter une étape de post-installation aux packages d'installation de votre logiciel qui ajoute une entrée appropriée dans syslog.conf. Cela signifie également que si vous êtes sympa, vous ajouteriez une étape de post-installation qui crée également un fichier logrotate approprié.

Carpe Noctem
la source
Bon conseil concernant l'emballage pour syslog et logrotate. Merci.
Jonathan Clarke
-3

Je cherchais également un fichier de configuration comme syslog.conf pour référencer les installations local0-7 au programme qui leur écrit. Il semble qu'un tel fichier de configuration n'existe pas. Pour savoir quel programme écrit dans le journal, vous devrez ouvrir le fichier journal et trouver le nom du programme à côté de la colonne à côté des deux points, par exemple ... sendmail [22950]: est pour le programme sendmail. Le nombre entre crochets correspond au numéro de port utilisé lors de l'exécution du programme.

Victor
la source