Graylog (sebelumnya dikenal sebagai Graylog2) adalah platform manajemen log sumber terbuka, membantu Anda mengumpulkan, mengindeks, dan menganalisis log mesin apa pun di lokasi terpusat. Panduan ini membantu Anda menginstal Graylog2 di Ubuntu 15.04, juga berfokus pada instalasi empat komponen lain yang menjadikan Graylog2 alat manajemen log yang kuat.
Komponen:
1. MongoDB – Menyimpan konfigurasi dan informasi meta.
2. Elasticsearch – Menyimpan pesan log dan menawarkan fasilitas pencarian, node harus memiliki memori tinggi karena semua operasi I/O terjadi di sini.
3. GrayLog – Pengurai log, mengumpulkan log dari berbagai masukan.
4. Antarmuka Web GrayLog =menyediakan portal berbasis web untuk mengelola log.
Prasyarat:
Karena Elasticsearch didasarkan pada java, kita perlu menginstal openJDK atau Oracle JDK. Disarankan untuk menginstal Oracle JDK, verifikasi versi java dengan menggunakan perintah berikut.
$ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
Instal Elasticsearch:
Elasticsearch adalah server pencarian open source, ia menawarkan pencarian dan analitik terdistribusi realtime dengan antarmuka web RESTful. Elasticsearch menyimpan semua log yang dikirim oleh server Graylog dan menampilkan pesan ketika antarmuka web greylog meminta untuk memenuhi permintaan pengguna melalui antarmuka web. Topik ini mencakup pengaturan konfigurasi yang diperlukan untuk Graylog, Anda juga dapat melihat Instal Elasticsearch di CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1 untuk instruksi terperinci.
Mari kita instal Elasticsearch, itu dapat diunduh dari situs web resmi.
Unduh dan instal kunci penandatanganan GPG.
$ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Simpan definisi repositori ke /etc/apt/sources.list.d/elasticsearch.list
$ echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list
Perbarui cache repositori.
$ sudo apt-get update
Instal Elasticsearch.
$ sudo apt-get install elasticsearch
Konfigurasikan Elasticsearch untuk memulai selama startup sistem.
$ sudo systemctl start elasticsearch $ sudo systemctl enable elasticsearch
Satu-satunya hal yang penting adalah menetapkan nama cluster sebagai “graylog2 “, yang digunakan oleh graylog. Sekarang edit file konfigurasi Elasticsearch.
$ sudo nano /etc/elasticsearch/elasticsearch.yml cluster.name: graylog2
Nonaktifkan skrip dinamis untuk menghindari eksekusi jarak jauh, yang dapat dilakukan dengan menambahkan baris berikut di akhir file di atas.
script.disable_dynamic: true
Setelah selesai, kami siap berangkat. Sebelum itu, restart layanan Elasticsearch untuk memuat konfigurasi yang dimodifikasi.
$ sudo systemctl restart elasticsearch
Tunggu setidaknya satu menit untuk membiarkan Elasticsearch dimulai ulang sepenuhnya, jika tidak, pengujian akan gagal. Elastisearch sekarang harus mendengarkan pada 9200 untuk memproses permintaan HTTP, kita dapat menggunakan CURL untuk mendapatkan respons. Pastikan itu kembali dengan nama cluster sebagai “graylog2 ”
$ curl -X GET http://localhost:9200 { "status" : 200, "name" : "Pistol", "cluster_name" : "graylog2", "version" : { "number" : "1.7.1", "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19", "build_timestamp" : "2015-07-29T09:54:16Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
Opsional: Gunakan perintah berikut untuk memeriksa kesehatan cluster Elasticsearch, Anda harus mendapatkan status cluster sebagai “hijau ” agar graylog berfungsi.
$ curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' { "cluster_name" : "graylog2", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0 }
Instal MongoDB:
MongoDB tersedia dalam format dep dan yang sama dapat diunduh dari situs web resmi. Tambahkan informasi repositori berikut pada sistem untuk menginstal MongoDB. Sebelum itu kita harus mengimpor kunci publik.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Tambahkan repositori dengan membuat file daftar /etc/apt/sources.list.d/mongodb-org-3.0.list menggunakan perintah.
### Ubuntu 15.04 / 14.10 ### $ echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Perbarui cache repositori.
$ sudo apt-get update
Instal MongoDB menggunakan perintah berikut.
$ sudo apt-get install mongodb-org
Mulai layanan MongoDB dan aktifkan untuk memulai secara otomatis selama sistem start-up.
$ sudo systemctl start mongod $ sudo systemctl enable mongod
Instal Graylog2:
Graylog-server menerima dan memproses pesan log, juga memunculkan RESTAPI untuk permintaan yang berasal dari greylog-web-interface. Download versi terbaru dari graylog dari graylog.org, gunakan perintah berikut untuk mendownload menggunakan terminal.
$ wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.1.6.tgz
Ekstrak dan pindahkan ke /opt.
$ sudo tar -zxvf graylog-1.1.6.tgz $ sudo mv graylog-1.1.6/ /opt/graylog
Salin contoh file konfigurasi ke /etc/graylog/server, buat direktori jika tidak ada.
$ sudo mkdir -p /etc/graylog/server $ sudo cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf
Edit file server.conf.
$ sudo nano /etc/graylog/server/server.conf
Konfigurasikan variabel berikut pada file di atas.
Tetapkan rahasia untuk mengamankan kata sandi pengguna, gunakan perintah berikut untuk membuat rahasia, gunakan setidaknya 64 karakter.
$ pwgen -N 1 -s 96 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Jika Anda mendapatkan “pwgen:perintah tidak ditemukan “, gunakan perintah berikut untuk menginstal pwgen.
$ sudo apt-get install pwgen
Tempatkan rahasianya.
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Selanjutnya adalah mengatur kata sandi hash untuk pengguna root (jangan bingung dengan pengguna sistem, pengguna root dari greylog adalah admin). Anda akan menggunakan kata sandi ini untuk masuk ke antarmuka web, kata sandi admin tidak dapat diubah menggunakan antarmuka web, harus mengedit variabel ini untuk disetel.
Ganti “sandi Anda ” dengan pilihan Anda.
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Tempatkan kata sandi hash.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Graylog akan mencoba menemukan node Elasticsearch secara otomatis, ia menggunakan mode multicast untuk hal yang sama. Tetapi jika menyangkut jaringan yang lebih besar, disarankan untuk menggunakan mode unicast yang paling cocok untuk pengaturan produksi. Jadi tambahkan dua entri berikut ke file greylog server.conf, ganti ipaddress dengan nama host atau alamat ipad langsung. Beberapa host dapat ditambahkan dengan dipisahkan koma.
elasticsearch_http_enabled = false elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300
Tetapkan hanya satu master node dengan mendefinisikan variabel di bawah ini, pengaturan default adalah true, Anda harus mengaturnya sebagai false untuk menjadikan node tertentu sebagai slave. Node master melakukan beberapa tugas berkala yang tidak akan dilakukan oleh slave.
is_master = true
Variabel berikut menetapkan jumlah pesan log yang harus disimpan per indeks, disarankan untuk memiliki beberapa indeks yang lebih kecil daripada yang lebih besar.
elasticsearch_max_docs_per_index = 20000000
Parameter berikut menentukan jumlah total indeks, jika angka ini tercapai, indeks lama akan dihapus.
elasticsearch_max_number_of_indices = 20
Settingan shard sangat bergantung pada jumlah node di cluster Elasticsearch, jika Anda hanya memiliki satu node, atur sebagai 1.
elasticsearch_shards = 1
Jumlah replika untuk indeks Anda, jika Anda hanya memiliki satu node di cluster Elasticsearch; atur sebagai 0.
elasticsearch_replicas = 0
Mulai server greylog menggunakan perintah berikut.
$ sudo cp /opt/graylog/bin/graylogctl /etc/init.d/graylog2
Perbarui skrip startup untuk meletakkan log Graylog2 di /var/log dan untuk mencari file JAR server Graylog2 di /opt/graylog dengan menjalankan dua perintah sed berikut:
$ sudo sed -i -e 's/\=graylog.jar/\=\/opt\/graylog\/graylog.jar/g' /etc/init.d/graylog2 $ sudo sed -i -e 's/\=log/\=\/var\/log/g' /etc/init.d/graylog2
Instal skrip startup.
$ sudo update-rc.d graylog2 defaults
Mulai layanan Graylog.
$ sudo service graylog2 start
Saat memulai server greylog dengan sukses, Anda akan mendapatkan pesan berikut di file log (/var/log/graylog-server.log).
2015-09-07 17:41:21,407 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>
Instal antarmuka web Graylog:
Untuk mengkonfigurasi greylog-web-interface, Anda harus memiliki setidaknya satu node greylog-server; unduh nomor versi yang sama untuk memastikannya kompatibel
$ wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.1.6.tgz
Ekstrak arsip dan pindahkan ke /opt.
$ sudo tar -zxvf graylog-web-interface-1.1.6.tgz $ sudo mv graylog-web-interface-1.1.6 /opt/graylog-web-interface
Edit file konfigurasi dan atur parameter berikut.
$ sudo nano /opt/graylog-web-interface/conf/graylog-web-interface.conf
Ini adalah daftar node greylog-server, Anda dapat menambahkan beberapa node, dipisahkan dengan koma.
graylog2-server.uris="http://127.0.0.1:12900/"
Atur rahasia aplikasi dan dapat dibuat menggunakan pwgen -N 1 -s 96.
application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"
Unduh skrip init greylog-web-interface dari GitHub.
$ wget https://gist.githubusercontent.com/stojg/d1cbb8536e5a447e1f3a/raw/32b95a7909fa8fa42991600dbbb4d871bd86486b/graylog2-web-interface
Pindahkan file ke direktori init dan ubah hak akses file.
$ sudo mv graylog2-web-interface /etc/init.d/graylog2-web $ sudo chown root:root /etc/init.d/graylog2-web $ sudo chmod 755 /etc/init.d/graylog2-web
Edit skrip init untuk mengubah direktori antarmuka web.
$ sudo sed -i -e 's/graylog2-web-interface/graylog-web-interface/g' /etc/init.d/graylog2-web
Instal skrip startup.
$ sudo update-rc.d graylog2-web defaults
Mulai layanan Graylog.
$ sudo service graylog2-web start
Antarmuka web akan mendengarkan pada port 80. Arahkan browser Anda ke sana. Masuk dengan nama pengguna admin dan kata sandi yang Anda konfigurasikan di root_password_sha2 di server.conf .
Setelah Anda masuk, Anda akan mendapatkan halaman pencarian berikut.
Itu saja!, Anda telah berhasil menginstal Graylog2 di Ubuntu 15.04.