Graylog adalah alat manajemen log sumber terbuka yang membantu Anda mengumpulkan, mengindeks, dan menganalisis log mesin apa pun secara terpusat. Panduan ini akan membantu Anda menginstal Graylog di CentOS 7 / RHEL 7.
Komponen
- MongoDB – Menjadi database untuk menyimpan konfigurasi dan informasi meta.
- Elasticsearch – Ini menyimpan pesan log yang diterima dari server Graylog dan menyediakan fasilitas untuk mencarinya kapan pun diperlukan. Elasticsearch adalah penjual sumber daya seperti halnya pengindeksan data, jadi alokasikan lebih banyak memori dan gunakan disk SAS atau SAN.
- Server Graylog – Ini melakukan penguraian log yang berasal dari berbagai input dan menyediakan Antarmuka Web bawaan untuk menangani log tersebut.
Prasyarat
Pastikan sistem Anda dikonfigurasi dengan repositori EPEL.
Instal paket yang diperlukan untuk instalasi Graylog.
yum -y install wget pwgen
Elasticsearch membutuhkan Java untuk diinstal pada mesin. Jadi, instal OpenJDK atau Oracle JDK.
yum install -y java-1.8.0-openjdk-headless
Verifikasi versi Java.
java -versi
Keluaran:
openjdk versi "1.8.0_191"OpenJDK Runtime Environment (build 1.8.0_191-b12)OpenJDK 64-Bit Server VM (build 25.191-b12, mode campuran)
Instal Elasticsearch
Elasticsearch adalah salah satu komponen penting dalam pengaturan Graylog. Ini menyimpan data yang berasal dari input Graylog dan menampilkan pesan setiap kali pengguna meminta melalui antarmuka web bawaan Graylog.
Elasticseach terutama digunakan di sini untuk mengindeks data/log dan menyediakan fungsionalitas pencarian saat antarmuka web Graylog meminta informasi apa pun.
Panduan ini mencakup konfigurasi dasar yang diperlukan untuk Graylog.
Impor kunci penandatanganan GPG sebelum penginstalan.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Buat file repositori untuk mendapatkan versi terbaru paket Elasticsearch dari repositori resmi.
vi /etc/yum.repos.d/elasticsearch.repo
Tambahkan konten di bawah ini ke file di atas.
[elasticsearch-6.x]name=Elasticsearch repositori untuk 6.x packagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/ GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md
Sekarang, instal paket Elasticsearch menggunakan perintah yum.
yum install -y elasticsearch
Muat ulang daemon systemctl dan aktifkan Elasticsearch untuk memulai secara otomatis saat startup sistem.
systemctl daemon-reloadsystemctl aktifkan elasticsearch
Untuk membuat Elasticsearch bekerja dengan pengaturan Graylog, kita perlu mengatur nama cluster menjadi graylog
. Edit file elasticsearch.yml.
vi /etc/elasticsearch/elasticsearch.yml
Perbarui seperti yang ditunjukkan di bawah ini.
cluster.name:graylog
Mulai ulang Elasticsearch.
systemctl restart elasticsearch
Beri waktu sebentar untuk membiarkan Elasticsearch dimulai ulang sepenuhnya. Elastisearch sekarang harus mendengarkan 9200 untuk memproses permintaan HTTP. Gunakan perintah CURL untuk memeriksa respons.
curl -X DAPATKAN http://localhost:9200
Nama cluster harus graylog.
{ "name" :"DF8QK3-", "cluster_name" :"graylog", "cluster_uuid" :"_wAgUfN9RJeQ0npCKBswVA", "version" :{ "number" :"6.6.0", "build_flavor" :"default ", "build_type" :"rpm", "build_hash" :"a9861f4", "build_date" :"2019-01-24T11:27:09.439740Z", "build_snapshot" :false, "lucene_version" :"7.6.0" , "minimum_wire_compatibility_version" :"5.6.0", "minimum_index_compatibility_version" :"5.0.0" }, "tagline" :"Anda Tahu, untuk Pencarian"}
Lakukan pemeriksaan kesehatan cluster Elasticsearch.
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
Pastikan status cluster muncul sebagai hijau .
{ "cluster_name" :"graylog", "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, "task_max_waiting_active_in_queue_} pra>Instal MongoDB
MongoDB bertindak sebagai database untuk menyimpan konfigurasi dan informasi meta. Kami akan menggunakan repositori resmi MongoDB untuk mendapatkan versi terbaru MongoDB.
vi /etc/yum.repos.d/mongodb-org-4.0.repoTambahkan informasi repositori ke file di atas.
[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.0.ascInstal MongoDB edisi komunitas menggunakan perintah berikut.
yum install -y mongodb-orgMulai layanan MongoDB dan aktifkan ke sistem start-up.
systemctl start mongodsystemctl aktifkan mongodInstal Graylog
Server Graylog menerima dan memproses pesan log yang datang dari berbagai input, menampilkan data hingga permintaan yang berasal dari antarmuka web greylog.
Unduh dan Instal repositori graylog 3.x.
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpmInstal server Graylog menggunakan perintah berikut.
yum -y install greylog-serverEdit file server.conf untuk memulai konfigurasi greylog.
vi /etc/graylog/server/server.confGunakan perintah berikut untuk membuat rahasia
pwgen -N 1 -s 96Keluaran:
OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gPTempatkan rahasia seperti di bawah ini di server.conf
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gPTetapkan kata sandi hash untuk pengguna root, yaitu, admin graylog. Anda memerlukan kata sandi ini untuk masuk ke web greylog.
Jika Anda ingin mengubah/mengatur ulang kata sandi admin yang terlupakan, Anda dapat mengedit/memperbarui server.conf dengan sandi yang di-hash.
Buat kata sandi hash menggunakan perintah di bawah ini. Ganti sandi Anda dengan pilihan Anda.
echo -n kata sandi Anda | sha256sumKeluaran:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951Tempatkan kata sandi hash.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951Anda dapat mengatur alamat email untuk pengguna admin.
root_email ="[email protected] "Setel zona waktu pengguna root (admin).
root_timezone =UTCTetapkan hanya satu master node dengan mendefinisikan variabel di bawah ini, pengaturan default adalah true.
Jika server ini adalah simpul Graylog kedua Anda di lingkungan Anda, setel ke false untuk menjadikan simpul ini sebagai budak. Node master melakukan beberapa tugas berkala yang tidak akan dilakukan oleh node slave.
is_master =benarTetapkan jumlah pesan log yang akan disimpan per indeks. Direkomendasikan untuk memiliki beberapa indeks yang lebih kecil daripada yang lebih besar.
elasticsearch_max_docs_per_index =20000000Parameter berikut mendefinisikan memiliki jumlah indeks. Jika angka ini tercapai, indeks lama akan dihapus.
elasticsearch_max_number_of_indices =20Pengaturan pecahan bergantung pada jumlah node di cluster Elasticsearch tertentu. Jika Anda hanya memiliki satu simpul, tetapkan sebagai 1.
elasticsearch_shards =1Ini menentukan jumlah replika untuk indeks Anda. Jika Anda hanya memiliki satu node di cluster Elasticsearch, tetapkan sebagai 0.
elasticsearch_replicas =0Instal antarmuka web Graylog
Dari Graylog versi 2.x, antarmuka web dilayani langsung oleh server Graylog. Aktifkan antarmuka web Graylog dengan mengedit file server.conf.
vi /etc/graylog/server/server.confUbah entri agar Antarmuka Web Graylog terhubung ke server Graylog. Ganti 192.168.1.10 dengan alamat IP sistem Anda.
http_bind_address =192.168.1.10 :9000Mulai ulang layanan Graylog.
systemctl daemon-reloadsystemctl restart greylog-serverJadikan server Graylog untuk memulai secara otomatis saat startup sistem.
systemctl aktifkan greylog-serverAnda dapat memeriksa log startup server; akan berguna bagi Anda untuk memecahkan masalah Graylog untuk masalah apa pun.
tailf /var/log/graylog-server/server.logJika semuanya berjalan dengan baik, Anda akan melihat pesan di bawah ini di file server.log.
2019-02-25T21:00:23.157+05:30 INFO [ServerBootstrap] Server Graylog aktif dan berjalan.Firewall
Di CentOS 7 / RHEL 7, aturan firewall diatur untuk memblokir sebagian besar lalu lintas yang berasal dari mesin eksternal secara default. Anda perlu menambahkan aturan izinkan agar Graylog berfungsi dengan benar.
firewall-cmd --permanent --add-port=9000/tcpMuat ulang firewalld untuk menerapkan aturan baru.
firewall-cmd --reloadAkses antarmuka web Graylog
Antarmuka web sekarang akan mendengarkan pada port 9000. Arahkan browser Anda ke.
http://ip.add.re.ss:9000Masuk dengan nama pengguna admin dan sandi yang Anda konfigurasikan di root_password_sha2 di server.conf .
Setelah Anda masuk, Anda akan melihat halaman memulai.
Klik Sistem>> Ringkasan untuk mengetahui status server Graylog.
Buat Input Graylog
Input Graylog perlu dikonfigurasi untuk menerima log dari sumber eksternal, yaitu syslog atau sistem logging apa pun. Untuk contoh ini, kami akan menyiapkan input untuk menerima log dari syslog pada nomor port UDP 514.
Tapi, ada masalah. Jika Anda mulai mencoba input pada salah satu port yang diistimewakan, nomor port TCP/UDP apa pun di bawah 1024, Anda akan melihat kesalahan izin ditolak di log Graylog.
Untuk mengatasi masalah tersebut, kami akan membuat input untuk memulai pada port 1514, dan kami akan mengarahkan lalu lintas yang datang ke 514 ke 1514 dengan aturan firewall.
Klik Sistem >> Masukan >> pilih Syslog UDP lalu klik Luncurkan input baru.
Isi nilai yang ditunjukkan di bawah ini.
Simpul: Pilih Node Graylog Anda
Judul: Beri nama masukan Anda
Alamat pengikatan: 0.0.0.0 (Biarkan yang default)
Port: 1514
Pastikan input Syslog yang dibuat dalam keadaan berjalan.
Konfigurasi Rsyslog
Setelah Anda membuat input, konfigurasikan Rsyslog atau teruskan log sistem apa pun ke server Graylog Anda.
Edit file konfigurasi RSyslog.
vi /etc/rsyslog.confKonfigurasi khas Rsyslog akan terlihat seperti di bawah ini untuk mengirim log pada UDP 514.
Jika Anda tidak ingin menggunakan UDP 514 dan ingin mengirim log langsung ke UDP 1514 dari Graylog, maka Anda dapat mengubah nomor port di file konfigurasi Rsyslog*.info;mail.none;authpriv.none;cron. tidak ada @192.168.1.10:514Mulai ulang layanan Rsyslog untuk mengirim log.
systemctl restart rsyslogFirewall
Konfigurasikan firewall berdasarkan konfigurasi Rsyslog yang Anda lakukan pada langkah sebelumnya.
Port 514
Jalankan perintah di bawah ini di server Graylog untuk mengalihkan lalu lintas yang datang pada port UDP 514 ke UDP 1514 dari input Graylog.
firewall-cmd --add-masquerade --permanentfirewall-cmd --add-forward-port=port=514:proto=udp:toport=1514 --permanentfirewall-cmd --reloadPort 1514
Jalankan perintah di bawah ini di server Graylog untuk mengizinkan nomor port UDP 1514 di firewall menerima log dari Rsyslog.
firewall-cmd --permanent --add-port=1514/udpfirewall-cmd --reloadMelihat Log menggunakan Graylog
Tunggu beberapa menit. Anda harus mulai menerima pesan log dari mesin klien saat acara dibuat.
Tangkapan layar berikut menunjukkan log yang diterima oleh Graylog (Konsol Graylog >> Penelusuran h ).
Kesimpulan
Anda telah berhasil menginstal Graylog 3.0 pada CentOS 7 / RHEL 7 dan mengonfigurasi Graylog untuk menerima log Rsyslog dari sumber eksternal. Sebagai bacaan lebih lanjut, Anda dapat mencoba mengonfigurasi Nginx atau Apache sebagai proxy terbalik dan menyiapkan HTTPS untuk antarmuka web Graylog.
Peternakan – Layanan Kontainer Pribadi Anda :Jalankan Kontainer dalam Produksi – Instal Peternakan di CentOS 7 / Ubuntu 16.04 VnStat PHP frontend – Antarmuka Berbasis Web untuk Memantau Bandwidth JaringanCent OS