Rumah >Tutorial sistem >LINUX >Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat

Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat

WBOY
WBOYke hadapan
2024-01-12 17:51:131221semak imbas
Persekitaran semasa

1. Sistem: centos 7

2.docker 1.12.1

Pengenalan

ElasticSearch

Elasticsearch ialah enjin carian dan analisis teragih masa nyata yang boleh digunakan untuk carian teks penuh, carian berstruktur dan analisis. Ia adalah enjin carian berdasarkan enjin carian teks penuh Apache Lucene dan ditulis dalam bahasa Java.

Logstash

Logstash ialah enjin pengumpulan data dengan keupayaan saluran masa nyata Ia digunakan terutamanya untuk mengumpul dan menganalisis log dan menyimpannya dalam ElasticSearch.

Kibana

Kibana ialah platform web berdasarkan protokol sumber terbuka Apache dan ditulis dalam bahasa JavaScript yang menyediakan analisis dan visualisasi untuk Elasticsearch. Ia boleh mencari dalam indeks Elasticsearch, berinteraksi dengan data dan menjana jadual dan graf dalam pelbagai dimensi.

Filebeat

Filebeat diperkenalkan sebagai pengumpul balak, terutamanya untuk menyelesaikan masalah overhed tinggi Logstash. Berbanding dengan Logstash, Filebeat menduduki CPU dan memori sistem yang hampir boleh diabaikan.

Seni bina

Jangan perkenalkan Filebeat

Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat

Memperkenalkan Filebeat

Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat

Pengerahan

Mulakan ElasticSearch

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

Mulakan Logstash

# 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

Mulakan Filebeat

Alamat muat turun: 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

Mulakan Kibana

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

Data log simulasi

# 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

Lawati http://{$KIBANA_IP}:5601

Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat

Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat

Ringkasan

Artikel ini terutamanya menerangkan cara membina ELK langkah demi langkah dan peranan yang dimainkan oleh Filebeat di dalamnya.

Ini hanyalah demonstrasi untuk anda Apabila menggunakan dalam persekitaran pengeluaran, anda perlu menggunakan volum data untuk masalah memori kontena juga perlu dipertimbangkan turunkan seluruh pelayan anda.

Sudah tentu, faktor keselamatan tidak boleh diabaikan, seperti keselamatan penghantaran, pendedahan minimum kebenaran port, tetapan tembok api, dsb.

Susulan

Logstash menghuraikan format log, seperti JAVA, nginx, nodejs dan log lain

Sintaks carian biasa untuk elasticsearch;

Buat carta visual melalui kibana;

Atas ialah kandungan terperinci Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam