Rumah >Tutorial sistem >LINUX >Menggunakan Docker untuk membina platform pengurusan terpusat log ELK+Filebeat
1. Sistem: centos 7
2.docker 1.12.1
PengenalanElasticSearch
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 binaJangan perkenalkan Filebeat
Memperkenalkan Filebeat
PengerahanMulakan 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 kibanaUjian
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
RingkasanArtikel 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.
SusulanLogstash 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!