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.
Extrahieren Sie die Splunk-Images mit einer Pull-Operation aus Docker Hub:
docker pull splunk/splunk
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.
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.
Extrahieren Sie die Datei rfc5424-syslog_11.tar.
tar -xvzf rfc5424-syslog_11.tgz
Ö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
Rufen Sie containerId von Docker für den Splunk-Container ab.
docker ps -aqf "ancestor=splunk/splunk"
Kopieren Sie den Ordner rfc5424 in den Docker-Container für Splunk.
docker cp rfc5424 <containerId>:/opt/splunk/etc/apps
Starten Sie den Docker-Container erneut.
docker restart <containerId>
Öffnen Sie http://localhost:8000 in einem Browser und melden Sie sich bei Splunk an.
12345) und klicken Sie dann auf Next.rfc545_syslog aus und klicken Sie dann auf Review and Submit.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.
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.
Führen Sie ein erneutes Staging der Cloud Foundry-Anwendung durch:
cf restage <CF-APP-NAME>
Stellen Sie sicher, dass Sie auf die Cloud Foundry-Protokolle in Splunk zugreifen können, indem Sie nach sourcetype=rfc5424_syslog suchen.