Forwarder Chronicle untuk Windows di Docker
Dokumen ini menjelaskan cara menginstal dan mengonfigurasi forwarder Chronicle untuk Windows di Docker.
Persyaratan sistem
Berikut adalah rekomendasi umum. Untuk mendapatkan rekomendasi khusus bagi sistem Anda, hubungi Dukungan Chronicle.
- Versi Windows Server: Penerusan Chronicle didukung di Microsoft Windows Server 2022.
- RAM: 1,5 GB untuk setiap jenis log yang dikumpulkan. Misalnya, deteksi dan respons endpoint (EDR), DNS, dan DHCP adalah jenis log yang terpisah. Anda memerlukan 4,5 GB RAM untuk mengumpulkan data untuk ketiganya. Untuk daftar Parser default dan jenis log yang didukung, lihat Parser default yang didukung.
- CPU: 2 CPU sudah cukup untuk menangani kurang dari 10.000 peristiwa per detik (EPS) di semua jenis data. Jika Anda berharap untuk mengirim lebih dari 10.000 EPS, Anda perlu 4 hingga 6 CPU.
Disk: Kapasitas disk 100 MB sudah cukup, terlepas dari jumlah data yang ditangani penerusan Chronicle. Anda dapat menyangga disk dengan menambahkan parameter
write_to_disk_buffer_enabled
danwrite_to_disk_dir_path
di file konfigurasi.Contoh:
- <collector>: common: ... write_to_disk_buffer_enabled: true write_to_disk_dir_path: directory_path ...
Rentang alamat IP Google
Rentang alamat IP mungkin perlu terbuka saat menyiapkan konfigurasi penerusan Chronicle, seperti saat menyiapkan konfigurasi untuk firewall Anda. Google tidak dapat memberikan daftar alamat IP yang spesifik. Namun, Anda dapat mendapatkan rentang alamat IP Google.
Memverifikasi konfigurasi firewall
Jika Anda memiliki firewall atau proxy yang diautentikasi antara container penerusan Chronicle dan internet, keduanya memerlukan aturan untuk mengizinkan akses ke host Google Cloud berikut:
Jenis Koneksi | Tujuan | Port |
TCP | malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-northeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-south1-malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-southeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | australia-southeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west2-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west3-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west6-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-central2-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-west1-malachiteingestion-pa.googleapis.com | 443 |
TCP | northamerica-northeast2-malachiteingestion-pa.googleapis.com | 443 |
TCP | accounts.google.com | 443 |
TCP | gcr.io | 443 |
TCP | oauth2.googleapis.com | 443 |
TCP | storage.googleapis.com | 443 |
Anda dapat memeriksa konektivitas jaringan ke Google Cloud menggunakan langkah-langkah berikut:
Mulai Windows PowerShell dengan hak istimewa administrator (Klik Start, ketik
PowerShell
, klik kanan Windows PowerShell, lalu klik Run as administrator).Jalankan perintah berikut.
C:\> test-netconnection <host> -port <port>
Perintah akan menampilkan bahwa
TcpTestSucceeded
adalahtrue
.Contoh:
C:\> test-netconnection malachiteingestion-pa.googleapis.com -port 443 ComputerName : malachiteingestion-pa.googleapis.com RemoteAddress : 198.51.100.1 RemotePort : 443 InterfaceAlias : Ethernet SourceAddress : 203.0.113.1 TcpTestSucceeded : True
Menginstal Docker di Microsoft Windows
Bagian ini menjelaskan cara menginstal Docker di Microsoft Windows menggunakan antarmuka command line dan PowerShell.
Manfaat forwarder Chronicle menggunakan container:
- Keamanan yang lebih baik melalui isolasi:
- Lingkungan dan persyaratan pelanggan tidak memengaruhi Chronicle forwarder.
- Lingkungan dan persyaratan penerus Chronicle tidak memengaruhi pelanggan.
- Mekanisme distribusi container sudah ada dan dapat bersifat pribadi serta terpisah untuk Google Cloud dan pelanggan. Untuk mengetahui informasi selengkapnya, lihat Artifact Registry.
Selesaikan langkah-langkah berikut di Microsoft Windows Server Core 2022.
Aktifkan fitur penampung Microsoft Windows.
Install-WindowsFeature containers -Restart
Jalankan perintah berikut dalam mode Administrator PowerShell untuk menginstal Docker CE:
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1 .\install-docker-ce.ps1
Uji antarmuka command line Docker dengan menjalankan perintah
docker ps
, yang menampilkan daftar container yang berjalan. Jika perintah tersebut tidak mencantumkan container apa pun yang sedang berjalan, berarti penginstalan akan berhasil. Jika Docker tidak diinstal dengan benar, error akan ditampilkan.Untuk mengetahui informasi selengkapnya, lihat Memulai: Mempersiapkan Windows untuk container.
Untuk deployment perusahaan, instal Mirantis Container Runtime, yang juga dikenal sebagai Docker EE.
Mengonfigurasi penerusan Chronicle
Untuk mengonfigurasi forwarder Chronicle untuk Windows di Docker, lihat Mengelola konfigurasi penerusan melalui UI Chronicle.
Saat Anda mengonfigurasi Forwarder Chronicle, pastikan semua jalur dalam forwarder dimulai dengan awalan `c:`.
Setiap perubahan yang dibuat pada file konfigurasi akan otomatis diterapkan oleh penerus Chronicle dalam waktu 5 menit.
Untuk mengumpulkan data paket menggunakan forwarder Chronicle untuk Windows di Docker, lihat Mengumpulkan data paket.
Jalankan penerusan Chronicle dalam container Docker
Jika Anda mengupgrade forwarder Chronicle, mulailah dengan membersihkan Docker yang berjalan sebelumnya. Dalam contoh berikut, nama container Docker adalah
cfps
.docker stop cfps docker rm cfps
Dapatkan image Docker terbaru dari Google Cloud menggunakan perintah pull Docker ini.
docker pull gcr.io/chronicle-container/cf_production_stable_windows
Mulai penerusan Chronicle dari container Docker.
docker run ` --detach ` --name cfps ` --restart=always ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 10514:10514 ` -v C:\config\:C:/opt/chronicle/external ` gcr.io/chronicle-container/cf_production_stable_windows
Anda dapat menambahkan beberapa port menggunakan beberapa opsi atau beberapa rentang. Contoh:
-p 3001:3000 -p 2023:2022
atau-p 7000-8000:7000-8000
Lihat log penerus
Untuk melihat log penerusan Chronicle, jalankan perintah berikut:
sudo docker logs cfps
Untuk melihat jalur file tempat log disimpan, jalankan perintah berikut:
docker inspect --format='{{.LogPath}}' CONTAINER_NAME
Untuk melihat log yang sedang berjalan, jalankan perintah berikut:
sudo docker logs cfps -f
Untuk menyimpan log ke dalam file, jalankan perintah berikut:
sudo docker logs cfps &> logs.txt
Meng-uninstal forwarder Chronicle
Perintah Docker berikut memungkinkan Anda menghentikan dan meng-uninstal atau menghapus penerus Chronicer.
Perintah ini akan menghentikan penampung penerusan Chronicle:
docker stop cfps
Perintah ini akan menghapus penampung penerusan Chronicle:
docker rm cfps
Mengupgrade penerus Chronicle
Forwarder Chronicle untuk Windows di Docker terus diupdate menggunakan skrip shell di image Docker sehingga tidak perlu menyediakan file yang dapat dieksekusi untuk hal ini.
Mengumpulkan data
Bagian berikut membantu Anda mengonfigurasi forwarder Chronicle untuk menyerap berbagai jenis data, yang akan diteruskan ke instance Chronicle.
Jangan mengonfigurasi nilai yang lebih besar dari 1 MB untuk batch_n_bytes
. Jika Anda mengonfigurasi nilai di atas 1 MB, nilai akan direset secara otomatis menjadi 1 MB.
Mengumpulkan data Splunk
Anda dapat mengonfigurasi forwarder Chronicle untuk meneruskan data Splunk ke Chronicle. Google Cloud mengonfigurasi Forwarder Chronicle dengan informasi berikut untuk meneruskan data Anda dari Splunk:
URL untuk Splunk REST API (misalnya,
https://10.0.113.15:8089
).Kueri Splunk untuk menghasilkan data bagi setiap jenis data yang diperlukan (misalnya,
index=dns
).
FORWARDER_NAME.conf output: collectors: - splunk: common: enabled: true data_type: WINDOWS_DNS data_hint: "#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto trans_id query qclass qclass_name" batch_n_seconds: 10 batch_n_bytes: 819200 url: https://127.0.0.1:8089 is_ignore_cert: true minimum_window_size: 10s maximum_window_size: 30s query_string: search index=* sourcetype=dns query_mode: realtime
- Buat kredensial akun Splunk Anda tersedia untuk Chronicle
forwarder. Anda dapat melakukannya dengan membuat file
creds.txt
.
Untuk menggunakan file creds.txt
:
Buat file lokal untuk kredensial Splunk Anda, lalu beri nama
creds.txt
.Letakkan nama pengguna Anda di baris pertama dan sandi di baris kedua:
cat creds.txt myusername mypassword
Untuk menggunakan penerusan Chronicle guna mengakses instance Splunk, salin file
creds.txt
ke direktori konfigurasi (direktori yang sama tempat file konfigurasi berada). Contoh:cp creds.txt c:/opt/chronicle/config/creds.txt
Pastikan file
creds.txt
berada di lokasi yang tepat:ls c:/opt/chronicle/config
Mengumpulkan data syslog
Forwarder Chronicle dapat berfungsi sebagai server syslog. Anda dapat mengonfigurasi alat atau server apa pun yang mendukung pengiriman data syslog melalui koneksi TCP atau UDP untuk meneruskan datanya ke forwarder Chronicle. Anda dapat mengontrol data persis yang dikirimkan perangkat atau server ke Forwarder Chronicle. Forwarder Chronicle kemudian dapat meneruskan data tersebut ke Chronicle.
File konfigurasi FORWARDER_NAME.conf
(disediakan oleh Google Cloud) menentukan port yang akan dipantau untuk setiap jenis data yang diteruskan (misalnya, port 10514). Secara default, penerusan Chronicle
menerima koneksi TCP dan UDP.
Mengonfigurasi rsyslog
Untuk mengonfigurasi rsyslog, Anda perlu menentukan target untuk setiap port (misalnya, setiap jenis data). Lihat dokumentasi sistem Anda untuk mengetahui sintaksis yang benar. Contoh berikut mengilustrasikan konfigurasi target rsyslog:
Traffic log TCP:
dns.* @@192.168.0.12:10514
Traffic log UDP:
dns.* @192.168.0.12:10514
Mengaktifkan TLS untuk konfigurasi syslog
Anda dapat mengaktifkan TLS untuk koneksi syslog ke Chronicle
forwarder. Di file konfigurasi penerus Chronicle
(FORWARDER_NAME.conf
), tentukan lokasi sertifikat
dan kunci sertifikat yang Anda buat sendiri seperti yang ditunjukkan dalam contoh berikut:
sertifikat | c:/opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | c:/opt/chronicle/external/certs/client_generated_cert.key |
Berdasarkan contoh yang ditampilkan, ubah file konfigurasi penerus Chronicle (FORWARDER_NAME.conf
) sebagai berikut:
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "c:/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "c:/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
Beberapa hal penting yang perlu diperhatikan:
Anda dapat mengonfigurasi ukuran buffer TCP. Ukuran buffer TCP default adalah 64 KB.
Nilai default dan yang direkomendasikan untuk
connection_timeout
adalah 60 detik. Jika koneksi tidak aktif selama waktu tertentu, maka koneksi TCP akan dihentikan.Versi TLS minimum akan dibandingkan dengan versi TLS permintaan input. Versi TLS permintaan input harus lebih besar dari versi TLS minimum. Versi TLS minimum harus berupa salah satu nilai berikut:
TLSv1_0
,TLSv1_1
,TLSv1_2
,TLSv1_3
.
Anda dapat membuat direktori sertifikat di bawah direktori konfigurasi dan menyimpan file sertifikat di sana.
Mengumpulkan data file
Pengumpul file dirancang untuk mengambil log dari file. File tersebut harus terikat dengan container Docker.
Gunakan ini jika Anda ingin mengupload log secara manual dari satu file log. Fungsi ini dapat digunakan untuk mengisi ulang log untuk file log tertentu.
Mulai penerusan Chronicle dari container Docker:
docker run ` --name cfps ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 10514:10514 ` -v c:/opt/chronicle/config:c:/opt/chronicle/external ` -v c:/var/log/crowdstrike/falconhoseclient:c:/opt/chronicle/edr ` gcr.io/chronicle-container/cf_production_stable
Anda dapat menambahkan beberapa port menggunakan beberapa opsi atau beberapa rentang. Contoh: -p 3001:3000 -p 2023:2022
atau -p 7000-8000:7000-8000
Perintah docker run
ini sangat penting untuk memetakan volume beban ke container.
Berdasarkan contoh ini, Anda harus mengubah konfigurasi penerus Chronicle (file FORWARDER_NAME.conf
) sebagai berikut.
File sample.txt
harus ada di
folder /var/log/crowdstrike/falconhostclient
.
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: c:/opt/chronicle/edr/output/sample.txt filter:
Konfigurasi flag
skip_seek_to_end
(bool): Flag ini disetel ke false
secara default dan input
file hanya mengirimkan baris log baru sebagai input. Menetapkan ini ke true
akan menyebabkan semua baris log sebelumnya dikirim lagi saat penerusan mulai ulang. Hal ini menyebabkan duplikasi
log. Menetapkan flag ini ke true
akan sangat membantu dalam situasi tertentu (misalnya, selama pemadaman layanan), karena memulai ulang forwarder akan mengirimkan lagi baris log yang tidak ada.
poll
(bool): Pengumpul file menggunakan library Tail untuk memeriksa perubahan apa pun dalam
sistem file. Dengan menyetel tanda ini ke true
, library Tail akan menggunakan metode
polling, bukan metode notifikasi default.
Mengumpulkan data paket
Forwarder Chronicle dapat menangkap paket langsung dari antarmuka jaringan menggunakan Npcap di sistem Windows.
Paket diambil dan dikirim ke Google Cloud, bukan entri log. Pengambilan gambar hanya dilakukan dari antarmuka lokal.
Hubungi Dukungan Chronicle untuk memperbarui file konfigurasi penerusan Chronicle guna mendukung pengambilan paket.
Untuk menjalankan forwarder Packet Capture (PCAP), Anda memerlukan hal berikut:
Instal Npcap pada host Microsoft Windows.
Berikan hak istimewa administrator atau root penerusan Chronicle untuk memantau antarmuka jaringan.
Opsi command line tidak diperlukan.
Pada penginstalan Npcap, aktifkan mode kompatibilitas WinPcap.
Untuk mengonfigurasi penerus PCAP, Google Cloud memerlukan GUID untuk antarmuka yang digunakan untuk menangkap paket.
Jalankan getmac.exe
di komputer tempat Anda berencana menginstal forwarder Chronicle
(baik server atau mesin yang memproses port span) dan mengirim output ke Chronicle.
Atau, Anda dapat mengubah file konfigurasi. Temukan bagian PCAP dan ganti nilai GUID yang ditampilkan di samping antarmuka dengan GUID yang ditampilkan dari menjalankan getmac.exe.
Misalnya, berikut ini adalah bagian PCAP asli:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{1A7E7C8B-DD7B-4E13-9637-0437AB1A12FE}
bpf: udp port 53
Berikut adalah output dari menjalankan getmac.exe
:
C:\>getmac.exe
Physical Address Transport Name
===========================================================================
A4-73-9F-ED-E1-82 \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}
Dan terakhir, inilah bagian PCAP yang direvisi dengan GUID yang baru:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734}
bpf: udp port 53
Mengumpulkan data dari topik Kafka
Anda dapat menyerap data dari topik Kafka seperti yang dapat Anda lakukan dari syslog. Grup konsumen digunakan agar Anda dapat men-deploy hingga tiga penerus Chronicle dan menarik data dari topik Kafka yang sama. Untuk informasi selengkapnya, lihat Kafka.
Untuk mengetahui informasi selengkapnya tentang grup konsumen Kafka, lihat Grup konsumen Kafka
Contoh konfigurasi: Input Kafka
Konfigurasi penerusan Chronicle berikut menunjukkan cara menyiapkan penerusan Chronicle untuk menyerap data dari topik Kafka.
File FORWARDER_NAME.conf
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "c:/path/to/cert.pem" certificate_key: "c:/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
File FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Mengumpulkan data WebProxy
Forwarder Chronicle dapat mengambil data WebProxy langsung dari antarmuka jaringan menggunakan Npcap dan mengirimkannya ke Google Cloud.
Untuk mengaktifkan pengambilan data WebProxy untuk sistem Anda, hubungi Dukungan Chronicle.
Sebelum Anda menjalankan penerusan WebProxy, lakukan hal berikut:
Instal Npcap pada host Microsoft Windows. Aktifkan mode kompatibilitas WinPcap selama penginstalan.
Berikan hak istimewa administrator atau root ke penerusan Chronicle untuk memantau antarmuka jaringan.
Untuk mengonfigurasi Forwarder WebProxy, Google Cloud memerlukan GUID untuk antarmuka yang digunakan untuk merekam paket WebProxy.
Jalankan
getmac.exe
di komputer tempat Anda ingin menginstal penerusan Chronicle dan kirim outputnya ke Chronicle. Atau, Anda dapat mengubah file konfigurasi. Temukan bagian WebProxy dan ganti GUID yang ditampilkan di samping antarmuka dengan GUID yang ditampilkan setelahgetmac.exe
dijalankan.Ubah file konfigurasi penerusan Chronicle (
FORWARDER_NAME.conf
) sebagai berikut:- webproxy: common: enabled : true data_type: <Your LogType> batch_n_seconds: 10 batch_n_bytes: 1048576 interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734} bpf: tcp and dst port 80
Menyesuaikan konfigurasi
Tabel berikut mencantumkan parameter penting yang digunakan dalam file konfigurasi penerusan.
Parameter | Deskripsi |
---|---|
data_type | Jenis data log yang dapat dikumpulkan dan diproses oleh kolektor. |
metadata | Metadata, yang menggantikan metadata global. |
max_file_buffer_bytes | Jumlah maksimum byte yang dapat diakumulasi dalam buffer file atau disk. Nilai defaultnya adalah 1073741824 , yaitu 1 GB. |
max_memory_buffer_bytes | Jumlah byte maksimum yang dapat diakumulasi dalam buffer memori. Nilai
defaultnya adalah 1073741824 , yaitu 1 GB. |
write_to_disk_dir_path | Jalur yang akan digunakan untuk buffer file atau disk. |
write_to_disk_buffer_enabled | Jika true , buffer disk akan digunakan, bukan buffer memori. Nilai defaultnya adalah false .
|
batch_n_bytes | Jumlah maksimum byte yang dapat diakumulasikan oleh kolektor setelah data dikelompokkan dalam batch. Nilai defaultnya adalah 1048576 , yaitu
1 MB. |
batch_n_seconds | Jumlah detik setelah data yang dikumpulkan oleh kolektor dikelompokkan. Nilai defaultnya adalah 11 detik. |
data_hint | Format data yang dapat diterima kolektor (biasanya header file log yang menjelaskan format). |
Untuk mengetahui daftar lengkap parameter yang digunakan dalam file konfigurasi, lihat Kolom konfigurasi Forwarder dan Kolom konfigurasi kolektor.
Aktifkan/nonaktifkan kompresi data
Kompresi log mengurangi penggunaan bandwidth jaringan saat mentransfer log ke Chronicle. Namun, kompresi dapat menyebabkan peningkatan penggunaan CPU. Kompromi antara penggunaan CPU dan bandwidth bergantung pada banyak faktor, termasuk jenis data log, kompresi data tersebut, ketersediaan siklus CPU pada host yang menjalankan forwarder Chronicle, dan kebutuhan untuk mengurangi konsumsi bandwidth jaringan.
Misalnya, log berbasis teks dikompresi dengan baik dan dapat menghemat bandwidth secara signifikan dengan penggunaan CPU yang rendah. Namun, payload paket mentah terenkripsi tidak dikompresi dengan baik dan menyebabkan penggunaan CPU yang lebih tinggi.
Secara default, kompresi log dinonaktifkan. Mengaktifkan kompresi log dapat mengurangi pemakaian bandwidth. Namun, mengaktifkan kompresi log juga dapat meningkatkan penggunaan CPU. Perhatikan konsekuensinya.
Untuk mengaktifkan kompresi log, tetapkan kolom compression
ke
true
dalam file konfigurasi penerus Chronicle seperti
yang ditunjukkan pada contoh berikut:
File FORWARDER_NAME.conf
output: compression: true url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: 10479925-878c-11e7-9421-10604b7cb5c1 customer_id: ebdc4bb9-878b-11e7-8455-10604b7cb5c1 ...
File FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", ... }
Mengonfigurasi buffering disk
Dengan buffering disk, Anda dapat mem-buffer pesan yang di-backlog ke disk, bukan memori. Pesan yang di-backlog dapat disimpan jika penerusan Chronicle mengalami error atau host yang mendasarinya mengalami error. Perlu diketahui bahwa mengaktifkan buffering disk dapat memengaruhi performa.
Jika buffering disk dinonaktifkan, Forwarder Chronicle akan menggunakan memori (RAM) sebesar 1 GB untuk setiap jenis log (misalnya, untuk setiap konektor). Tentukan parameter konfigurasi max_memory_buffer_bytes
. Memori maksimum yang diizinkan adalah 4 GB.
Anda dapat mengonfigurasi buffering disk otomatis untuk menggunakan buffer bersama secara dinamis di seluruh kolektor, yang menangani lonjakan traffic secara lebih baik. Untuk mengaktifkan buffer bersama secara dinamis, tambahkan baris berikut dalam konfigurasi penerusan Anda:
auto_buffer: enabled: true target_memory_utilization: 80
Jika buffering disk otomatis diaktifkan, tetapi
target_memory_utilization
tidak ditentukan, nilai default
70
akan digunakan.
Jika Anda menjalankan forwarder Chronicle menggunakan Docker, Google merekomendasikan untuk memasang volume yang terpisah dari volume konfigurasi untuk tujuan isolasi. Selain itu, setiap input harus diisolasi dengan direktori atau volumenya sendiri untuk menghindari konflik.
Contoh konfigurasi: buffering disk
Konfigurasi berikut mencakup sintaksis untuk mengaktifkan buffering disk:
collectors: - syslog: common: write_to_disk_buffer_enabled: true # c:/buffers/NIX_SYSTEM
is part of the external mounted volume for the forwarder write_to_disk_dir_path: c:/buffers/NIX_SYSTEM
max_file_buffer_bytes: 1073741824 batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Menyetel filter ekspresi reguler
Filter ekspresi reguler memungkinkan Anda memfilter log berdasarkan kecocokan ekspresi reguler dengan log mentah.
Filter menggunakan syntax RE2.
Filter harus menyertakan ekspresi reguler dan, secara opsional, menentukan perilaku jika ada kecocokan. Perilaku default pada kecocokan adalah blok (Anda juga dapat mengonfigurasinya secara eksplisit sebagai blok).
Atau, Anda dapat menentukan filter dengan perilaku allow
. Jika Anda menentukan filter allow
, Forwarder Chronicle akan memblokir log apa pun yang tidak cocok dengan setidaknya satu filter allow
.
Anda dapat menentukan jumlah filter yang arbitrer. Filter blok lebih diutamakan daripada filter allow
.
Saat filter ditentukan, filter harus diberi nama. Nama filter aktif akan dilaporkan ke Chronicle menggunakan metrik kesehatan Forwarder. Filter yang ditentukan pada root konfigurasi digabungkan dengan filter yang ditentukan pada tingkat kolektor. Filter tingkat kolektor akan diprioritaskan jika ada nama yang bertentangan. Jika tidak ada filter yang ditentukan di tingkat root atau kolektor, perilakunya adalah mengizinkan semua.
Contoh konfigurasi: filter ekspresi reguler
Pada konfigurasi penerus Chronicle berikut, log WINEVTLOG
yang tidak cocok dengan filter root (allow_filter
) akan diblokir. Dengan mempertimbangkan ekspresi reguler, filter hanya mengizinkan log dengan prioritas antara 0 dan 99.
Namun, log NIX_SYSTEM
yang berisi 'foo' atau 'bar' akan diblokir, meskipun allow_filter
. Hal ini karena filter menggunakan OR yang logis. Semua
log diproses hingga filter dipicu.
regex_filters: allow_filter: regexp: ^<[1-9][0-9]?$>.*$ behavior_on_match: allow collectors: - syslog: common: regex_filters: block_filter_1: regexp: ^.*foo.*$ behavior_on_match: block block_filter_2: regexp: ^.*bar.*$ batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Mengonfigurasi label arbitrer
Label digunakan untuk melampirkan metadata arbitrer ke log menggunakan pasangan kunci dan nilai. Label dapat dikonfigurasi untuk seluruh penerusan Chronicle atau dalam kolektor tertentu dari penerusan Chronicle. Jika keduanya disediakan, label akan digabungkan dengan kunci kolektor yang lebih diutamakan daripada kunci penerusan Chronicle jika kunci tersebut tumpang-tindih.
Contoh konfigurasi: label arbitrer
Dalam konfigurasi penerus Chronicle berikut, key-value pair foo=bar
dan meow=mix
dilampirkan ke log WINEVTLOG
, sedangkan key-value pair foo=baz
dan meow=mix
dilampirkan ke log NIX_SYSTEM
.
metadata: labels: foo: bar meow: mix collectors: syslog: common: metadata: labels: foo: baz meow: mix batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Mengonfigurasi namespace
Gunakan label namespace untuk mengidentifikasi log dari segmen jaringan yang berbeda dan mencabut konflik alamat IP yang tumpang-tindih. Anda dapat mengonfigurasi label namespace untuk seluruh forwarder Chronicle atau dalam kolektor penerusan Chronicle tertentu. Jika keduanya disertakan, namespace kolektor tertentu akan diprioritaskan.
Setiap namespace yang dikonfigurasi untuk penerusan Chronicle akan muncul dengan aset terkait di antarmuka pengguna Chronicle. Anda juga dapat menelusuri namespace menggunakan fitur Chronicle Search.
Untuk mengetahui informasi tentang cara melihat namespace di antarmuka pengguna Chronicle, lihat di sini.
Contoh konfigurasi: namespace
Dalam konfigurasi penerus Chronicle berikut, log WINEVTLOG
dilampirkan ke namespace FORWARDER dan log NIX_SYSTEM
dilampirkan ke namespace CORPORATE.
metadata: namespace: FORWARDER collectors: - syslog: common: metadata: namespace: CORPORATE batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Mengonfigurasi opsi load balancing dan ketersediaan tinggi
Forwarder Chronicle untuk Windows di Docker dapat di-deploy di lingkungan tempat load balancer Lapisan 4 diinstal antara sumber data dan instance penerus Chronicle. Dengan begitu, Anda dapat mendistribusikan kumpulan log ke beberapa penerus Chronicle atau mengirim log ke penerusan Chronicle yang berbeda jika ada yang gagal. Fitur ini hanya didukung dengan jenis koleksi syslog.
Forwarder Chronicle untuk Windows di Docker mencakup server HTTP bawaan yang merespons health check HTTP dari load balancer. Server HTTP juga membantu memastikan bahwa log tidak hilang selama startup atau penghentian forwarder Chronicle.
Konfigurasikan server HTTP, load balancing, dan opsi ketersediaan tinggi
di bagian server
pada file konfigurasi forwarder Chronicle. Opsi ini mendukung penyetelan durasi waktu tunggu dan kode status yang ditampilkan sebagai respons terhadap health check yang diterima di deployment berbasis orkestrasi dan penjadwal container, serta dari load balancer konvensional.
Gunakan jalur URL berikut untuk pemeriksaan respons, kesiapan, dan keaktifan.
Nilai <host:port>
ditentukan dalam konfigurasi penerusan Chronicle.
http://<host:port>/meta/available
: pemeriksaan keaktifan untuk penjadwal/orkestrasi container, seperti Kubernetes.http://<host:port>/meta/ready
: pemeriksaan kesiapan dan health check load balancer tradisional.
Konfigurasi Forwarder Chronicle berikut adalah contoh untuk load balancing dan ketersediaan tinggi:
collectors: - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60 server: graceful_timeout: 15s drain_timeout: 10s http: port: 8080 host: 0.0.0.0 read_timeout: 3s read_header_timeout: 3s write_timeout: 3s idle_timeout: 3s routes: - meta: available_status: 204 ready_status: 204 unready_status: 503
Jalur konfigurasi | Deskripsi |
---|---|
server: {i>graceful_timeout<i} | Durasi saat penerus Chronicle menampilkan kesiapan/health check yang buruk dan masih menerima koneksi baru. Ini juga saatnya menunggu antara menerima sinyal untuk berhenti dan benar-benar memulai penonaktifan server itu sendiri. Hal ini memberi waktu load balancer untuk menghapus penerusan Chronicle dari kumpulan. |
server : drain_timeout | Durasi waktu penerus Chronicle untuk menunggu koneksi aktif berhasil ditutup sendiri sebelum ditutup oleh server. |
server : http : port | Nomor port yang diproses oleh server HTTP untuk health check dari load balancer. Harus antara 1024-65535. |
server : http : host | Alamat IP, atau nama host yang dapat di-resolve menjadi alamat IP, yang harus dideteksi server. Jika kosong, nilai defaultnya adalah sistem lokal (0.0.0.0). |
server : http : read_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Jumlah waktu maksimum yang diizinkan untuk membaca seluruh permintaan, baik header maupun isi. Anda dapat mengatur read_timeout dan read_header_timeout. |
server : http : read_header_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Jumlah waktu maksimum yang diizinkan untuk membaca header permintaan. Batas waktu pembacaan koneksi direset setelah membaca header. |
server : http : write_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Durasi maksimum yang diizinkan untuk mengirim respons. Fungsi ini direset saat header permintaan baru dibaca. |
server : http : idle_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Jumlah waktu maksimum untuk menunggu permintaan berikutnya saat koneksi tidak ada aktivitas diaktifkan. Jika idle_timeout adalah nol, nilai read_timeout akan digunakan. Jika keduanya nol, read_header_timeout akan digunakan. |
rute : meta : ready_status | Kode status yang ditampilkan Forwarder Chronicle sudah siap untuk menerima traffic dalam salah satu situasi berikut:
|
rute : meta : unready_status | Kode status yang ditampilkan oleh penerusan Chronicle jika belum siap menerima traffic. |
rute : meta : available_status | Kode status yang ditampilkan penerus Chronicle saat pemeriksaan keaktifan diterima dan penerusan Chronicle tersedia. Penjadwal/orkestrasi container seperti Kubernetes sering kali mengirimkan pemeriksaan keaktifan. |