Elasticsearch adalah server pencarian terdistribusi berdasarkan Lucene yang tersedia sebagai perangkat lunak OpenSource. Ini adalah mesin telusur teks lengkap, ditulis dalam Java, dengan antarmuka web HTTP dan mendukung dokumen JSON secara native. Elasticsearch dapat digunakan untuk mencari semua jenis dokumen dan menyediakan pencarian terukur dan solusi pencarian real-time. Elasticsearch digunakan oleh banyak organisasi besar Mozilla, Netflix, Stack Exchange, dll.
Graylog2 adalah manajemen log terpusat dan kerangka kerja analisis log berdasarkan Elasticsearch dan MongoDB. Ia mampu menganalisis dan mengumpulkan pesan log dari berbagai sumber.
Dalam tutorial ini, saya akan memandu Anda melalui instalasi Graylog2, Elasticsearch dan MongoDB. Saya akan menggunakan Ubuntu 15.10 untuk instalasi ini.
Prasyarat
- Ubuntu 15.10 - 64bit
- RAM 4 GB
- Keistimewaan Root
Langkah 1 - Instal MongoDB
MongoDB adalah database NoSQL berorientasi dokumen. Skema dokumen MongoDB mirip dengan JSON, disebut BSON. Kami akan menginstal MongoDB 3 dari repositori MongoDB Debian.
Tambahkan repositori, perbarui dan instal:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" > /etc/apt/sources.list.d/mongodb-org-3.0.list
apt-get update
Instal MongoDB dengan perintah apt berikut:
apt-get install mongodb-org
Selanjutnya, mulai mongodb dan aktifkan untuk memulai saat boot:
systemctl start mongod
systemctl enable mongod
Langkah 2 - Instal Java
Semua aplikasi yang akan kita gunakan dalam tutorial ini berbasis Java, jadi kita harus menginstalnya sekarang :). Kami membutuhkan Java 7 atau lebih tinggi untuk instalasi Graylog. Java 7 tersedia di repositori ubuntu, jadi mari kita instal dengan perintah apt ini:
apt-get install openjdk-7-jre
Sekarang periksa versi java:
java -version
Dan Anda harus mendapatkan versi Java:
java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-0ubuntu0.15.10.1)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
Langkah 3 - Instal Elasticsearch
Kami akan menginstal elasticsearch versi 1.7 dalam tutorial ini.
Unduh dan tambahkan kunci GPG ke sistem:
sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Sekarang tambahkan repositori elasticsearch ke direktori sources.list.d dan jalankan apt-get update:
echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" > /etc/apt/sources.list.d/elasticsearch.list
apt-get update
Sekarang instal elasticsearch:
sudo apt-get install elasticsearch
Dan setelah penginstalan selesai, mulai daemon Elastcisearch dan aktifkan untuk dimulai saat boot:
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Instalasi Elastisearch selesai, dan daemon telah dimulai. Sekarang saatnya untuk mengkonfigurasinya.
Edit file konfigurasi di direktori "/etc/elasticsearch/" dengan vim:
vim /etc/elasticsearch/elasticsearch.yml
Batalkan komentar pada baris "cluster.name", dan ubah nilainya menjadi "graylog2".
cluster.name = graylog2
Tambahkan konfigurasi di bawah ini untuk server produksi guna menonaktifkan skrip dinamis dan menghindari eksekusi jarak jauh:
script.disable_dynamic: true
Simpan file dan keluar.
Kemudian restart Elasticsearch dan uji dengan perintah curl:
systemctl restart elasticsearch
Saya menguji Elasticsearch dengan koneksi curl ke port 9200:
curl -XGET 'http://localhost:9200/'
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
Langkah 4 - Instal Server Graylog2
Langkah selanjutnya adalah menginstal server Graylog2. Saya akan menggunakan Graylog 1.3.2 untuk instalasi ini. Unduh graylog2 dengan perintah wget, ekstrak dan konfigurasikan.
Sebelum kita mulai dengan instalasi pwgen, kita perlu pwgen untuk menghasilkan password acak.
Instal pwgen:
apt-get install pwgen
Sekarang buat kata sandi baru dengan perintah:
pwgen -N 1 -s 96
Kode rahasia saya:
GYXOjHVNjTv7EdDxUOYEvW9MFJHzqzJarjuar7bszkXr41xTA9Gb8ig8j9MbclWYdzVdis2BfggLbxGaMoxLw1FCZuPNo3Ua
dan buat hash sha256 baru dengan perintah di bawah ini:
echo -n mypassword | sha256sum
Ini kata sandi saya:
9235b36556923005015a6c2c18bf6f08a61daf54bfad653bde0ce6404000f0b1
Selanjutnya, masuk ke direktori /opt/ dan unduh greylog-server dengan perintah wget:
cd /opt/
wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.3.2.tgz
Ekstrak graylog-server dan ganti nama direktori menjadi greylog2:
tar -xzvf graylog-1.3.2.tgz
mv graylog-1.3.2/ graylog/
Graylog-server diunduh dan kami menggunakan direktori /opt/ untuk instalasinya.
Untuk mengkonfigurasi greylog-server, buat direktori greylog baru dan salin contoh file konfigurasi greylog-server ke "server.conf".
mkdir -p /etc/graylog/server/
cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf
Edit konfigurasi:
vim /etc/graylog/server/server.conf
Tempelkan kata sandi yang dibuat dengan pwgen pada baris password_secret:
password_secret = GYXOjHVNjTv7EdDxUOYEvW9MFJHzqzJarjuar7bszkXr41xTA9Gb8ig8j9MbclWYdzVdis2BfggLbxGaMoxLw1FCZuPNo3Ua
Rekatkan kata sandi sha256 Anda yang dibuat, kata sandi ini digunakan untuk masuk ke dasbor admin greylog:
root_password_sha2 = 9235b36556923005015a6c2c18bf6f08a61daf54bfad653bde0ce6404000f0b1
Nonaktifkan pencarian multicast elasticsearch dan tambahkan host unicast.
elasticsearch_discovery_zen_ping_multicast_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = 127.0.0.1:9300
Ubah pecahan elasticsearch menjadi 1, karena kami menginstal semuanya di server tunggal ini.
elasticsearch_shards = 1
elasticsearch_replicas = 0
Simpan dan Keluar dari file.
Sekarang jalankan server greylog dengan mengeksekusi file bin di direktori greylog:
cd /opt/graylog/bin/
./graylogctl start
Sekarang Anda dapat melihat file log server greylog di direktori log, tonton dengan perintah tail:
tail -f /opt/graylog/log/
Jika harus melihat ini di file log:
Started REST API at <http://127.0.0.1:12900/>
Graylog2 up and running.
Itu berarti server greylog telah dimulai dengan benar.
Langkah 5 - Instal Graylog-Web
Unduh antarmuka web greylog dengan perintah wget ke direktori /opt/:
cd /opt/
wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.3.2.tgz
Ekstrak antarmuka web greylog dan ganti namanya menjadi "graylog-web".
tar -xzvf graylog-web-interface-1.3.2.tgz
mv graylog-web-interface-1.3.2/ graylog-web/
Kemudian buat kode rahasia aplikasi baru untuk greylog-web dengan pwgen:
pwgen -N 1 -s 96
Ini rahasia saya:
zHg966Be4cBBLmasLiQm4mA0ziR5HziHq6RnfmgKIsjNtLCyHUvmxBMhzRkBclaE2IWyzJPJtPaQGEiLek0iJ3CaWh6kCDAE
Buka direktori greylog-web dan edit file konfigurasi:
cd graylog-web/
vim graylog
Pada baris graylog2-server.uris, tambahkan alamat server greylog2:
graylog2-server.uris="http://127.0.0.1:12900/"
Di baris application.secret, rekatkan kode rahasia yang dibuat sebelumnya:
application.secret="zHg966Be4cBBLmasLiQm4mA0ziR5HziHq6RnfmgKIsjNtLCyHUvmxBMhzRkBclaE2IWyzJPJtPaQGEiLek0iJ3CaWh6kCDAE"
Simpan file dan keluar.
Sekarang mulai greylog-web:
cd /opt/graylog-web/bin/
./graylog-web-interface -Dhttp.port=8080
Graylog-web akan berjalan pada port 8080.
Kunjungi server Anda - http://myipaddress:8080/
Sekarang masuk dengan pengguna "admin" dan kata sandi sha256 Anda.
Server Graylog2 dengan antarmuka web Elasticsearch dan Graylog telah diinstal.
Kesimpulan
Elasticsearch adalah mesin pencari server terdistribusi dengan antarmuka HTTP dan dukungan JSON. Kita dapat menggunakannya untuk mencari di semua file log server saat menggunakannya bersama dengan Graylog. Graylog adalah perangkat lunak pengelolaan dan analisis log berdasarkan Elasticsearch dan mongoDB. Kita dapat menggunakan Elasticsearch, Graylog, dan MongoDB untuk membangun server log terdistribusi.