Menggunakan BindPlane dengan Google SecOps
Dokumen ini menjelaskan Bindplane untuk Google Security Operations.
Bindplane adalah pipeline telemetri, yang dapat mengumpulkan, memproses, dan mengekspor log dari sumber mana pun ke Google SecOps.
Bindplane menawarkan dua edisi khusus untuk Google.
Bindplane mencakup komponen utama berikut:
Pengumpul Bindplane. Agen open source, berdasarkan OpenTelemetry (OTel) Collector. Alat ini mengumpulkan log dari berbagai sumber, termasuk log peristiwa Microsoft Windows, dan mengirimkannya ke Google SecOps. Anda dapat menginstal pengumpul data di resource lokal atau di cloud.
Komponen ini juga dapat disebut sebagai Bindplane Distribution for OpenTelemetry (BDOT) Collector, agen bindplane, agen pengumpulan, pengumpul, atau agen.
Bindplane Server. Platform komprehensif dan terpadu untuk mengelola deployment pengumpul OTel Anda. Deployment ini dapat berada di Google SecOps dan Google Cloud. Banyak pelanggan Google SecOps menggunakan Bindplane Server, tetapi penggunaannya bersifat opsional. Bindplane Server dapat berjalan secara lokal atau di cloud Bindplane. Untuk mengetahui informasi selengkapnya tentang server, lihat Server BindPlane.
Komponen ini juga dapat disebut sebagai konsol Pengelolaan Pipeline Observabilitas (OP) BindPlane atau konsol Pengelolaan BindPlane.
Edisi Google Bindplane
BindPlane menawarkan dua edisi khusus untuk Google: BindPlane (Edisi Google) dan BindPlane Enterprise (Edisi Google).
Bindplane (Edisi Google)
Bindplane (Edisi Google) disediakan untuk semua pelanggan Google SecOps.
Anda dapat menggunakan Bindplane (Google Edition) secara mandiri di cloud Bindplane.
Untuk mulai menginstal dan menghosting sendiri Bindplane (Edisi Google) atau membuat kunci untuk server Bindplane lokal, lihat Bindplane (Edisi Google).
Bindplane Enterprise (Edisi Google)—untuk pelanggan Google SecOps Enterprise Plus
Bindplane Enterprise (Edisi Google) disertakan untuk pelanggan Google SecOps Enterprise Plus.
Bindplane Enterprise (Edisi Google) direkomendasikan untuk deployment skala besar.
Hubungi tim Akun Google Anda untuk mendapatkan kunci lisensi Bindplane Enterprise (Google Edition).
Edisi Google Bindplane—perbedaan
Tabel berikut mencantumkan perbedaan dalam edisi Google Bindplane:
Topik/fitur | Bindplane (Edisi Google) | Bindplane Enterprise (Edisi Google) |
---|---|---|
Biaya | Disertakan tanpa biaya tambahan untuk semua pelanggan Google SecOps | Disertakan tanpa biaya untuk pelanggan Google SecOps Enterprise Plus |
Perutean/Tujuan | Khusus Google, termasuk Google SecOps, Cloud Logging, BigQuery, dan Cloud Storage melalui Google SecOps | Google, termasuk perutean ke tujuan non-Google selama 12 bulan untuk migrasi SIEM |
Pemfilteran | Filter dasar dengan ekspresi reguler | Proses pemfilteran lanjutan (misalnya, filter menurut kondisi, kolom, tingkat keparahan, dan sebagainya), pengurangan data, pengambilan sampel log, penghapusan duplikat |
Penyamaran | T/A | Penyamaran PII |
Transformasi | Menambahkan kolom, memindahkan kolom, mengurai data (KV, JSON, CSV, XML, stempel waktu, mengurai menurut ekspresi reguler), mengganti nama kolom, pemisah peristiwa | Mencakup semua kemampuan yang didukung di Bindplane (Edisi Google) plus hapus kolom, hapus nilai kosong, gabungkan |
Fitur umum tingkat platform | Gateway (menggabungkan data dari pengumpul), pengumpul BindPlane, server BindPlane (lapisan pengelolaan BindPlane) yang dihosting di cloud atau lokal, semua sumber, pemantauan host senyap melalui pemroses Google SecOps, antrean persisten, telemetri yang diperkaya, ketersediaan tinggi, RBAC, kedua API penyerapan Google SecOps didukung, pengaburan kredensial, pengelolaan armada lanjutan termasuk pengelompokan pengumpul, penetapan jenis log dinamis | Semua kemampuan yang didukung di Bindplane (Edisi Google) |
Arsitektur pengumpul Bindplane
BindPlane menggunakan BDOT Collector—yang secara umum disebut sebagai pengumpul—untuk menstandardisasi pengelolaan telemetri dengan Open Agent Management Protocol (OpAMP). Anda juga dapat membuat dan mengelola distribusi OpenTelemetry Collector kustom dengan BindPlane.
Pengumpul dapat berjalan di Linux atau Docker sebagai server web ringan tanpa dependensi eksternal.
Untuk mempelajari lebih lanjut arsitektur deployment pengumpul BindPlane OpenTelemetry, lihat Deployment.
Bagian berikut menjelaskan opsi arsitektur yang tersedia.
Pengumpul mengirim log ke pengumpul yang bertindak sebagai gateway
Untuk deployment skala besar, sebaiknya gunakan pengumpul Bindplane Enterprise (Edisi Google) yang berfungsi sebagai gateway. Gateway ini menerima telemetri dari pengumpul lain melalui jaringan, secara opsional melakukan pemrosesan tambahan, dan merutekan data ke Google SecOps.
Pengumpul yang bertindak sebagai gateway menggunakan biner yang sama dengan semua pengumpul lainnya.
Diagram berikut menunjukkan pengumpul yang mengirim log ke pengumpul yang bertindak sebagai gateway:
Pengumpul mengirim log langsung ke API penyerapan Google SecOps
Diagram berikut menunjukkan pengumpul yang mengirim log langsung ke API penyerapan Google SecOps:
Pengumpul mengirim log langsung ke Cloud Logging
Diagram berikut menunjukkan pengumpul yang mengirim log langsung ke Cloud Logging:
Pengumpul mengirim log ke beberapa tujuan
Diagram berikut menunjukkan pengumpul yang mengirim log ke beberapa tujuan:
Server Bindplane
Server BindPlane menawarkan fitur utama berikut:
- Pengelolaan terpusat. Server ini memungkinkan Anda mengelola semua deployment pengumpul OTel di seluruh Google Cloud. Anda dapat melihat status setiap deployment dan melakukan tugas pengelolaan umum seperti memulai, menghentikan, dan memulai ulang pengumpul.
- Pemantauan real-time. Server ini menyediakan pemantauan real-time pada deployment pengumpul OTel Anda. Anda dapat melacak metrik seperti penggunaan CPU, penggunaan memori, dan throughput. Anda juga dapat melihat log dan rekaman aktivitas untuk memecahkan masalah.
- Pemberitahuan dan notifikasi. Server memungkinkan Anda menyiapkan pemberitahuan dan notifikasi untuk peristiwa penting, seperti saat pengumpul data tidak berfungsi atau saat ambang batas metrik terlampaui.
- Pengelolaan konfigurasi. Server ini memungkinkan Anda mengelola konfigurasi pengumpul OTel secara terpusat. Anda dapat mengedit file konfigurasi, menetapkan variabel lingkungan, dan menerapkan kebijakan keamanan ke semua deployment Anda.
- Integrasi dengan Google Cloud. Anda dapat membuat dan mengelola deployment pengumpul OTel di Google Cloud dan menggunakan server untuk mengakses resource Google Cloud Anda.
Bindplane menawarkan opsi deployment di cloud dan lokal. Untuk mengetahui informasi selengkapnya, lihat Menggunakan server BindPlane.
Persyaratan dan rekomendasi teknis
Bagian ini menjelaskan persyaratan dan rekomendasi teknis untuk menginstal dan menjalankan Bindplane dengan Google SecOps.
Persyaratan bandwidth
Bindplane mempertahankan koneksi jaringan untuk hal berikut:
- Pengelolaan pengumpul
- Pengukuran throughput pengumpul
- Antarmuka pengguna web dan command line
Persyaratan konektivitas
Bindplane memproses port 3001 secara default. Port ini dapat dikonfigurasi.
Port Bindplane digunakan untuk:
- Kontrol dan perintah pengumpul menggunakan OpAMP (WebSocket)
- Permintaan pengukuran throughput pengumpul (permintaan HTTP
POST
) - Pengguna browser dan CLI (HTTP dan WebSocket)
Pengumpul harus dapat memulai koneksi ke BindPlane untuk OpAMP (WebSocket) dan pengukuran throughput (HTTP).
Bindplane tidak pernah memulai koneksi ke pengumpul. Anda dapat mengonfigurasi firewall untuk mencegah Bindplane menjangkau jaringan pengumpul; namun, jaringan pengumpul harus dapat menjangkau Bindplane di port yang dikonfigurasi.
Persyaratan teknis umum pengumpul Bindplane
Untuk mempelajari persyaratan teknis umum untuk pengumpul Bindplane, lihat bagian berikut:
- Pengumpul OTel Bindplane di GitHub
- Menginstal dan Meng-uninstal Pengumpul BindPlane
- Prasyarat untuk penginstalan
- Panduan penskalaan dan penentuan ukuran pengumpul
Persyaratan resource pengumpul
Persyaratan resource Bindplane berbeda-beda berdasarkan jumlah pengumpul yang dikelola. Seiring bertambahnya jumlah pengumpul terkelola, penggunaan CPU, memori, throughput/IOPS disk, dan jaringan juga meningkat.
Gunakan tabel berikut untuk menentukan ukuran CPU, memori, dan kapasitas penyimpanan:
Jumlah pengumpul | Node Bindplane | Fault-tolerance | Core CPU | Memori | Database |
---|---|---|---|---|---|
1-100 | 1 | T/A | 2 | 4 GB | bbolt |
100-25.000 | 1 | T/A | 4 | 16 GB | postgres |
1-60.000 | 3 | 1 | 2 | 8 GB | postgres |
60.001-125.000 | 5 | 1 | 2 | 8 GB | postgres |
125.001-250.000 | 10 | 2 | 2 | 8 GB | postgres |
Merencanakan penginstalan dan deployment
Bagian berikut mencakup rekomendasi dan praktik terbaik yang harus Anda pertimbangkan saat merencanakan deployment BindPlane.
Mempertimbangkan penskalaan dan fault tolerance
Penskalaan horizontal lebih disukai karena memberikan fault tolerance dan dapat menghilangkan hambatan pengekspor.
Saat menjalankan pengumpul Bindplane dalam mode gateway, sebaiknya pasangkan dengan load balancer untuk memberikan toleransi kesalahan dan penskalaan horizontal.
Menghitung jumlah pengumpul yang Anda butuhkan
Saat menghitung jumlah pengumpul yang diperlukan untuk workload Anda, pertimbangkan throughput atau kecepatan log yang diantisipasi, dan gunakan tabel berikut. Tabel ini mengasumsikan bahwa setiap pengumpul memiliki empat core CPU dan memori 16 GB. Tabel tidak menyertakan perhitungan dengan pemroses; saat pemroses ditambahkan, persyaratan komputasi akan meningkat.
Throughput telemetri | Log/detik | Pengumpul |
---|---|---|
5 GB/bln | 250.000 | 2 |
10 GB/m | 500.000 | 3 |
20 GB/bln | 1.000.000 | 5 |
100 GB/m | 5.000.000 | 25 |
Menyediakan lebih banyak armada pengumpul untuk fault tolerance
Sediakan lebih banyak armada pengumpul untuk memastikan fault tolerance. Jika satu atau beberapa sistem pengumpul gagal atau di-offline-kan untuk pemeliharaan, pengumpul yang tersisa harus memiliki kapasitas yang cukup untuk mengelola throughput telemetri.
Jika Anda menggunakan sejumlah pengumpul tetap, Anda dapat menerapkan penskalaan vertikal CPU dan memori untuk meningkatkan throughput.
Mengurangi overhead pemrosesan
Secara umum, Anda ingin pengumpul data Anda melakukan sesedikit mungkin pekerjaan. Jika Anda memiliki persyaratan pemrosesan yang berat, akan berguna untuk memindahkan pemrosesan tersebut ke kumpulan pengumpul gateway. Misalnya, alih-alih memfilter telemetri dengan operasi ekspresi reguler yang mahal, Anda dapat meminta pengumpul gateway melakukan tugas tersebut. Umumnya, pengumpul gateway berjalan di sistem khusus. Hal ini membenarkan overhead pemrosesan karena tidak menggunakan daya komputasi layanan lain yang berjalan di sistem yang sama, tidak seperti pengumpul non-gateway yang mungkin berjalan di server database.
Praktik terbaik untuk mode gateway
Saat Anda menjalankan pengumpul Bindplane dalam mode gateway, sebaiknya rencanakan deployment Anda dengan praktik terbaik berikut:
- Tempatkan minimal dua pengumpul di belakang load balancer.
- Setiap pengumpul harus memiliki minimal dua core.
- Setiap pengumpul harus memiliki memori minimal 8 GB.
- Setiap pengumpul harus memiliki ruang yang dapat digunakan sebesar 60 GB untuk antrean persisten.
Gunakan load balancer jika diperlukan
Load balancer diperlukan saat Anda mengoperasikan Bindplane dalam mode ketersediaan tinggi.
Saat Anda menjalankan pengumpul Bindplane dalam mode gateway, gunakan load balancer untuk meningkatkan performa dan redundansi. Load balancing juga memungkinkan penskalaan horizontal armada gateway Anda dan kemampuan untuk menahan kegagalan tanpa menyebabkan gangguan.
Pengumpul Bindplane dapat bekerja dengan berbagai load balancer.
Untuk mempelajari lebih lanjut, lihat Load Balancer.
Port dan protokol load balancing
Bindplane memproses port 3001 secara default.
Untuk mendukung berbagai penerima berbasis jaringan di OpenTelemetry, load balancer harus mendukung:
- Protokol transport TCP/UDP
- Protokol aplikasi HTTP dan gRPC
Penentuan ukuran load balancing
Node Bindplane tidak boleh mengelola lebih dari 30.000 pengumpul untuk toleransi kesalahan maksimum. Setiap pengumpul membuka dua koneksi ke Bindplane (satu untuk pengelolaan jarak jauh OpAMP dan satu untuk memublikasikan metrik throughput). Batas ini membantu memastikan Anda tidak melebihi batas koneksi sekitar 65.535 per instance backend yang diterapkan oleh sebagian besar load balancer.
Jika organisasi memiliki 100.000 pengumpul, ukuran cluster tiga akan tidak memadai. Setiap node akan bertanggung jawab atas sekitar 33.000 pengumpul, yang berarti 66.000 koneksi TCP per instance Bindplane. Situasi ini akan semakin buruk jika satu node dihentikan untuk pemeliharaan, karena setiap instance Bindplane yang tersisa akan mengelola 50.000 pengumpul, atau 100.000 koneksi TCP.
Praktik terbaik penentuan ukuran load balancing
- Terapkan health check. Konfigurasi load balancer untuk memastikan pengumpul siap menerima traffic.
- Mendistribusikan koneksi secara merata. Koneksi harus didistribusikan secara merata di antara pengumpul.
Mendukung protokol yang diperlukan. Untuk mendukung berbagai penerima berbasis jaringan di OpenTelemetry, load balancer harus mendukung:
- Protokol transport TCP/UDP
- Protokol aplikasi HTTP dan gRPC
Untuk mempelajari lebih lanjut, lihat Ketahanan Pengumpul.
Load balancing jenis sumber
Jenis sumber apa pun yang menerima telemetri dari sistem jarak jauh melalui jaringan adalah kandidat yang cocok untuk load balancing, termasuk yang berikut:
- OTLP
- Syslog
- TCP/UDP
- HEC Splunk
- Fluent Forward
Menggunakan mode ketersediaan tinggi di lingkungan produksi
Anda dapat men-deploy instance BindPlane dalam konfigurasi instance tunggal atau multi-instance. Untuk deployment produksi yang memerlukan ketersediaan tinggi (HA) dan ketahanan, sebaiknya gunakan model deployment multi-instance (HA).
Jika Bindplane mengelola lebih dari 25.000 pengumpul, sebaiknya Anda mengoperasikan Bindplane dalam mode ketersediaan tinggi (HA).
Untuk mempelajari HA di BindPlane, lihat Ketersediaan Tinggi.
Menghitung jumlah pengumpul dan server BindPlane untuk HA
Saat mengoperasikan Bindplane dalam mode HA, Anda harus mempertimbangkan jumlah pengumpul yang diharapkan untuk ditangani oleh setiap server Bindplane.
Ambil jumlah total instance Bindplane, lalu kurangi jumlah maksimum node yang diperkirakan tidak tersedia karena pemeliharaan. Pastikan setiap node mengelola tidak lebih dari 30.000 pengumpul selama gangguan node.
Postgres untuk HA
Postgres adalah prasyarat saat Anda mengoperasikan Bindplane dalam mode HA.
Prometheus untuk HA
Prometheus diperlukan saat Anda mengoperasikan Bindplane dalam mode HA.
Untuk mempelajari lebih lanjut, lihat Prometheus.
Bus peristiwa untuk HA
Bindplane menggunakan bus peristiwa untuk berkomunikasi antar-komponen dalam Bindplane. Saat mengoperasikan Bindplane dalam mode HA, Anda dapat menggunakan bus peristiwa untuk mengirim peristiwa antar-server Bindplane.
Untuk mempelajari lebih lanjut, lihat Bus Peristiwa.
Menggunakan deployment instance tunggal untuk lingkungan pengujian atau proof-of-concept
Untuk lingkungan pengujian atau bukti konsep, sebaiknya gunakan deployment instance tunggal.
Untuk mempelajari lebih lanjut, lihat Instance Tunggal.
Mengisolasi kredensial backend
Daripada men-deploy kredensial ke semua sistem pengumpul data, Anda dapat menyimpan kredensial secara eksklusif di pengumpul data gateway. Hal ini menyederhanakan rotasi kredensial dan mengurangi permukaan serangan keamanan dengan membatasi deployment kredensial ke sebagian kecil sistem Anda.
Membuat firewall untuk pengumpul gateway Anda
Anda dapat menempatkan pengumpul gateway dalam jaringan perimeter, yang dilindungi firewall dari jaringan internal. Anda dapat mengonfigurasi jaringan untuk mengizinkan pengumpul data lain meneruskan data ke pengumpul data gateway sekaligus memblokir pengumpul data gateway agar tidak mengakses jaringan aplikasi Anda. Dengan begitu, Anda dapat mengirim telemetri ke backend berbasis cloud tanpa memberikan akses langsung ke internet untuk endpoint Anda.
Firewall harus mengizinkan traffic HTTP menjangkau Bindplane di port yang dikonfigurasi.
Verifikasi konfigurasi firewall
Firewall atau proxy terautentikasi antara pengumpul dan internet memerlukan aturan untuk membuka akses ke host 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 | europe-west12-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-central1-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 | oauth2.googleapis.com | 443 |
Menggunakan PostgreSQL untuk deployment produksi
Postgres diperlukan untuk deployment Bindplane produksi.
Postgres adalah prasyarat agar Anda dapat mengoperasikan Bindplane dalam mode HA.
Jumlah core CPU dan memori yang tersedia umumnya membatasi performa backend penyimpanan PostgreSQL. Sebaiknya cadangkan penyimpanan PostgreSQL dengan penyimpanan latensi rendah dan throughput tinggi, seperti solid-state drive (SSD).
Jumlah pengumpul | Core CPU | Memori |
---|---|---|
1-60.000 | 4 | 16 GB |
60.001-125.000 | 8 | 32 GB |
125.001-250.000 | 16 | 64 GB |
Untuk mempelajari lebih lanjut, lihat referensi berikut:
Menerapkan autentikasi yang tepat
BindPlane mendukung autentikasi dengan protokol dan layanan berikut; pastikan protokol dan layanan tersebut diterapkan dengan benar:
- LDAP Azure Entra. Untuk mempelajari lebih lanjut, lihat Azure LDAP dan Mengubah Jenis Autentikasi Bindplane.
- LDAP.
- OpenID Connect (OIDC).
- Lokal.
- SAML.
- TLS Postgres. Untuk mempelajari lebih lanjut, lihat TLS Postgres.
- Kubernetes. Untuk mempelajari lebih lanjut, lihat Workload Identity GKE.
Menggunakan server BindPlane
Sebagian besar pelanggan Google SecOps menggunakan server Bindplane, tetapi penggunaannya bersifat opsional. Jika Anda menginstal server BindPlane, Anda memerlukan akses ke storage.googleapis.com
. Jika Anda hanya menginstal pengumpul, akses ini tidak diperlukan.
Untuk melihat demo yang menunjukkan cara mengonfigurasi server Bindplane untuk menstandardisasi log dan mengekspornya ke Google SecOps, buka [halaman ini)[https://bindplane.com/use-case-demo), lalu pilih Konfigurasi Google SecOps.
Menggunakan server Bindplane Cloud
Bindplane Cloud tersedia untuk pelanggan Google.
Untuk masalah terkait Server Bindplane Cloud, hubungi dukungan Bindplane. Untuk masalah terkait Bindplane Server lokal, hubungi dukungan SecOps Google.
Menggunakan server Bindplane di Google Cloud
Untuk mengetahui informasi tentang cara menjalankan server Bindplane di Google Cloud, lihat Bindplane Enterprise Edition.
Menggunakan server lokal BindPlane
Penggunaan server Bindplane on-premise diatur oleh Google Cloud Persyaratan Layanan yang ada.
Menginstal server lokal di Linux
Anda dapat menginstal server Bindplane on-premise di Linux dengan menjalankan skrip (direkomendasikan) atau mendownload file biner dan menginstal secara manual. Untuk mempelajari lebih lanjut, lihat Menginstal BindPlane Server.
Untuk menginstal server Bindplane on-premise di Linux dengan skrip, lakukan hal berikut:
Jalankan skrip ini:
curl -fsSlL https://storage.googleapis.com/bindplane-op-releases/bindplane/latest/install-linux.sh -o install-linux.sh && bash install-linux.sh --init && rm install-linux.sh
Ikuti petunjuk yang memandu Anda melalui inisialisasi server.
Untuk menginstal server Bindplane on-premise di Linux dengan file biner, lakukan langkah berikut:
Download salah satu file berikut:
Perbarui file konfigurasi menggunakan petunjuk di Mengonfigurasi BindPlane Server.
Distribusi Linux yang didukung:
- Red Hat, Centos, Oracle Linux 7, 8, 9
- Debian 11 dan 12
- Ubuntu LTS 20.04 dan 22.04
- SUSE Linux 12 dan 15
- Alma dan Rocky Linux
Untuk mempelajari lebih lanjut, lihat referensi berikut:
Deployment lokal Docker
Untuk mempelajari lebih lanjut, lihat Menginstal BindPlane Server.
Anda dapat menemukan image container Docker Bindplane di lokasi berikut:
- Paket GitHub:
ghcr.io/observiq/Bindplane-ee
- Repositori artefak Google:
us-central1-docker.pkg.dev/observiq-containers/bindplane/bindplane-ee
- Docker Hub:
observiq/bindplane-ee
Image container diberi tag dengan versi rilis: misalnya, Rilis v1.35.0 akan memiliki tag observiq/bindplane-ee:1.35.0
.
Menginstal pengumpul Bindplane
Bagian ini menjelaskan cara menginstal pengumpul Bindplane untuk Google SecOps di berbagai sistem.
Pengumpul biasanya menggunakan resource minimal. Namun, saat menangani volume log yang besar, perhatikan konsumsi resource untuk menghindari dampak pada layanan lain. Untuk mengetahui informasi selengkapnya, lihat Persyaratan dan rekomendasi teknis, Merencanakan penginstalan dan deployment, serta Penentuan Ukuran dan Penskalaan Agen.
Untuk mempelajari cara menginstal pengumpul (yaitu, agen OTel), lihat Bindplane OTel Collector.
Anda juga dapat melihat dokumentasi GitHub bindplane-otel-collector.
Untuk menginstal pengumpul data, Anda memerlukan hal berikut:
File autentikasi penyerapan Google SecOps
Untuk mendownload file autentikasi, ikuti langkah-langkah berikut:
- Buka konsol Google SecOps.
- Buka SIEM Settings > Collection Agent.
- Download file autentikasi penyerapan Google SecOps.
ID pelanggan Google SecOps
Untuk menemukan ID pelanggan, ikuti langkah-langkah berikut:
- Buka konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin ID pelanggan dari bagian Detail Organisasi.
Windows 2012 SP2 atau yang lebih baru atau host Linux dengan systemd
Konektivitas internet
Akses GitHub
Alat deployment
Bagian ini menjelaskan alat deployment untuk BindPlane.
GitOps
Deploy resource Bindplane menggunakan model GitOps, yang mencakup hal berikut:
- Autentikasi Bindplane
- CLI Bindplane
- Akses jaringan
- Integrasi dengan repositori GitHub dan GitHub Actions
- Mengekspor resource yang ada
- Mengelola nilai sensitif
- Membuat alur kerja GitHub Action
- Petunjuk langkah demi langkah untuk melakukan dan menguji konfigurasi, mengaktifkan peluncuran otomatis, dan memperbarui resource menggunakan pengeditan langsung atau metode ekspor UI
- Memperbarui nilai sensitif dan menggunakan RBAC
Untuk mempelajari lebih lanjut, lihat GitOps.
Ansible
Untuk mempelajari cara men-deploy BindPlane dengan Ansible, lihat bindplane-agent-ansible.
CLI Bindplane
Untuk mempelajari Bindplane CLI, lihat GitOps.
Terraform
Untuk mempelajari cara menggunakan Terraform guna mengonfigurasi resource Bindplane, lihat Bindplane Provider.
Kubernetes
Untuk mempelajari Kubernetes dengan Bindplane, lihat artikel berikut:
Menginstal pengumpul Bindplane di Windows
Untuk menginstal pengumpul Bindplane di Windows, jalankan perintah PowerShell berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Atau, untuk menginstal menggunakan wizard penginstalan, download penginstal terbaru untuk Windows. Setelah Anda mendownload penginstal, buka wizard penginstalan dan ikuti petunjuk untuk mengonfigurasi dan menginstal pengumpul Bindplane.
Untuk mempelajari lebih lanjut cara menginstal pengumpul BindPlane di Windows, lihat Penginstalan Windows.
Menginstal pengumpul Bindplane di Linux
Anda dapat menginstal pengumpul di Linux menggunakan skrip yang secara otomatis menentukan paket yang akan diinstal. Anda juga dapat menggunakan skrip yang sama untuk memperbarui penginstalan yang ada.
Untuk menginstal menggunakan skrip penginstalan, jalankan skrip berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Penginstalan dari paket lokal
Untuk menginstal pengumpul dari paket lokal, gunakan -f
dengan jalur ke paket.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh -f path_to_package
Penginstalan RPM
Download paket RPM untuk arsitektur Anda dari halaman rilis dan instal paket menggunakan rpm
. Lihat contoh berikut untuk menginstal
paket amd64
:
sudo rpm -U ./observiq-otel-collector_v${VERSION}_linux_amd64.rpm sudo systemctl enable --now observiq-otel-collector
Ganti VERSION
dengan versi paket yang Anda download.
Penginstalan DEB
Download paket DEB untuk arsitektur Anda dari halaman rilis dan instal paket menggunakan dpkg
. Lihat contoh berikut untuk menginstal paket
amd64
:
sudo dpkg -i --force-overwrite ./observiq-otel-collector_v${VERSION}_linux_amd64.deb sudo systemctl enable --now observiq-otel-collector
Ganti VERSION
dengan versi paket yang Anda download.
Mengonfigurasi pengumpul BindPlane
Setelah menginstal pengumpul, layanan observiq-otel-collector
akan berjalan dan siap dikonfigurasi.
Anda dapat mengonfigurasi pengumpul secara manual atau menggunakan server Bindplane.
Jika mengonfigurasi pengumpul secara manual, Anda perlu memperbarui parameter pengekspor untuk memastikan pengumpul diautentikasi dengan Google SecOps.
File konfigurasi pengumpul OTel
Di Linux, file konfigurasi pengumpul dapat ditemukan di /opt/observiq-otel-collector/config.yaml
.
Layanan dan log pengumpul OTel
Pengumpul mencatat ke C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log
secara default.
Log error standar untuk proses pengumpul dapat ditemukan di C:\Program Files\observIQ OpenTelemetry Collector\log\observiq_collector.err
.
Di Linux, untuk melihat log dari pengumpul, jalankan sudo tail -F /opt/observiq-otel-collector/log/collector.log
.
Perintah layanan pengumpul OTel Linux umum:
Untuk menghentikan layanan pengumpul OTel, jalankan
sudo systemctl stop observiq-otel-collector
.Untuk memulai layanan pengumpul OTel, jalankan
sudo systemctl start observiq-otel-collector
.Untuk memulai ulang layanan pengumpul OTel, jalankan
sudo systemctl restart observiq-otel-collector
.Untuk mengaktifkan layanan pengumpul OTel saat startup, jalankan
sudo systemctl enable observiq-otel-collector
.
Mulai ulang layanan pengumpul untuk perubahan konfigurasi
Saat mengubah konfigurasi, Anda harus memulai ulang layanan pengumpul agar perubahan konfigurasi diterapkan (sudo systemctl restart observiq-otel-collector
).
Menggunakan file konfigurasi contoh default
Secara default, file konfigurasi pengumpul berada di
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
.
Untuk mendownload contoh file konfigurasi dan token autentikasi yang digunakan oleh pengumpul:
- Buka konsol Google SecOps, lalu buka SIEM Settings > Collection Agent.
Sesuaikan dua bagian berikut dalam file konfigurasi:
- Penerima: menentukan log mana yang harus dikumpulkan dan dikirim oleh pengumpul ke Google SecOps.
- Exporter: menentukan tujuan tempat pengumpul mengirim log.
Eksporter berikut didukung:
- Pengekspor Google SecOps: mengirim log langsung ke Google SecOps Ingestion API.
- Pengekspor penerusan Google SecOps: mengirim log ke penerus Google SecOps.
- Pengekspor Cloud Logging: mengirim log ke (Cloud Logging).
Di pengekspor, sesuaikan hal berikut:
customer_id
: ID pelanggan Google SecOps Anda.endpoint
: Endpoint regional Google SecOps Anda.creds
: Token autentikasi Anda.Atau, Anda dapat menggunakan
creds_file_path
untuk mereferensikan file kredensial secara langsung. Untuk konfigurasi Windows, hapus jalur dengan garis miring terbalik.log_type
: Jenis log. Sebaiknya pilih WINDOWS_DNS sebagai Log Type.ingestion_labels
: Label penyerapan. Label ini mengidentifikasi log di Google SecOps.namespace
: Namespace opsional.Setiap jenis log mengharuskan Anda mengonfigurasi eksportir.
Contoh konfigurasi pengumpulan log
Bagian berikut berisi contoh konfigurasi untuk pengumpulan log.
Mengirim peristiwa Windows dan sysmon langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
-
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
windowseventlog/sysmon:
channel: Microsoft-Windows-Sysmon/Operational
raw: true
windowseventlog/security:
channel: security
raw: true
windowseventlog/application:
channel: application
raw: true
windowseventlog/system:
channel: system
raw: true
processors:
batch:
exporters:
chronicle/sysmon:
endpoint: malachiteingestion-pa.googleapis.com
creds: '{
"type": "service_account",
"project_id": "malachite-projectname",
"private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
"private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
"client_email": "account@malachite-projectname.iam.gserviceaccount.com",
"client_id": "123456789123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40malachite-projectname.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}'
log_type: 'WINDOWS_SYSMON'
override_log_type: false
raw_log_field: body
customer_id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
chronicle/winevtlog:
endpoint: malachiteingestion-pa.googleapis.com
creds: '{
"type": "service_account",
"project_id": "malachite-projectname",
"private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
"private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
"client_email": "account@malachite-projectname.iam.gserviceaccount.com",
"client_id": "123456789123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40malachite-projectname.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}'
log_type: 'WINEVTLOG'
override_log_type: false
raw_log_field: body
customer_id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
service:
pipelines:
logs/sysmon:
receivers: [windowseventlog/sysmon]
processors: [batch]
exporters: [chronicle/sysmon]
logs/winevtlog:
receivers:
- windowseventlog/security
- windowseventlog/application
- windowseventlog/system
processors: [batch]
exporters: [chronicle/winevtlog]
Mengirim peristiwa Windows dan syslog langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
windowseventlogreceiver
tcplogreceiver
listen_address
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
tcplog:
listen_address: "0.0.0.0:54525"
windowseventlog/source0__application:
attributes:
log_type: windows_event.application
channel: application
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__security:
attributes:
log_type: windows_event.security
channel: security
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__system:
attributes:
log_type: windows_event.system
channel: system
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
exporters:
chronicle/chronicle_w_labels:
compression: gzip
creds: '{ json blob for creds }'
customer_id: <customer_id>
endpoint: malachiteingestion-pa.googleapis.com
ingestion_labels:
env: dev
log_type: <applicable_log_type>
namespace: testNamespace
raw_log_field: body
service:
pipelines:
logs/source0__chronicle_w_labels-0:
receivers:
- windowseventlog/source0__system
- windowseventlog/source0__application
- windowseventlog/source0__security
exporters:
- chronicle/chronicle_w_labels
logs/source1__chronicle_w_labels-0:
receivers:
- tcplog
exporters:
- chronicle/chronicle_w_labels
Mengirim peristiwa Windows dan syslog ke penerusan Google SecOps
Konfigurasi parameter ini dalam contoh:
windowseventlogreceiver
tcplogreceiver
listen_address
chronicleforwarder
endpoint
Contoh konfigurasi:
receivers:
tcplog:
listen_address: "0.0.0.0:54525"
windowseventlog/source0__application:
attributes:
log_type: windows_event.application
channel: application
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__security:
attributes:
log_type: windows_event.security
channel: security
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__system:
attributes:
log_type: windows_event.system
channel: system
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
exporters:
chronicleforwarder/forwarder:
export_type: syslog
raw_log_field: body
syslog:
endpoint: 127.0.0.1:10514
transport: udp
service:
pipelines:
logs/source0__forwarder-0:
receivers:
- windowseventlog/source0__system
- windowseventlog/source0__application
- windowseventlog/source0__security
exporters:
- chronicleforwarder/forwarder
logs/source1__forwarder-0:
receivers:
- tcplog
exporters:
- chronicleforwarder/forwarder
Mengirim syslog langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
tcplogreceiver
listen_address
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
Creds
Contoh konfigurasi:
receivers:
tcplog:
listen_address: "0.0.0.0:54525"
exporters:
chronicle/chronicle_w_labels:
compression: gzip
creds: '{ json blob for creds }'
customer_id: <customer_id>
endpoint: malachiteingestion-pa.googleapis.com
ingestion_labels:
env: dev
log_type: <applicable_log_type>
namespace: testNamespace
raw_log_field: body
service:
pipelines:
logs/source0__chronicle_w_labels-0:
receivers:
- tcplog
exporters:
- chronicle/chronicle_w_labels
Mengumpulkan peristiwa Windows dari jarak jauh dan mengirimkannya langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
windowseventlogreceiver
username
password
server
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
windowseventlog/system:
channel: system
max_reads: 100
start_at: end
poll_interval: 10s
raw: true
remote:
username: "username"
password: "password"
server: "remote-server"
windowseventlog/application:
channel: application
max_reads: 100
start_at: end
poll_interval: 10s
raw: true
remote:
username: "username"
password: "password"
server: "server-ip"
windowseventlog/security:
channel: security
max_reads: 100
start_at: end
poll_interval: 10s
raw: true
remote:
username: "username"
password: "password"
server: "server-ip"
exporters:
chronicle/chronicle_w_labels:
compression: gzip
creds: '{ json blob for creds }'
customer_id: <customer_id>
endpoint: malachiteingestion-pa.googleapis.com
ingestion_labels:
env: dev
log_type: WINEVTLOG
namespace: testNamespace
raw_log_field: body
service:
pipelines:
logs/source0__chronicle_w_labels-0:
receivers:
- windowseventlog/system
- windowseventlog/application
- windowseventlog/security
exporters:
- chronicle/chronicle_w_labels
Mengirim data ke Cloud Logging
Konfigurasi parameter credentials_file
dalam contoh.
Contoh konfigurasi:
exporters:
googlecloud:
credentials_file: /opt/observiq-otel-collector/credentials.json
Mengkueri database SQL dan mengirim hasilnya ke Google SecOps
Konfigurasi parameter ini dalam contoh:
sqlqueryreceiver
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
sqlquery/source0:
datasource: host=localhost port=5432 user=postgres password=s3cr3t sslmode=disable
driver: postgres
queries:
- logs:
- body_column: log_body
sql: select * from my_logs where log_id > $$1
tracking_column: log_id
tracking_start_value: "10000"
processors:
transform/source0_processor0__logs:
error_mode: ignore
log_statements:
- context: log
statements:
- set(attributes["chronicle_log_type"], "POSTGRESQL") where true
exporters:
chronicle/chronicle_sql:
compression: gzip
creds: '{
"type": "service_account",
"project_id": "malachite-projectname",
"private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
"private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
"client_email": "account@malachite-projectname.iam.gserviceaccount.com",
"client_id": "123456789123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40malachite-projectname.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}'
customer_id: customer_id
endpoint: malachiteingestion-pa.googleapis.com
log_type: POSTGRESQL
namespace: null
raw_log_field: body
retry_on_failure:
enabled: false
sending_queue:
enabled: false
service:
pipelines:
logs/source0_chronicle_sql-0:
receivers:
- sqlquery/source0
processors:
- transform/source0_processor0__logs
exporters:
- chronicle/chronicle_sql
Menghapus log yang cocok dengan ekspresi reguler
Anda dapat mengonfigurasi pengumpul untuk menghapus log yang cocok dengan ekspresi reguler. Hal ini berguna untuk memfilter log yang tidak diinginkan, seperti error yang diketahui atau pesan proses debug.
Untuk menghapus log yang cocok dengan ekspresi reguler, tambahkan pemroses jenis filter/drop-matching-logs-to-Chronicle
ke konfigurasi Anda. Prosesor ini menggunakan fungsi IsMatch
untuk mengevaluasi isi log terhadap ekspresi reguler. Jika fungsi menampilkan true
, log akan dihapus.
Contoh konfigurasi berikut akan menghapus log yang berisi string <EventID>10</EventID>
atau <EventID>4799</EventID>
di isi log.
Anda dapat menyesuaikan ekspresi reguler agar sesuai dengan pola yang Anda butuhkan. Fungsi IsMatch
menggunakan sintaksis ekspresi reguler RE2.
Contoh konfigurasi:
processors:
filter/drop-matching-logs-to-Chronicle:
error_mode: ignore
logs:
log_record:
- (IsMatch(body, "<EventID>10</EventID>")) or (IsMatch(body, "<EventID>4799</EventID>"))
Contoh berikut menambahkan pemroses ke pipeline dalam konfigurasi yang sama:
service:
pipelines:
logs/winevtlog:
receivers:
- windowseventlog/security
- windowseventlog/application
- windowseventlog/system
processors:
- filter/drop-matching-logs-to-Chronicle # Add this line
- batch
exporters: [chronicle/winevtlog]
Pengoperasian dan pemeliharaan BindPlane
Bagian ini menjelaskan tindakan operasi dan pemeliharaan rutin.
Memverifikasi konfigurasi OTel
Untuk mempelajari cara memverifikasi konfigurasi OTel BindPlane, lihat OTelBin.
Info rilis pengumpul
BindPlane dapat melakukan polling bindplane-otel-collector/releases untuk mendeteksi rilis kolektor baru. Fitur ini bersifat opsional.
Anda dapat menonaktifkan polling GitHub dengan menyetel agentVersions.syncInterval
ke 0
dalam konfigurasi Bindplane Anda:
agentVersions:
syncInterval: 0
Pencadangan dan pemulihan dari bencana (disaster recovery)
Untuk mempelajari pencadangan dan pemulihan dari bencana dengan BindPlane, lihat resource BindPlane.
Pencadangan dan pemulihan dari bencana (disaster recovery) PostgreSQL
Untuk mempelajari pencadangan dan pemulihan dari bencana PostgreSQL dengan Bindplane, lihat dokumentasi PostgreSQL.
Pencadangan dan pemulihan dari bencana BBolt
Untuk mempelajari pencadangan dan pemulihan dari bencana BBolt (tidak digunakan lagi) dengan Bindplane, lihat dokumentasi BBolt Store.
Ketahanan dan coba lagi
Coba lagi diaktifkan secara default di semua tujuan yang mendukungnya. Secara default, permintaan yang gagal akan dicoba lagi setelah lima detik dan mundur secara progresif hingga 30 detik. Setelah lima menit, permintaan akan dibatalkan secara permanen.
Untuk mempelajari lebih lanjut, lihat Ketahanan Pengumpul.
Mengurangi volume log dengan filter tingkat keparahan
Untuk mempelajari cara mengurangi volume log, lihat Mengurangi Volume Log dengan Filter Tingkat Keparahan.
Integrasi Bindplane dengan pengumpul pihak ketiga
Meskipun Bindplane lebih efektif saat Anda menggunakan pengumpul Bindplane untuk pengumpulan di edge, dalam sebagian besar kasus, Bindplane dapat tetap berada dalam infrastruktur yang ada. Misalnya, jika Anda sudah menggunakan Fluent Bit atau Splunk Universal Forwarder, Anda dapat terus melakukannya.
Integrasi Bindplane dengan Splunk
Untuk mempelajari Splunk dengan BindPlane, lihat artikel berikut:
Integrasi Bindplane dengan pengumpul data pihak ketiga lainnya
Untuk mempelajari integrasi Bindplane dengan pengumpul pihak ketiga, lihat Menghubungkan Pengumpul OpenTelemetry Lainnya Menggunakan Ekstensi OpAMP.
Pemantauan Host Senyap
Pemantauan Host Senyap Google Security Operations memungkinkan Anda membuat pemberitahuan untuk perubahan kecepatan penyerapan menggunakan Google Cloud Monitoring. Fitur ini menghasilkan pemberitahuan per pengumpul dan memberi tahu Anda saat kecepatan penyerapan turun di bawah nilai minimum yang ditentukan, yang menandakan potensi pengumpul berhenti.
Untuk mengetahui informasi tentang penggunaan BindPlane untuk pemantauan host senyap, lihat artikel berikut:
- Pemantauan Host Senyap Google SecOps
- Mengonfigurasi BindPlane untuk pemantauan host senyap dengan Google Cloud Monitoring
Mengupgrade Bindplane di Linux
Menjalankan perintah penginstalan tanpa flag --init
di akhir sudah cukup untuk mengupgrade Bindplane. Jalankan skrip ini di server Bindplane Anda untuk mengupgrade Bindplane. Untuk mempelajari lebih lanjut, lihat Mengupgrade, Mendowngrade, atau Meng-uninstal Bindplane Server.
Memantau BindPlane
Untuk mempelajari cara memantau Bindplane, lihat Memantau Bindplane.
Memantau Kubernetes di BindPlane
Untuk mempelajari cara memantau Kubernetes di Bindplane, lihat Pemantauan Kubernetes.
Dokumentasi tambahan
Untuk mempelajari Bindplane (sebelumnya dikenal sebagai observIQ) lebih lanjut, lihat artikel berikut:
- Observabilitas dan Keamanan Terbaik di Industri yang Didukung oleh OpenTelemetry
- Menggunakan Google SecOps dengan Praktik Terbaik Bindplane
- Solusi Bindplane
- Mulai Menggunakan Bindplane
- Jenis log yang didukung untuk Google Cloud
- Filter menurut Pemroses Kondisi
- Sumber yang Tersedia untuk Bindplane
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.