GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menjalankan ELK stack di Docker Container

Tumpukan ELK disingkat sebagai Elasticsearch, Logstash, dan Kibana stack, tumpukan analitik berfitur lengkap open source membantu menganalisis data mesin apa pun. Ini digunakan sebagai alternatif untuk perangkat lunak analitik data komersial lainnya seperti Splunk.

Saya harap Anda tidak memerlukan pengenalan tumpukan ELK jika Anda masih membutuhkannya; Saya telah menulis banyak tutorial tentang konfigurasi tumpukan ELK di sistem operasi Linux.

Anda dapat mengikuti tutorial di bawah ini untuk memahami apa itu ELK,

  1. Cara menginstal tumpukan ELK di Ubuntu 16.04
  2. Cara menginstal tumpukan ELK di CentOS 7 / RHEL 7

Dalam tutorial ini, kita akan melihat cara menjalankan ELK stack di container Docker alih-alih menginstalnya di sistem operasi host.

Kami dapat menjalankan tumpukan ELK baik menggunakan Docker Native CLI atau penulisan Docker.

Prasyarat:

Yang perlu Anda miliki hanyalah Docker terbaru yang terinstal di sistem Anda. Pastikan versi buruh pelabuhan adalah 1.6 dan yang lebih baru, tetapi, beberapa gambar, misalnya. elasticsearch secara resmi didukung hanya pada versi Docker 1.12.1

  1. Cara menginstal Docker di Ubuntu 16.04 / 15.10 / 14.04
  2. Cara menyiapkan Docker di CentOS 7 / RHEL 7
  3. Cara menginstal Docker di Fedora 24 / 23
  4. Cara menginstal Docker di openSUSE

Gambar Docker yang kami gunakan di sini adalah gambar resmi dari Elastic

Elasticsearch:

Untuk memulai, kita akan menjalankan wadah Elastisearch. Gambar Elasticsearch dikonfigurasikan dengan volume di /usr/share/elasticsearch/data untuk menyimpan data indeks yang bertahan. Jadi gunakan jalur itu jika Anda ingin menyimpan data dalam volume terpasang yaitu /esdata.

Buat /esdata direktori pada host Docker.

mkdir /esdata

Jalankan perintah berikut untuk membuat container Elasticsearch Docker. Jalur host selalu didahulukan di baris perintah dan :, lalu volume internal wadah.

docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -v /esdata:/usr/share/elasticsearch/data elasticsearch

Gunakan CURL untuk mendapatkan respons dari Elasticsearch.

curl -X GET http://localhost:9200{  "name" :"Red Skull",  "cluster_name" :"elasticsearch",  "version" :{    "number" :"2.3.5",    "build_hash" :"90f439ff60a3c0f497f91663701e64ccd01edbb4",    "build_timestamp" :"27-07-2016T10:36:52Z",    "build_snapshot" :false,    "lucene_version" :"5.5.0"  },  "tagline" :"Anda" 

Logstash:

Setelah Elasticsearch aktif dan berjalan, sekarang kita siap menjalankan container Logstash. Sebelum memulai wadah Logstash, buat file konfigurasi untuk menerima log dari ketukan.

Buat direktori dan file konfigurasi pada host Docker.

mkdir /logstashvi /logstash/logstash.conf

File konfigurasi di bawah ini adalah untuk menerima log dengan jenis log “syslog ” pada port “5044 “dan kirimkan ke Elasticsearch untuk pengindeksan.

input { beats { port => 5044 } }filter {if [type] =="syslog" {    grok {      match => { "message" => "%{SYSLOGLINE}" }    }    tanggal {match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]}  }}output { elasticsearch {  hosts => ["elasticsearch:9200"]     index => "%{[@metadata ][beat]}-%{+YYYY.MM.dd}"       }stdout {    codec => rubydebug      }}

Pada file konfigurasi di atas, jika Anda melihat bagian output; host elasticsearch didefinisikan sebagai elasticsearch:9200 . Anda mungkin berpikir bahwa bagaimana Logstash akan menyelesaikan host tersebut untuk mengirim log, jangan khawatir; Penautan buruh pelabuhan (–link ) akan mengurusnya.

cd /logstash/

Buat wadah Logstash dengan mengeluarkan perintah berikut.

Dimana,

–link elasticsearch-container-name:hostname-in-config-file

docker run -d --name logstash -p 5044:5044 --link elasticsearch:elasticsearch -v "$PWD":/logstash logstash -f /logstash/logstash.conf

Kibana:

Wadah Kibana tidak memerlukan konfigurasi apa pun, yang harus Anda lakukan hanyalah menautkan wadah Kibana Docker dengan wadah Elasticsearch.

docker run --name kibana --link elasticsearch:elasticsearch -p 5601:5601 -d kibana

Verifikasi:

Pengguna docker ps perintah untuk memeriksa apakah semua container berjalan atau tidak.

docker pscontainer ID commage perintah dibuat status port names824dc7ee3c9f kibana "/docker-entrypoint.s" sekitar satu jam yang lalu sekitar satu jam 0,0.0.0:5601->5601/tcp Kibana4fa8a72c96a2 Logstash "/docker-.dock-. satu jam yang lalu   Naik Sekitar satu jam    0.0.0.0:5044->5044/tcp                       logstash4ea93b1d838b       elasticsearch       "/docker-entrypoint.s"  - Naik sekitar satu jam yang lalu,        "/docker-entrypoint.s"  - Sekitar satu jam yang lalu, 0,0. 9300->9300/tcp   elasticsearch

Memasang dan Mengonfigurasi Ketukan:

Beats adalah yang mengumpulkan dan mengirim log ke Logstash. Pemasangan dan konfigurasi ketukan berada di luar jangkauan.

  1. Cara menginstal dan mengkonfigurasi Filebeat di Ubuntu / Debian
  2. Cara menginstal dan mengkonfigurasi Filebeat di CentOS 7 / RHEL 7
Anda tidak harus menggunakan sertifikat logstash untuk mengirim log, jangan memasukkan entri jalur sertifikat logstash di file konfigurasi filebeat.

Mengakses Antarmuka Kibana:

Jika semua penampung sudah aktif dan berjalan seperti yang diharapkan, kunjungi URL berikut untuk mengakses antarmuka web.

http://alamat-ip-Anda:5601/

Siapkan indeks ketukan untuk memulai pencarian data menggunakan Kibana.

Klik Temukan untuk mulai mencari log terbaru dari filebeat.

Itu saja, untuk saat ini.


Cent OS
  1. Cara Menjalankan Perintah di Running Docker Container

  2. Cara Memasang ELK Stack di CentOS 7

  3. Bagaimana cara mengirim sinyal ke program yang dijalankan dalam wadah buruh pelabuhan?

  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Cara Menjalankan MySQL Dalam Wadah Docker

  3. Cara menjalankan tugas cron di dalam wadah buruh pelabuhan

  1. Cara Menggunakan Perintah Docker Run dengan Contoh

  2. Cara Keluar dari Kontainer Docker

  3. Bagaimana cara menambahkan pengguna ke wadah Docker?