Cloud Foundry Enterprise Environment-Syslogs mit Splunk integrieren

Wenn Sie Splunk Enterprise verwenden, können Sie Ihre Cloud Foundry Enterprise Environment-Anwendungsprotokolle mit Splunk integrieren.

Cloud Foundry verwendet das RFC5425-Syslog-Protokoll. Daher müssen Sie auch das Splunk-Add-on installieren, das dieses Protokoll unterstützt.

Splunk Enterprise mit Docker installieren

  1. Installieren Sie Docker. Weitere Informationen finden Sie unter Install Docker.
  2. Extrahieren Sie die Splunk-Images mit einer Pull-Operation aus Docker Hub:

    docker pull splunk/splunk
    
  3. Starten Sie Splunk:

    docker run -d -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_USER=root" -p "8000:8000" -p "12345:12345" splunk/splunk
    

    In diesem Befehl ist 8000 der Standardport, an dem die Splunk-Benutzerschnittstelle ausgeführt wird, und 12345 ist der TCP-Port, der die Systemprotokolle von Cloud Foundry empfängt. Sie können jeden verfügbaren Port für den TCP-Port verwenden.

  4. Um zu überprüfen, ob Splunk aktiv ist, öffnen Sie http://localhost:8000 in einem Browser. Die Standardberechtigungsnachweise für die Anmeldung sind admin:changeme.

Splunk für den Empfang von Syslogs von Cloud Foundry konfigurieren

  1. Laden Sie das RFC5424-Syslog-Add-on für Splunk herunter. Sie benötigen ein Splunk-Konto, um das Add-on herunterladen zu können. Weitere Informationen finden Sie auf der Seite RFC5424 Syslog.
  2. Extrahieren Sie die Datei rfc5424-syslog_11.tar.

    tar -xvzf rfc5424-syslog_11.tgz
    
  3. Öffnen Sie die Datei ./rfc5424/default/transforms.conf und ersetzen Sie ihren Inhalt durch den folgenden Text:

    [rfc5424_host]
    DEST_KEY = MetaData:Host
    REGEX = <\d+>\d{1}\s{1}\S+\s{1}(\S+)
    FORMAT = host::$1
    
    [rfc5424_header]
    REGEX = <(\d+)>\d{1}\s{1}\S+\s{1}\S+\s{1}(\S+)\s{1}(\S+)\s{1}(\S+)
    FORMAT = prival::$1 appname::$2 procid::$3 msgid::$4
    MV_ADD = true
    
  4. Rufen Sie containerId von Docker für den Splunk-Container ab.

    docker ps -aqf "ancestor=splunk/splunk"
    
  5. Kopieren Sie den Ordner rfc5424 in den Docker-Container für Splunk.

    docker cp rfc5424 <containerId>:/opt/splunk/etc/apps
    
  6. Starten Sie den Docker-Container erneut.

    docker restart <containerId>
    
  7. Öffnen Sie http://localhost:8000 in einem Browser und melden Sie sich bei Splunk an.

  8. Klicken Sie auf Add Data > Monitor > TCP / UDP.
  9. Wählen Sie den TCP-Port aus, den Sie beim Starten von Splunk angegeben haben (z. B. 12345) und klicken Sie dann auf Next.
  10. Wählen Sie für Source Type die Option rfc545_syslog aus und klicken Sie dann auf Review and Submit.
  11. Um Daten von Cloud Foundry Enterprise Environment an Splunk zu senden, klicken Sie auf Start Searching.

Syslogs von Cloud Foundry Enterprise Environment an Splunk senden

  1. Melden Sie sich über die Befehlszeilenschnittstelle (CLI) bei Cloud Foundry an.
  2. Erstellen Sie mit dem folgenden Befehl einen vom Benutzer zur Verfügung gestellten Service für Splunk:

    cf create-user-provided-service <SERVICE-NAME> -l syslog://<splunkipaddress>:<port>
    

    Hinweis: Im vorangegangenen Beispiel ist <SERVICE-NAME> der Name des Splunk-Service, <splunkipaddress> ist die IP-Adresse, die Splunk verwendet, und <port> ist der TCP-Port, den Cloud Foundry verwendet, um Syslogs an Splunk zu senden.

  3. Binden Sie diesen Service mit dem folgenden Befehl an eine vorhandene Cloud Foundry-Anwendung:

    cf bind-service <CF-APP-NAME> <SERVICE-NAME>
    

    Hinweis: Im vorangegangenen Beispiel ist <SERVICE-NAME> der Name des Splunk-Service und <CF-APP-NAME>ist der Name der Cloud Foundry-Anwendung.

  4. Führen Sie ein erneutes Staging der Cloud Foundry-Anwendung durch:

    cf restage <CF-APP-NAME>
    
  5. Stellen Sie sicher, dass Sie auf die Cloud Foundry-Protokolle in Splunk zugreifen können, indem Sie nach sourcetype=rfc5424_syslog suchen.