Heim  >  Artikel  >  System-Tutorial  >  Verwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform

Verwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform

WBOY
WBOYnach vorne
2024-01-12 17:51:131152Durchsuche
Aktuelle Umgebung

1. System: Centos 7

2.Docker 1.12.1

Einführung

ElasticSearch

Elasticsearch ist eine verteilte Such- und Analysemaschine in Echtzeit, die für die Volltextsuche, strukturierte Suche und Analyse verwendet werden kann. Es handelt sich um eine Suchmaschine, die auf der Volltextsuchmaschine Apache Lucene basiert und in der Sprache Java geschrieben ist.

Logstash

Logstash ist eine Datenerfassungs-Engine mit Echtzeit-Kanalfunktionen. Sie wird hauptsächlich zum Sammeln und Analysieren von Protokollen und zum Speichern dieser in ElasticSearch verwendet.

Kibana

Kibana ist eine Webplattform, die auf dem Open-Source-Protokoll Apache basiert und in der JavaScript-Sprache geschrieben ist und Analysen und Visualisierung für Elasticsearch bietet. Es kann im Index von Elasticsearch suchen, mit Daten interagieren und Tabellen und Diagramme in verschiedenen Dimensionen erstellen.

Filebeat

Filebeat wird als Protokollsammler eingeführt, hauptsächlich um das Problem des hohen Logstash-Overheads zu lösen. Im Vergleich zu Logstash belegt Filebeat nahezu vernachlässigbar wenig System-CPU und -Speicher.

Architektur

Führen Sie Filebeat nicht ein

Verwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform

Wir stellen vor: Filebeat

Verwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform

Bereitstellung

ElasticSearch starten

docker run -d -p 9200:9200 --name elasticsearch elasticsearch

Logstash starten

# 1. 新建配置文件logstash.conf
input {
beats {
port => 5044
}
}

output {
stdout {
codec => rubydebug
}
elasticsearch {
#填写实际情况elasticsearch的访问IP,因为是跨容器间的访问,使用内网、公网IP,不要填写127.0.0.1|localhost
hosts => ["{$ELASTIC_IP}:9200"]

}
}

# 2.启动容器,暴露并映射端口,挂载配置文件
docker run -d --expose 5044 -p 5044:5044 --name logstash -v "$PWD":/config-dir logstash -f /config-dir/logstash.conf

Filebeat starten

Download-Adresse: https://www.elastic.co/downloads/beats/filebeat

# 1.下载Filebeat压缩包
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.2.2-linux-x86_64.tar.gz

# 2.解压文件
tar -xvf filebeat-5.2.2-linux-x86_64.tar.gz

# 3.新建配置文件filebeat.yml
filebeat:
prospectors:
- paths:
- /tmp/test.log #日志文件地址
input_type: log #从文件中读取
tail_files: true #以文件末尾开始读取数据
output:
logstash:
hosts: ["{$LOGSTASH_IP}:5044"] #填写logstash的访问IP

# 4.运行filebeat
./filebeat-5.2.2-linux-x86_64/filebeat -e -c filebeat.yml

Kibana starten

docker run -d --name kibana -e ELASTICSEARCH_URL=http://{$ELASTIC_IP}:9200 -p 5601:5601 kibana
Test

Simulierte Protokolldaten

# 1.创建日志文件
touch /tmp/test.log

# 2.向日志文件中写入一条nginx访问日志
echo '127.0.0.1 - - [13/Mar/2017:22:57:14 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" "-"' >> /tmp/test.log

Besuchen Sie http://{$KIBANA_IP}:5601

Verwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform

Verwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform

Zusammenfassung

Dieser Artikel beschreibt hauptsächlich den schrittweisen Prozess der ELK-Erstellung und die Rolle, die Filebeat dabei spielt.

Hier ist nur eine Demonstration für Sie. Bei der Bereitstellung von Datenvolumina für die Datenpersistenz müssen auch Probleme mit dem Speicher von Elasticsearch und Logstash berücksichtigt werden Bringen Sie Ihren gesamten Server zum Absturz.

Natürlich dürfen Sicherheitsfaktoren wie Übertragungssicherheit, minimierte Offenlegung von Portberechtigungen, Firewall-Einstellungen usw. nicht außer Acht gelassen werden.

Nachverfolgung

Logstash analysiert Protokollformate wie JAVA, Nginx, NodeJS und andere Protokolle

Gemeinsame Suchsyntax für Elasticsearch;

Erstellen Sie visuelle Diagramme mit Kibana;

Das obige ist der detaillierte Inhalt vonVerwendung von Docker zum Aufbau einer zentralisierten ELK+Filebeat-Protokollverwaltungsplattform. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen