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:

  1. Buat forwarder.
  2. Buat kolektor untuk forwarder.
  3. (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:

  • AKTIF: Penerusan diizinkan untuk mengupload data.
  • DITANGGUHKAN: Penerusan tidak diizinkan mengupload data.

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:

  • ALLOW: Status ini memungkinkan baris yang difilter untuk diupload.
  • BLOKIR: Status ini mencegah baris yang difilter diupload.
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:

  • AKTIF: Dalam status ini, setelan server akan diterapkan seperti yang telah ditentukan.
  • DITANGGUHKAN Dalam hal ini, setelan server tidak diterapkan.
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:

  • AKTIF: Kolektor diizinkan untuk menerima data.
  • DITANGGUHKAN: Kolektor tidak diizinkan untuk menerima data.
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:

  • ALLOW: Status ini memungkinkan baris yang difilter untuk diupload.
  • BLOKIR: Status ini mencegah baris yang difilter diupload.
disk_buffer.state enumerasi Opsional

Menentukan status buffering disk untuk kolektor. Nilai yang valid adalah:

  • AKTIF: Buffering diaktifkan.
  • DITANGGUHKAN: Buffering dinonaktifkan.
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": {
  "file_path": "/opt/chronicle/edr/output/sample.txt",
}


Jenis kolektor dan kolomnya tercantum di baris berikutnya pada tabel ini. Jenis kolektor yang tersedia adalah:
  • file
  • kafka
  • pcap
  • splunk
  • syslog
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:

  • TCP
  • UDP
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.