API Forwarder Management
Anda dapat menggunakan Chronicle Forwarder Management API untuk melakukan hal berikut secara terprogram:
- Membuat dan mengelola penerusan.
- Membuat dan mengelola kolektor.
- Mendapatkan konten file untuk konfigurasi penerus Chronicle.(
.conf
) dan autentikasi (_auth.conf
).
Forwarder terdiri dari satu atau beberapa kolektor. Setiap konfigurasi kolektor menentukan mekanisme penyerapan (misalnya, File, Kafka, PCAP, Splunk, atau Syslog) dan jenis log.
Dengan asumsi persyaratan hardware terpenuhi, Anda dapat menggunakan banyak kolektor pada forwarder yang sama untuk menyerap data dari berbagai mekanisme dan jenis log. Misalnya, Anda dapat menginstal forwarder dengan dua kolektor syslog yang memproses data PAN_FIREWALL dan CISCO_ASA_FIREWALL di port terpisah.
API ini memungkinkan Anda membuat penerusan dan kolektornya di instance Chronicle. Setelah penerusan dibuat, Anda dapat menggunakan endpoint Generate Forwarder Files untuk mendapatkan konten file (sebagai payload JSON) bagi file konfigurasi penerus (.conf
) dan autentikasi (_auth.conf
). Konten ini kemudian dapat ditulis ke file .conf
masing-masing untuk di-deploy dengan layanan Chronicle
Forwarder di sistem Windows atau Linux.
Untuk contoh Python yang menggunakan Forwarder Management API, lihat repositori GitHub.
Membuat forwarder dan kolektornya
Forwarder harus dibuat sebelum kolektornya dapat dibuat.
Untuk membuat forwarder dan kolektornya:
- Buat forwarder.
- Buat kolektor untuk forwarder.
- (Opsional) Ulangi Langkah 2 untuk menambahkan lebih banyak kolektor.
Cara mengautentikasi dengan Chronicle API
Chronicle API ini menggunakan protokol OAuth 2.0 untuk autentikasi dan otorisasi. Aplikasi Anda dapat menyelesaikan tugas ini menggunakan salah satu implementasi berikut:
Menggunakan Library Klien Google API untuk bahasa komputer Anda.
Terhubung langsung dengan sistem OAuth 2.0 menggunakan HTTP.
Lihat dokumentasi referensi untuk library Autentikasi Google di Python.
Library Google Authentication adalah subset library klien Google API. Lihat penerapan bahasa lainnya.
Mendapatkan kredensial autentikasi API
Perwakilan Chronicle akan memberi Anda Kredensial Akun Layanan Google Developer agar klien API dapat berkomunikasi dengan API.
Anda juga harus menyediakan Cakupan Auth saat melakukan inisialisasi klien API. OAuth 2.0 menggunakan cakupan untuk membatasi akses aplikasi ke akun. Saat aplikasi meminta cakupan, token akses yang dikeluarkan untuk aplikasi dibatasi pada cakupan yang diberikan.
Gunakan cakupan berikut untuk menginisialisasi klien Google API Anda:
https://www.googleapis.com/auth/chronicle-backstory
Contoh Python
Contoh Python berikut menunjukkan cara menggunakan kredensial OAuth2
dan klien HTTP menggunakan google.oauth2
dan googleapiclient
.
# Imports required for the sample - Google Auth and API Client Library Imports.
# Get these packages from https://pypi.org/project/google-api-python-client/ or run $ pip
# install google-api-python-client from your terminal
from google.oauth2 import service_account
from googleapiclient import _auth
SCOPES = ['https://www.googleapis.com/auth/chronicle-backstory']
# The apikeys-demo.json file contains the customer's OAuth 2 credentials.
# SERVICE_ACCOUNT_FILE is the full path to the apikeys-demo.json file
# ToDo: Replace this with the full path to your OAuth2 credentials
SERVICE_ACCOUNT_FILE = '/customer-keys/apikeys-demo.json'
# Create a credential using Google Developer Service Account Credential and Chronicle API
# Scope.
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
# Build an HTTP client to make authorized OAuth requests.
http_client = _auth.authorized_http(credentials)
# <your code continues here>
Batas kueri Chronicle API
Chronicle API menerapkan batasan volume permintaan yang dapat dibuat oleh satu pelanggan di platform Chronicle. Jika Anda mencapai atau melampaui batas kueri, server Chronicle API akan menampilkan HTTP 429 (RESOURCE_EXHAUSTED) ke pemanggil. Saat mengembangkan aplikasi untuk Chronicle API, Chronicle menyarankan Anda menerapkan batas kapasitas dalam sistem untuk menghindari kehabisan resource. Batas ini berlaku untuk semua Chronicle API, termasuk Search, Forwarder Management, dan Tooling API.
Batas berikut untuk Chronicle Forwarder Management API sedang diterapkan dan diukur dalam kueri per detik (QPS):
Chronicle API | Endpoint API | Batas |
Manajemen Forwarder | Buat Forwarder | 1 QPS |
Get Forwarder | 1 QPS | |
Mencantumkan Penerusan | 1 QPS | |
Mengupdate Forwarder | 1 QPS | |
Hapus Penerusan | 1 QPS | |
Pengelolaan Kolektor | Buat Kolektor | 1 QPS |
Dapatkan Kolektor | 1 QPS | |
Membuat Daftar Kolektor | 1 QPS | |
Perbarui Kolektor | 1 QPS | |
Hapus Kolektor | 1 QPS |
Referensi Forwarder API
Bagian ini menjelaskan endpoint untuk membuat dan mengelola forwarder. Untuk endpoint dalam membuat dan mengelola kolektor, lihat Referensi Collector API.
Buat Forwarder
Membuat penerusan baru di instance Chronicle. Forwarder baru akan menyertakan nilai konfigurasi forwarder yang disediakan dalam isi permintaan. Nilai konfigurasi untuk kolektor harus ditentukan menggunakan Buat Kolektor setelah menggunakan Buat Penerusan.
Untuk setelan tertentu, nilai konfigurasi yang tidak ada atau bernilai nol dalam isi permintaan akan ditetapkan ke nilai default. Untuk mengetahui detail tentang kolom dan nilai penerusan, lihat Kolom konfigurasi penerusan.
Permintaan
POST https://backstory.googleapis.com/v2/forwarders
Isi permintaan
{
"display_name": string,
"config": {
object (ForwarderConfig)
}
}
Parameter isi
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
display_name | string | Diperlukan | Nama penerusan. Nama ini ditampilkan di antarmuka Chronicle. |
config | objek | Opsional | Setelan konfigurasi untuk penerusan ini. Lihat Kolom konfigurasi penerusan. |
Contoh permintaan
Contoh ini menampilkan key-value pair yang diperlukan dalam permintaan Create Forwarder. Jika kolom tidak ditentukan dalam permintaan dan memiliki nilai default, nilai default tersebut akan diterapkan selama pembuatan penerusan. Untuk mengetahui detail tentang nilai default, lihat Kolom konfigurasi penerusan.
POST https://backstory.googleapis.com/v2/forwarders
{
"display_name": "chronicle_forwarder"
}
Respons
Jika permintaan berhasil, respons akan menampilkan kode status HTTP 200 (OK).
Respons menunjukkan nilai konfigurasi yang diterapkan selama pembuatan forwarder. Nilai konfigurasi default diterapkan untuk setelan tertentu selama pembuatan resource jika kolom tersebut tidak ada atau bernilai nol dalam isi permintaan. Untuk mengetahui detailnya, lihat Kolom konfigurasi penerusan.
Kolom respons
Selain kolom yang ditentukan dalam permintaan dan kolom tempat nilai default diterapkan, respons mencakup kolom yang dihasilkan dan hanya output berikut.
Kolom | Jenis | Deskripsi |
---|---|---|
name | string | ID resource penerus. Formatnya adalah
"forwarders/forwarderID". Misalnya: forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56 |
state | enumerasi | Menentukan status forwarder saat ini. Nilai yang valid adalah:
Nilai defaultnya adalah ACTIVE. |
Contoh respons
Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
"displayName": "chronicle_forwarder",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
"drainTimeout": 10,
"httpSettings": {
"port": "8080",
"host": "0.0.0.0",
"readTimeout": "3",
"readHeaderTimeout": "3",
"writeTimeout": "3",
"idleTimeout": "3"
"routeSettings": {
"availableStatusCode": "204",
"readyStatusCode": "204",
"unreadyStatusCode": "503"
},
},
},
},
"state": "ACTIVE"
}
Get Forwarder
Menampilkan forwarder.
Permintaan
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}
Isi permintaan
Jangan sertakan isi permintaan.
Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
Contoh respons
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
"displayName": "chronicle_forwarder",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
"drainTimeout": 10,
"httpSettings": {
"port": "8080",
"host": "0.0.0.0",
"readTimeout": "3",
"readHeaderTimeout": "3",
"writeTimeout": "3",
"idleTimeout": "3"
"routeSettings": {
"availableStatusCode": "204",
"readyStatusCode": "204",
"unreadyStatusCode": "503"
},
},
},
},
"state": "ACTIVE"
}
Mencantumkan Penerusan
Mencantumkan semua penerusan untuk instance Chronicle.
Permintaan
GET https://backstory.googleapis.com/v2/forwarders
Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders
Respons
Menampilkan daftar penerusan.
Contoh respons
{
"forwarders": [
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
"displayName": "chronicle_forwarder_1",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
...
},
},
"state": "ACTIVE"
},
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde57",
"displayName": "chronicle_forwarder_2",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
...
},
},
"state": "ACTIVE"
}
]
}
Mengupdate Forwarder
Anda dapat memperbarui penerusan dengan menggunakan parameter kueri URL updateMask
untuk menentukan kolom yang akan diperbarui.
Misalnya, untuk mengupdate nama tampilan, Anda akan menggunakan parameter kueri updateMask
seperti berikut dalam permintaan patch:
?updateMask=displayName
Isi permintaan hanya boleh berisi kolom yang ingin Anda perbarui (di lokasi persisnya).
Permintaan
PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}?updateMask=<field_1,field_2>
Isi permintaan
{
"display_name": string,
"config": {
object (ForwarderConfig)
},
}
Parameter isi
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
display_name | string | Diperlukan | Nama penerusan. Nama ini ditampilkan di antarmuka Chronicle. |
config | objek | Opsional | Setelan konfigurasi untuk penerusan ini. Lihat Kolom konfigurasi penerusan. |
Contoh permintaan
Ini adalah contoh permintaan Forwarder Update yang menentukan nilai baru untuk displayName
dan menambahkan label Metadata.
PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56?updateMask=displayName,config.metadata.labels
{
"display_name": "UpdatedForwarder",
"config": {
"metadata": {
"labels": [
{
"key": "office",
"value": "corporate",
}
]
}
}
}
Contoh respons
Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.
{
"name": "forwarders/{forwarderUUID}",
"displayName": "UpdatedForwarder",
"config": {
"uploadCompression": "false",
"metadata": {
"labels": [
{
"key": "office",
"value": "corporate"
}
]
}
},
"state": "ACTIVE"
}
Hapus Penerusan
Menghapus forwarder.
Permintaan
DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}
Isi permintaan
Jangan sertakan isi permintaan.
Contoh permintaan
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
Contoh respons
Jika operasi berhasil, Delete Forwarder akan menampilkan respons kosong dengan kode status HTTP 200 (OK).
{}
Membuat File Forwarder
Menghasilkan dan menampilkan konten file konfigurasi penerus (.conf
) dan autentikasi (_auth.conf
).
Permintaan
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}:generateForwarderFiles
Isi permintaan
Jangan sertakan isi permintaan.
Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56:generateForwarderFiles
Contoh respons
Jika operasi berhasil, operasi akan menampilkan kode status HTTP 200 (Oke). ID ini juga menampilkan konten file konfigurasi penerusan, termasuk data konfigurasi untuk kolektor penerus, serta isi file autentikasi (_auth.conf
) yang digunakan oleh penerus untuk melakukan autentikasi dengan instance Chronicle.
Kolom konfigurasi Forwarder
Tabel berikut mencantumkan setelan konfigurasi penerus yang dapat Anda tentukan menggunakan Create Forwarder dan Update Forwarder. Jika Anda tidak menentukan nilai untuk setelan saat menggunakan Buat Penerusan, nilai default setelan (ditunjukkan di bawah) akan diterapkan.
Kolom berikut dapat diberikan dalam objek config
dari isi
permintaan.
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
upload_compression | bool | Opsional | Jika true , batch data dikompresi sebelum diupload.Nilai defaultnya adalah false . |
metadata.asset_namespace | string | Opsional | Namespace untuk mengidentifikasi log dari penerusan ini. Catatan: Ini adalah setelan global yang berlaku untuk kolektor forwarder dan forwarder, kecuali jika diganti di tingkat kolektor. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi namespace. |
metadata.labels | list | Opsional | Daftar key:value pair arbitrer yang dapat ditentukan dalam
konfigurasi penerusan. Catatan: Ini adalah setelan global yang berlaku untuk kolektor forwarder dan forwarder, kecuali jika diganti di tingkat kolektor. |
metadata.labels.key | string | Opsional | Kunci untuk kolom dalam daftar label metadata. |
metadata.labels.value | string | Opsional | Nilai untuk kolom dalam daftar label metadata. |
regex_filters.description | string | Opsional | Menjelaskan apa yang difilter dan alasannya. |
regex_filters.regexp | string | Opsional | Ekspresi reguler yang digunakan untuk mencocokkan dengan setiap baris yang masuk. |
regex_filters.behavior | enumerasi | Opsional | Menentukan status fungsi server. Nilai yang valid adalah:
|
server_settings | objek | Opsional | Setelan yang mengonfigurasi server HTTP bawaan forwarder, yang dapat digunakan untuk mengonfigurasi opsi load balancing dan ketersediaan tinggi untuk pengumpulan syslog di Linux. |
server_settings.state | enumerasi | Opsional | Menentukan status fungsi server. Nilai yang valid adalah:
|
server_settings.graceful_timeout | bilangan bulat | Opsional | Jumlah detik saat forwarder menampilkan kesiapan/health check yang buruk dan masih menerima koneksi baru. Ini juga merupakan waktu untuk menunggu antara menerima sinyal untuk berhenti dan benar-benar memulai penonaktifan server itu sendiri. Hal ini memungkinkan waktu load balancing untuk menghapus forwarder dari kumpulan. Nilai defaultnya adalah 15 . |
server_settings.drain_timeout | bilangan bulat | Opsional | Jumlah detik saat penerus menunggu koneksi
aktif berhasil ditutup sendiri sebelum ditutup oleh
server. Nilai defaultnya adalah 10 . |
server_settings.http_settings.port | bilangan bulat | Opsional | Nomor port yang diproses server HTTP untuk health check
dari load balancer. Harus antara 1024-65535. Nilai defaultnya adalah 8080 . |
server_settings.http_settings.host | string | Opsional | Alamat IP, atau nama host yang dapat di-resolve menjadi alamat IP,
yang harus dipantau oleh server. Nilai defaultnya adalah 0.0.0.0 (sistem lokal). |
server_settings.http_settings.read_timeout | bilangan bulat | Opsional | Jumlah detik maksimum yang diizinkan untuk membaca seluruh permintaan, yang mencakup header dan isi. Nilai defaultnya adalah 3 . |
server_settings.http_settings.read_header_timeout | bilangan bulat | Opsional | Jumlah detik maksimum yang diizinkan untuk membaca header permintaan. Nilai defaultnya adalah 3 . |
server_settings.http_settings.write_timeout | bilangan bulat | Opsional | Jumlah detik maksimum yang diizinkan untuk mengirim respons. Nilai defaultnya adalah 3 . |
server_settings.http_settings.idle_timeout | bilangan bulat | Opsional | Jumlah detik maksimum untuk menunggu permintaan berikutnya saat koneksi tidak ada aktivitas diaktifkan. Nilai defaultnya adalah 3 . |
server_settings.http_settings.route_settings.available_status_code | bilangan bulat | Opsional | Kode status yang ditampilkan saat pemeriksaan keaktifan diterima dan
penerusan tersedia. Nilai defaultnya adalah 204 . |
server_settings.http_settings.route_settings.ready_status_code | bilangan bulat | Opsional | Kode status yang ditampilkan saat penerusan siap menerima traffic. Nilai defaultnya adalah 204 . |
server_settings.http_settings.route_settings.unready_status_code | bilangan bulat | Opsional | Kode status yang ditampilkan saat penerusan belum siap untuk menerima traffic. Nilai defaultnya adalah 503 . |
Referensi API kolektor
Bagian ini menjelaskan endpoint untuk bekerja dengan kolektor.
Saat membuat dan memperbarui kolektor, perhatikan bahwa setiap konfigurasi kolektor dapat menentukan setelan penyerapan untuk satu, tetapi tidak lebih dari satu, hal berikut:
- Data file log
- Topik Kafka
- Data paket (pcap)
- Data Splunk
- Data Syslog
Untuk endpoint guna bekerja dengan penerus, lihat Referensi API Forwarder.
Buat Kolektor
Membuat kolektor baru di akun Chronicle. Nilai konfigurasi untuk kolektor harus ditentukan menggunakan Create Collector setelah menggunakan Create Forwarder.
Untuk setelan tertentu, nilai konfigurasi yang tidak ada atau bernilai nol dalam isi permintaan akan ditetapkan ke nilai default. Untuk mengetahui detail tentang kolom dan nilai konfigurasi kolektor, lihat Kolom konfigurasi kolektor.
Permintaan
POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Isi permintaan
{
"display_name": string,
"config": {
object (CollectorConfig)
}
"state": enum
}
Parameter isi
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
display_name | string | Diperlukan | Nama kolektor. Nama ini ditampilkan di antarmuka Chronicle. |
config | objek | Diperlukan | Setelan konfigurasi untuk kolektor ini. Lihat Kolom konfigurasi kolektor. |
state | enumerasi | Opsional | Menentukan status kolektor saat ini. Nilai yang valid adalah:
|
Contoh permintaan
Contoh ini menunjukkan key-value pair yang diperlukan dalam permintaan Buat Kolektor. Untuk setiap kolom yang tidak disediakan, nilai default akan diterapkan selama pembuatan kolektor.
Dalam contoh ini, jenis kolektor adalah file
sehingga konfigurasi kolektor
menyertakan file_settings
untuk menunjukkan jenis kolektor dan setelannya. Jika
jenis kolektornya adalah syslog
, konfigurasi kolektor akan menyertakan
syslog_settings
. Untuk mengetahui informasi selengkapnya, lihat
Kolom konfigurasi kolektor.
POST https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
{
"display_name": "abc_collector",
"config" {
"log_type": "CS_EDR"
"file_settings": {
"file_path": "/opt/chronicle/edr/output/sample.txt",
}
}
}
Respons
Jika permintaan berhasil, respons akan menampilkan kode status HTTP 200 (OK).
Respons menunjukkan nilai konfigurasi yang diterapkan selama pembuatan kolektor. Nilai konfigurasi default diterapkan untuk setelan tertentu selama pembuatan resource jika kolom tersebut tidak ada atau bernilai nol dalam isi permintaan. Untuk mengetahui detailnya, lihat Kolom konfigurasi kolektor.
Kolom respons
Selain kolom yang ditentukan dalam permintaan dan kolom tempat nilai default diterapkan, respons menyertakan kolom berikut:
Kolom | Jenis | Deskripsi |
---|---|---|
name | string | ID resource kolektor. Formatnya adalah
"forwarders/{forwarderID}/collectors/{collectorID}". Contoh:forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56 |
Contoh respons
Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.
{
"name": "forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56/collectors/
98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
"displayName": "abc_collector",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
}
Dapatkan Kolektor
Menampilkan kolektor.
Permintaan
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
Isi permintaan
Jangan sertakan isi permintaan.
Contoh permintaan
GET
https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Contoh respons
{
"name": "?",
"displayName": "abc_collector",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
}
Membuat Daftar Kolektor
Mencantumkan kolektor yang ada untuk forwarder yang ditentukan.
Permintaan
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
Contoh permintaan
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
Respons
Menampilkan beberapa kolektor.
Contoh respons
{
"collectors": [
{
"name": "?",
"displayName": "abc_collector_1",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
},
{
"name": "?",
"displayName": "abc_collector_2",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
}
]
}
Perbarui Kolektor
Saat memperbarui kolektor dengan API, Anda dapat memilih untuk menimpa seluruh konfigurasi kolektor atau menimpa kolom tertentu dari konfigurasi kolektor. Sebaiknya timpa kolom tertentu, sehingga Anda tidak akan menimpa semua data secara tidak sengaja. Untuk menimpa kolom tertentu, sediakan FieldMask ke permintaan pembaruan Anda.
Untuk menyediakan FieldMask guna memperbarui nama tampilan untuk kolektor, berikan parameter kueri URL updateMask dalam permintaan patch. Contoh:
?updateMask=displayName
Isi permintaan hanya boleh berisi kolom yang ingin Anda perbarui (di lokasi persisnya).
Permintaan
PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}?updateMask=<field_1,field_2>
Isi permintaan
{
"display_name": string,
"config": {
object (CollectorConfig)
},
}
Parameter isi
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
displayName | string | Diperlukan | Nama kolektor. Nama ini ditampilkan di antarmuka Chronicle. |
config | objek | Opsional | Setelan konfigurasi untuk penerusan ini. Lihat Kolom konfigurasi kolektor. |
Contoh permintaan
Ini adalah contoh permintaan Update Collector, yang mana permintaan tersebut menentukan nilai baru untuk displayName, logType, assetNamespace, dan protokol.
PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56?updateMask=displayName,config.logType,config.metadata.assetNamespace,config.syslogSettings.protocol
{
"display_name": "UpdatedCollector"
"config": {
"metadata": {
"asset_namespace": "COLLECTOR",
},
"log_type": "CISCO_ASA_FIREWALL",
"syslog_settings": {
"protocol": "TCP",
}
}
}
Contoh respons
Ini adalah contoh respons yang ditampilkan untuk contoh permintaan di atas.
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
"displayName": "UpdatedCollector",
"config": {
"logType": "CISCO_ASA_FIREWALL",
"metadata": {
"assetNamespace": "COLLECTOR"
},
"maxSecondsPerBatch": 10,
"maxBytesPerBatch": "1048576",
"syslogSettings": {
"protocol": "TCP",
"address": "0.0.0.0",
"port": 10514,
}
},
"state": "ACTIVE"
}
Hapus Kolektor
Menghapus kolektor.
Permintaan
DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
Isi permintaan
Jangan sertakan isi permintaan.
Contoh permintaan
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
Contoh respons
Jika operasi berhasil, Delete Collector akan menampilkan respons kosong dengan kode status HTTP 200 (OK).
{}
Kolom konfigurasi kolektor
Kolom berikut dapat diberikan dalam objek config
dari isi
permintaan.
Kolom | Jenis | Wajib | Deskripsi |
---|---|---|---|
log_type | string | Diperlukan | Jenis log yang didukung (yang dapat diserap oleh Chronicle). Untuk daftar
jenis log yang didukung yang parsernya dimiliki Chronicle, lihat
kolom Label Proses Transfer di halaman Parser default
yang didukung. Untuk mendapatkan
daftar lengkap jenis log yang didukung, gunakan endpoint logtypes .
|
metadata.asset_namespace | objek | Opsional | Namespace untuk mengidentifikasi log dari kolektor ini. Catatan: Ini adalah setelan global yang berlaku untuk kolektor forwarder dan forwarder, kecuali jika diganti di tingkat kolektor. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi namespace. |
metadata.labels | list | Opsional | Daftar key:value pair arbitrer yang dapat ditentukan dalam konfigurasi kolektor. Catatan: Ini adalah setelan global yang berlaku untuk kolektor forwarder dan forwarder, kecuali jika diganti di tingkat kolektor. |
metadata.labels.key | string | Opsional | Kunci untuk kolom dalam daftar label metadata. |
metadata.labels.value | string | Opsional | Nilai untuk kolom dalam daftar label metadata. |
regex_filters.description | string | Opsional | Menjelaskan apa yang difilter dan alasannya. |
regex_filters.regexp | string | Opsional | Ekspresi reguler yang digunakan untuk mencocokkan dengan setiap baris yang masuk. |
regex_filters.behavior | enumerasi | Opsional | Menentukan status fungsi server. Nilai yang valid adalah:
|
disk_buffer.state | enumerasi | Opsional | Menentukan status buffering disk untuk kolektor. Nilai yang valid adalah:
|
disk_buffer.directory_path | string | Opsional | Jalur direktori untuk file yang ditulis. |
disk_buffer.max_file_buffer_bytes | bilangan bulat | Opsional | Ukuran file maksimum yang di-buffer. |
max_seconds_per_batch | bilangan bulat | Opsional | Jumlah detik antar-batch. Nilai defaultnya adalah 10 . |
max_bytes_per_batch | bilangan bulat | Opsional | Jumlah byte dalam antrean sebelum upload batch penerus. Nilai defaultnya adalah 1048576 . |
<collector_type>_settings.<kolom> | Diperlukan | Menentukan jenis kolektor dan setelannya. Setiap kolektor harus menentukan satu jenis kolektor dan kolomnya. Misalnya, untuk menggunakan jenis kolektor file , kolom file_settings.file_path harus ditambahkan ke konfigurasi dan diberi nilai. Misalnya:"file_settings": { Jenis kolektor dan kolomnya tercantum di baris berikutnya pada tabel ini. Jenis kolektor yang tersedia adalah:
|
|
file_settings.file_path | string | Opsional | Jalur file yang akan dipantau. |
kafka_settings.authentication.username | string | Opsional | Nama pengguna identitas yang digunakan untuk autentikasi. |
kafka_settings.authentication.password | string | Opsional | Sandi akun yang diidentifikasi oleh nama pengguna. |
kafka_settings.topic | string | Opsional | Topik Kafka tempat menyerap data. Untuk mengetahui detailnya, lihat artikel Mengumpulkan data dari topik Kafka. |
kafka_settings.group_id | string | Opsional | ID grup. |
kafka_settings.timeout | bilangan bulat | Opsional | Jumlah detik maksimum panggilan akan menunggu hingga koneksi
selesai. Nilai defaultnya adalah 60 . |
kafka_settings.brokers | string | Opsional | String berulang yang mencantumkan broker Kafka. Misalnya: "broker-1:9092", "broker-2:9093" Catatan: Semua nilai akan diganti selama operasi update. Oleh karena itu, untuk memperbarui daftar broker guna menambahkan broker baru, tentukan semua broker yang ada dan broker yang baru. |
kafka_settings.tls_settings.certificate | string | Opsional | Nama file jalur dan sertifikat. Contoh:/path/to/cert.pem |
kafka_settings.tls_settings.certificate_key | string | Opsional | Nama file jalur dan kunci sertifikat. Contoh:/path/to/cert.key |
kafka_settings.tls_settings.minimum_tls_version | string | Opsional | Versi TLS minimum. |
kafka_settings.tls_settings.insecure_skip_verify | bool | Opsional | Jika true , verifikasi sertifikasi SSL diaktifkan.Nilai defaultnya adalah false . |
pcap_settings.network_interface | string | Opsional | Antarmuka yang akan dipantau untuk data PCAP. |
pcap_settings.bpf | string | Opsional | Berkeley Packet Filter (BPF) untuk pcap. |
splunk_settings.authentication.username | string | Opsional | Nama pengguna identitas yang digunakan untuk autentikasi. |
splunk_settings.authentication.password | string | Opsional | Sandi akun yang diidentifikasi oleh nama pengguna. |
splunk_settings.host | string | Opsional | Host atau alamat IP untuk Splunk REST API. |
splunk_settings.port | bilangan bulat | Opsional | Port untuk Splunk REST API. |
splunk_settings.minimum_window_size | bilangan bulat | Opsional | Rentang waktu minimum dalam detik untuk penelusuran Splunk tertentu. Untuk
mengetahui detailnya, lihat Mengumpulkan data Splunk. Nilai defaultnya adalah 10 . |
splunk_settings.maximum_window_size | bilangan bulat | Opsional | Rentang waktu maksimum dalam detik untuk penelusuran Splunk tertentu. Untuk
mengetahui detailnya, lihat Mengumpulkan data Splunk. Nilai defaultnya adalah 30 . |
splunk_settings.query_string | string | Opsional | Kueri yang digunakan untuk memfilter catatan dalam Splunk. Contoh: search index=* sourcetype=dns |
splunk_settings.query_mode | string | Opsional | Mode kueri untuk Splunk. Contoh: realtime |
splunk_settings.cert_ignored | bool | Opsional | Jika true , sertifikat akan diabaikan. |
syslog_settings.protocol | enumerasi | Opsional | Menentukan protokol yang akan digunakan kolektor untuk memproses data syslog. Nilai yang valid adalah:
|
syslog_settings.address | string | Opsional | Alamat IP atau nama host target tempat kolektor berada dan memproses data syslog. |
syslog_settings.port | bilangan bulat | Opsional | Port target tempat kolektor berada dan memproses data syslog. |
syslog_settings.buffer_size | bilangan bulat | Opsional | Ukuran dalam byte{i> <i}buffer soket TCP. Default untuk TCP adalah 65536 .Nilai default untuk UDP adalah 8192 . |
syslog_settings.connecton_timeout | bilangan bulat | Opsional | Jumlah detik tidak aktif setelah koneksi TCP terputus. Nilai defaultnya adalah 60 . |
syslog_settings.tls_settings.certificate | string | Opsional | Nama file jalur dan sertifikat. Contoh:/path/to/cert.pem |
syslog_settings.tls_settings.certificate_key | string | Opsional | Nama file jalur dan kunci sertifikat. Contoh:/path/to/cert.key |
syslog_settings.tls_settings.minimum_tls_version | string | Opsional | Versi TLS minimum. |
syslog_settings.tls_settings.insecure_skip_verify | bool | Opsional | Jika true , verifikasi sertifikasi SSL diaktifkan.Nilai defaultnya adalah false . |