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 pada CentOS 7 / RHEL 7 menggunakan sumber, juga berfokus pada pemasangan empat komponen lain yang menjadikan Graylog2 alat manajemen log yang kuat.
Tutorial ini untuk Graylog2 versi lama. Versi baru tersedia di sini:Cara Menginstal Graylog di CentOS 7 / RHEL 7.Kita dapat menginstal Graylog dengan dua cara,
1. Dengan menggunakan paket sumber.
2. Dengan menggunakan paket biner resmi (Disarankan).
Dalam tutorial ini, saya akan menunjukkan instalasi graylog menggunakan source.
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.
Prasyaratan:
1. Karena Elasticsearch berbasis 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_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
2. Konfigurasi repositori EPEL di CentOS 7 / RHEL 7.
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. Anda dapat menggunakan perintah berikut untuk mengunduh melalui terminal dan menginstalnya.
# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm # rpm -Uvh elasticsearch-1.4.4.noarch.rpm
Konfigurasikan Elasticseach untuk memulai selama startup sistem.
# systemctl daemon-reload # systemctl enable elasticsearch.service
Satu-satunya hal yang penting adalah menetapkan nama cluster sebagai “graylog2 “, yang digunakan oleh graylog. Sekarang edit file konfigurasi Elasticsearch.
# vi /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.
# systemctl restart elasticsearch.service
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" : "Sinister", "cluster_name" : "graylog2", "version" : { "number" : "1.4.4", "build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512", "build_timestamp" : "2015-02-19T13:05:36Z", "build_snapshot" : false, "lucene_version" : "4.10.3" }, "tagline" : "You Know, for Search"
Opsional: Gunakan perintah berikut untuk memeriksa kesehatan cluster Elasticsearch, Anda harus mendapatkan status cluster sebagai “hijau” agar graylog dapat 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 }
Instal MongoDB:
MongoDB tersedia dalam format RPM dan dapat diunduh dari situs resminya. Tambahkan informasi repositori berikut pada sistem untuk menginstal MongoDB menggunakan yum.
# vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1
Instal MongoDB menggunakan perintah berikut.
# yum install -y mongodb-org
Jalankan perintah berikut untuk mengonfigurasi SELinux agar MongoDB dapat dimulai.
# semanage port -a -t mongod_port_t -p tcp 27017
Atau, jika Anda tidak menggunakan SELinux pada sistem, pertimbangkan untuk menonaktifkan SELinux.
Mulai layanan MongoDB dan aktifkan untuk memulai secara otomatis selama sistem start-up.
# service mongod start # chkconfig mongod on
Langkah-langkah di atas sudah cukup untuk mengkonfigurasi graylog2, Anda dapat menemukan konfigurasi detailnya di sini.
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.0.1.tgz
Ekstrak dan pindahkan ke /opt.
# tar -zxvf graylog-1.0.1.tgz # mv graylog-1.0.1 /opt/graylog
Salin contoh file konfigurasi ke /etc/graylog/server, buat direktori jika tidak ada.
# mkdir -p /etc/graylog/server # cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf
Edit file server.conf.
# vi /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 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
Jika Anda mendapatkan “pwgen:perintah tidak ditemukan “, gunakan perintah berikut untuk menginstal pwgen.
# yum -y install pwgen
Tempatkan rahasianya.
password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
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
Masukkan informasi otentikasi MongoDB Anda.
# MongoDB Configuration mongodb_useauth = false #If this is set to false, you do not need to enter the authentication information #mongodb_user = grayloguser #mongodb_password = 123 mongodb_host = 127.0.0.1 #mongodb_replica_set = localhost:27017,localhost:27018,localhost:27019 mongodb_database = graylog2 mongodb_port = 27017
Mulai server greylog menggunakan perintah berikut.
# /opt/graylog/bin/graylogctl start
Anda dapat memeriksa log startup server, ini akan berguna bagi Anda untuk memecahkan masalah greylog jika ada masalah.
# tailf /opt/graylog/log/graylog-server.log
Saat memulai server greylog dengan sukses, Anda akan mendapatkan pesan berikut di file log.
2015-03-23 16:28:15,825 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>
Anda mungkin juga ingin mengonfigurasi skrip init untuk server Graylog.
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.0.1.tgz
Ekstrak arsip dan pindahkan ke /opt.
# tar -zxvf graylog-web-interface-1.0.1.tgz # mv graylog-web-interface-1.0.1 /opt/graylog-web-interface
Edit file konfigurasi dan atur parameter berikut.
# vi /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"
Mulai gralog-web-interface di latar belakang menggunakan perintah berikut,
# nohup /opt/graylog-web-interface/bin/graylog-web-interface &
Anda mungkin juga ingin mengonfigurasi skrip Init untuk Graylog-Web-Interface.
Antarmuka web akan mendengarkan pada port 9000. Arahkan browser Anda ke sana. Masuk dengan nama pengguna admin dan kata sandi yang Anda konfigurasikan di root_password_sha2 di server.conf .
Konfigurasikan firewall untuk mengizinkan lalu lintas pada port 9000.
firewall-cmd --permanent --zone=public --add-port=9000/tcp firewall-cmd --reload
Setelah Anda masuk, Anda akan mendapatkan halaman pencarian berikut.
Itu saja!, Anda telah berhasil menginstal Graylog2 di CentOS 7 / RHEL 7.
Tutorial ini untuk Graylog2 versi lama. Versi baru tersedia di sini:Cara Menginstal Graylog di CentOS 7 / RHEL 7.