syslog_ng

Supported OS Linux Windows

Présentation

Configurez Syslog-ng pour rassembler les logs de votre host, de vos conteneurs et de vos services.

Configuration

Collecte de logs

La collecte de logs n’est pas prise en charge pour le site Datadog.

  1. Pour recueillir des logs système et des fichiers de log dans /etc/syslog-ng/syslog-ng.conf, assurez-vous que la source est correctement définie :

    source s_src {
    system();
    internal();
    
    };
    

    Si vous souhaitez surveiller des fichiers, ajoutez la source suivante :

    #########################
    # Sources
    #########################
    
    ...
    
    source s_files {
    file("path/to/your/file1.log",flags(no-parse),follow_freq(1),program_override("<program_name_file1>"));
    file("path/to/your/file2.log",flags(no-parse),follow_freq(1),program_override("<program_name_file2>"));
    
    };
    
  2. Définissez le bon format de log :

    #########################
    # Destination
    #########################
    
    ...
    
    # For Datadog platform:
    template DatadogFormat { template("YOURAPIKEY <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} ${SDATA:--} $MSG\n"); };
    destination d_datadog { tcp("intake.logs.datadoghq.com" port(10514) template(DatadogFormat)); };
    
  3. Définissez la sortie dans la section Log Path :

    #########################
    # Log Path
    #########################
    
    ...
    
    log { source(s_src); source(s_files); destination(d_datadog); };
    
  4. (Facultatif) Chiffrement TLS :

    • Téléchargez le certificat d’autorité de certification :

      sudo apt-get install ca-certificates
      
    • Modifiez la destination comme suit :

      destination d_datadog { tcp("intake.logs.datadoghq.com" port(10516)     tls(peer-verify(required-trusted)) template(DatadogFormat)); };
      

    Pour en savoir plus sur les paramètres et les fonctionnalités de TLS, consultez le guide sur l’administration de syslog-ng Open Source Edition (en anglais).

  5. (Facultatif) Définissez la source de vos logs. Pour ce faire, utilisez le format suivant (si vous avez plusieurs sources, changez le nom du format dans chaque fichier) :

    template DatadogFormat { template("<API_KEY> <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [metas@0 ddsource=\"test\"] $MSG\n"); };
    

    Vous pouvez également ajouter des tags personnalisés avec l’attribut ddtags :

    template DatadogFormat { template("<API_KEY> <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [metas@0 ddsource=\"test\" ddtags=\"env:test,user:test_user,<KEY:VALUE>\"] $MSG\n"); };
    
  6. Redémarrez Syslog-ng.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.