Bagaimana memonitor file Log dengan Graylog2 pada Debian 9

Bagaimana memonitor file Log dengan Graylog2 pada Debian 9

Ini kerja tim, tapi sederhana, lebih menyenangkan dan lebih produktif.

Graylog adalah alat manajemen log bebas dan open source berbasis Java, Elasticsearch dan MongoDB yang dapat digunakan untuk mengumpulkan, Indeks dan menganalisis setiap log server dari lokasi terpusat. Anda dapat dengan mudah memantau login SSH dan aktivitas yang tidak biasa untuk aplikasi debugging dan log menggunakan Graylog. Graylog menyediakan bahasa query yang kuat, menyiagakan kemampuan, pipa pengolahan untuk transformasi data dan banyak lagi. Anda dapat memperluas fungsi Graylog melalui REST API dan Add-ons.

Graylog terdiri dari tiga komponen:

  1. Elasticsearch: Ini menyimpan semua pesan yang masuk dan memberikan fasilitas searching.
  2. MongoDB: Hal ini digunakan untuk database, menyimpan konfigurasi dan informasi meta.
  3. Server Graylog: Ini menerima dan memproses pesan dari berbagai masukan dan menyediakan antarmuka web untuk analisis dan pemantauan.

Dalam tutorial ini, kami akan menjelaskan cara menginstal Graylog2 pada Debian 9 Server.

Prasyarat

  • Server berjalan Debian 9.
  • Minimum 4 GB RAM.
  • Alamat IP statis 192.168.0.187 setup pada server Anda.

1 Instal Paket Diperlukan

Sebelum memulai, Anda akan perlu menginstal Java 8 dan lain yang diperlukan paket ke sistem Anda. Tidak semua paket yang diperlukan tersedia di Debian 9 repositori standar, sehingga Anda akan perlu menambahkan Debian Backports ke daftar sumber paket. Pertama, login dengan user root dan membuat file backport.list:

nano /etc/apt/sources.list.d/backport.list

Tambahkan baris berikut:

deb http://ftp.debian.org/debian jessie-backports main

Simpan file setelah selesai, kemudian memperbarui sistem anda dengan perintah berikut:

apt-get update -y
apt-get upgrade -y

Setelah sistem Anda up-to-date, menginstal semua paket dengan perintah berikut:

apt-get install apt-transportasi-https openjdk-8-jre-tanpa kepala uuid-runtime pwgen -y

Setelah semua paket yang dibutuhkan telah terinstal, Anda dapat melanjutkan untuk menginstal MongoDB.

2 Menginstal MongoDB

MongoDB diperlukan untuk menyimpan konfigurasi dan informasi meta. MongoDB tersedia di Debian 9 repositori bawaan, sehingga Anda dapat menginstal MongoDB dengan hanya menjalankan perintah berikut:

apt-get install -y mongodb-server

Setelah MongoDB diinstal, Anda dapat melanjutkan untuk menginstal Elasticsearch.

3 Menginstal Elasticsearch

Elasticsearch adalah bertindak sebagai server pencarian yang menyimpan semua log yang dikirim oleh server Graylog dan menampilkan pesan setiap kali Anda meminta. Elasticsearch tidak tersedia di Debian 9 repositori bawaan. Anda akan perlu menambahkan repositori Elasticsearch ke sumber paket Debian.

Pertama, download dan menambahkan kunci Elasticsearch GPG dengan perintah berikut:

wget - qO – https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add –

Berikutnya, membuat repo berkas Elasticsearch dengan perintah berikut:

nano /etc/apt/sources.list.d/elasticsearch.list

Tambahkan baris berikut:

deb https://packages.elastic.co/elasticsearch/2.x/debian utama stabil

Simpan file ketika Anda selesai, kemudian memperbarui repositori dengan menjalankan perintah berikut:

apt-get update -y

Berikutnya, install Elasticsearch dengan menjalankan perintah berikut:

apt-get install -y elasticsearch

Setelah Elasticsearch diinstal, Anda akan perlu memodifikasi Elasticsearch file konfigurasi utama:

nano /etc/elasticsearch/elasticsearch.yml

Membuat perubahan berikut:

cluster.name: graylog
network.host: 192.168.0.187
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.0.187:9300"]

Simpan dan tutup file setelah selesai, kemudian memulai layanan Elasticsearch dan memungkinkan untuk memulai boot:

systemctl mulai elasticsearch
systemctl memungkinkan elasticsearch

Setelah beberapa detik, jalankan berikut untuk menguji bahwa Elasticsearch berjalan dengan baik:

-XGET ikal ‘http://192.168.0.187:9200/_cluster/health?pretty=true’

Pastikan output menunjukkan status klaster sebagai “hijau”:

{
  "cluster_name" : "graylog",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 1,
  "active_shards" : 1,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 1,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0
}

Setelah Elasticsearch terinstal dan bekerja dengan baik, Anda dapat melanjutkan ke langkah berikutnya.

4 Menginstal Graylog

Graylog tidak tersedia di Debian 9 repositori bawaan, sehingga Anda akan perlu untuk men-download dan menginstal Graylog 2 repositori pertama. Anda dapat melakukannya dengan menjalankan perintah berikut:

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i graylog-2.2-repository_latest.deb

Setelah repositori diinstal, memperbarui repositori dan menginstal Graylog server dengan perintah berikut:

apt-get update -y
apt-get install -y graylog-server

Setelah menginstal Graylog, Anda akan perlu untuk mengatur rahasia untuk mengamankan password pengguna dan juga menetapkan hash (SHA256) password untuk user root.

Pertama, menghasilkan password_secret dengan perintah berikut:

pwgen -N 1 -s 96

Anda harus melihat output berikut:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Berikutnya, menghasilkan password hash untuk user root dengan perintah berikut:

menggemakan youradminpassword -n | sha256sum

Anda harus melihat output berikut:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Catatan: Ingat baik kunci sandi, karena kedua kunci harus dikonfigurasi dalam server.conf yang.

Berikutnya, Anda akan perlu memodifikasi file server konfigurasi utama Graylog terletak di / etc / graylog / server / direktori:

nano /etc/graylog/server/server.conf

Membuat perubahan berikut:

is_master = true
node_id_file = /etc/graylog/server/node-id
########past-your-password-secret-here#########
password_secret = TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC
root_username = admin
#######past-your-root-hash-password-here##########
root_password_sha2 = e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee
root_timezone = UTC
plugin_dir = /usr/share/graylog-server/plugin
rest_listen_uri = http://0.0.0.0:9000/api/
rest_enable_cors = true
web_listen_uri = http://0.0.0.0:9000/
rotation_strategy = count
elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 7
retention_strategy = delete
elasticsearch_shards = 4
elasticsearch_replicas = 1
elasticsearch_index_prefix = graylog
allow_leading_wildcard_searches = true
allow_highlighting = false
elasticsearch_cluster_name = graylog
elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.0.187:9300
elasticsearch_http_enabled = false
elasticsearch_network_host = 0.0.00
elasticsearch_discovery_initial_state_timeout = 3s
elasticsearch_analyzer = standard
output_batch_size = 500
output_flush_interval = 1
output_fault_count_threshold = 5
output_fault_penalty_seconds = 30
processbuffer_processors = 5
outputbuffer_processors = 3
processor_wait_strategy = blocking
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocking
message_journal_enabled = true
message_journal_dir = /var/lib/graylog-server/journal
async_eventbus_processors = 2
lb_recognition_period_seconds = 3
alert_check_interval = 60
mongodb_uri = mongodb://localhost/graylog
mongodb_max_connections = 1000
mongodb_threads_allowed_to_block_multiplier = 5
content_packs_dir = /usr/share/graylog-server/contentpacks
content_packs_auto_load = grok-patterns.json
proxied_requests_thread_pool_size = 32

Simpan dan tutup file setelah selesai, kemudian memulai layanan Graylog dan memungkinkan untuk memulai boot:

systemctl mulai graylog-server
systemctl memungkinkan graylog-server

Setelah Anda selesai, Anda dapat melanjutkan ke langkah berikutnya

5 Konfigurasi Firewall

Secara default, antarmuka web Graylog mendengarkan pada port 9000, sehingga Anda akan perlu untuk memungkinkan pelabuhan 9000 melalui UFW firewall. UFW firewall tidak terpasang di Debian 9. Jadi, Anda akan perlu menginstalnya terlebih dahulu. Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install -y ufw

Setelah UFW diinstal, mengaktifkannya dengan menjalankan perintah berikut;

ufw mengaktifkan

Berikutnya, memungkinkan port 9000 melalui UFW firewall dengan menjalankan perintah berikut:

ufw memungkinkan 9000

Anda dapat memeriksa status UFW firewall setiap saat dengan menjalankan perintah berikut.

Status ufw

Setelah firewall dikonfigurasi, Anda dapat melanjutkan ke langkah berikutnya.

6 Akses Antarmuka Web Graylog

antarmuka web Graylog mendengarkan pada port 9000. Sekarang, buka browser Anda dan ketik URL http://192.168.0.187:9000, Anda harus melihat layar berikut:

Graylog Antarmuka

Masuk dengan nama pengguna “admin” dan password yang Anda dikonfigurasi pada root_password_sha2 pada server.conf. Anda harus melihat layar berikut:

Graylog memulai

Berikutnya, Anda akan perlu menambahkan input untuk menerima pesan syslog menggunakan UDP. Untuk menambahkan input, Klik pada sistem-> pilih Input -> Syslog UDP -> klik Launch tombol masukan baru, Anda harus melihat layar berikut:

Menambahkan sumber masukan dalam Graylog

Mengisi semua rincian seperti Judul, Port, alamat mengikat dan akhirnya Klik tombol Save, Anda harus melihat layar berikut:

Log sumber rinci

Sekarang server Graylog akan menerima sistem log menggunakan port 8514 dari klien atau server.

Pada sistem Client, Anda akan perlu mengkonfigurasi rsyslog sehingga akan mengirim sistem log pesan ke server Graylog. Anda dapat melakukan ini dengan mengedit rsyslog.conf berkas:

Nano /etc/rsyslog.conf

Tambahkan baris berikut:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 8514
$GRAYLOGRFC5424 Template,"%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%n"
*.* @ 192.168.0.187: 8514; GRAYLOGRFC5424

Simpan file dan restart layanan rsyslog untuk menerapkan perubahan ini:

systemctl Restart rsyslog

Berikutnya, pada Graylog server klik pada “Sumber Graylog” Anda dapat melihat log ssh dengan usaha login gagal dalam layar berikut.

Memonitor upaya login dengan Graylog

Kesimpulan

Selamat! Anda telah berhasil diinstal dan dikonfigurasi Graylog server pada Debian 9. Sekarang Anda dapat dengan mudah melihat log dan analisis sistem log dari lokasi pusat. Anda juga dapat menyesuaikan Graylog dan mengirim jenis lain dari kayu sesuai kebutuhan Anda. Anda bisa mendapatkan informasi lebih lanjut dari halaman dokumentasi Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Jangan ragu untuk komentar saya jika Anda memiliki pertanyaan.

Sumber