Konektor Integrasi Splunk - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konektor Integrasi Splunk

Awas

Konektor ini telah pindah kefase kehidupan diperpanjang, danAWS IoT Greengrasstidak akan merilis pembaruan yang menyediakan fitur, penyempurnaan untuk fitur yang ada, patch keamanan, atau perbaikan bug. Untuk informasi selengkapnya, lihat AWS IoT Greengrass Version 1kebijakan pemeliharaan.

Konektor Integrasi Splunk menerbitkan data dari perangkat Greengrass ke Splunk. Ini mengizinkan Anda untuk menggunakan Splunk untuk memantau dan menganalisis lingkungan core Greengrass, dan bertindak pada peristiwa lokal. Konektor terintegrasi dengan HTTP Event Collector (HEC). Untuk informasi lebih lanjut, lihat Pengantar Splunk HTTP Event Collector dalam dokumentasi Splunk.

Konektor ini menerima data logging dan data peristiwa pada topik MQTT dan menerbitkan data seperti Splunk API.

Anda dapat menggunakan konektor ini untuk mendukung skenario industri, seperti:

  • Operator dapat menggunakan data berkala dari aktuator dan sensor (sebagai contoh, suhu, tekanan, dan pembacaan air) untuk memulai alarm jika nilai melebihi ambang batas tertentu.

  • Developer menggunakan data yang dikumpulkan dari mesin industri untuk membangun model ML yang dapat memantau peralatan untuk potensi masalah.

Konektor ini memiliki versi berikut.

Versi

ARN

4

arn:aws:greengrass:region::/connectors/SplunkIntegration/versions/4

3

arn:aws:greengrass:region::/connectors/SplunkIntegration/versions/3

2

arn:aws:greengrass:region::/connectors/SplunkIntegration/versions/2

1

arn:aws:greengrass:region::/connectors/SplunkIntegration/versions/1

Untuk informasi tentang perubahan versi, lihat Changelog.

Persyaratan

Konektor ini memiliki persyaratan sebagai berikut:

Version 3 - 4
  • AWS IoT Greengrass perangkat lunak Core v1.9.3 atau yang lebih baru. AWS IoT Greengrass harus dikonfigurasi untuk mendukung rahasia lokal, seperti yang dijelaskan dalam Persyaratan Rahasia.

    catatan

    Persyaratan ini mencakup mengizinkan akses ke rahasia Secrets Manager Anda. Jika Anda menggunakan peran layanan default Greengrass, Greengrass memiliki izin untuk mendapatkan nilai-nilai rahasia dengan nama yang dimulai dengan greengrass-.

  • Python versi 3.7 atau 3.8 diinstal pada perangkat core dan ditambahkan ke variabel lingkungan PATH.

    catatan

    Untuk menggunakan Python 3.8, jalankan perintah berikut untuk membuat link simbolik dari folder instalasi default Python 3.7 ke binari Python 3.8 yang diinstal.

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    Ini mengonfigurasi perangkat Anda untuk memenuhi persyaratan Python untuk AWS IoT Greengrass.

  • Fungsi HTTP Event Collector harus diaktifkan dalam Splunk. Untuk informasi lebih lanjut, lihat Atur dan gunakan HTTP eEvent Collector dalam Splunk Web dalam dokumentasi Splunk.

  • Sebuah rahasia jenis teks dalam AWS Secrets Manager yang menyimpan token Splunk HTTP Event Collector Anda. Untuk informasi lebih lanjut, lihat Tentang token kolektor peristiwa dalam dokumentasi Splunk dan Membuat rahasia dasar dalam AWS Secrets Manager Panduan Pengguna.

    catatan

    Untuk membuat rahasia dalam konsol Secrets Manager, masukkan token Anda pada tab Plaintext ini. Jangan sertakan tanda kutip atau pemformatan lainnya. Dalam API, tentukan token sebagai nilai untuk properti SecretString ini.

  • Sebuah sumber daya rahasia dalam grup Greengrass yang mereferensikan rahasia Secrets Manager. Untuk informasi selengkapnya, lihat Men-deploy rahasia ke AWS IoT Greengrass core.

Versions 1 - 2
  • AWS IoT Greengrass perangkat lunak Core v1.7 atau yang lebih baru. AWS IoT Greengrass harus dikonfigurasi untuk mendukung rahasia lokal, seperti yang dijelaskan dalam Persyaratan Rahasia.

    catatan

    Persyaratan ini mencakup mengizinkan akses ke rahasia Secrets Manager Anda. Jika Anda menggunakan peran layanan default Greengrass, Greengrass memiliki izin untuk mendapatkan nilai-nilai rahasia dengan nama yang dimulai dengan greengrass-.

  • Python versi 2.7 diinstal pada perangkat core dan ditambahkan ke variabel lingkungan PATH.

  • Fungsi HTTP Event Collector harus diaktifkan dalam Splunk. Untuk informasi lebih lanjut, lihat Atur dan gunakan HTTP eEvent Collector dalam Splunk Web dalam dokumentasi Splunk.

  • Sebuah rahasia jenis teks dalam AWS Secrets Manager yang menyimpan token Splunk HTTP Event Collector Anda. Untuk informasi lebih lanjut, lihat Tentang token kolektor peristiwa dalam dokumentasi Splunk dan Membuat rahasia dasar dalam AWS Secrets Manager Panduan Pengguna.

    catatan

    Untuk membuat rahasia dalam konsol Secrets Manager, masukkan token Anda pada tab Plaintext ini. Jangan sertakan tanda kutip atau pemformatan lainnya. Dalam API, tentukan token sebagai nilai untuk properti SecretString ini.

  • Sebuah sumber daya rahasia dalam grup Greengrass yang mereferensikan rahasia Secrets Manager. Untuk informasi selengkapnya, lihat Men-deploy rahasia ke AWS IoT Greengrass core.

Parameter Konektor

Konektor ini menyediakan parameter berikut:

Version 4
SplunkEndpoint

Titik akhir dari instans Splunk Anda. Nilai ini harus berisi protokol, hostname, dan port.

Nama tampilan diAWS IoTKonsol: Titik akhir Splunk

Wajib: true

Jenis: string

Pola yang valid: ^(http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$

MemorySize

Jumlah memori (dalam KB) untuk mengalokasikan ke konektor.

Nama tampilan diAWS IoTKonsol: Ukuran memori

Wajib: true

Jenis: string

Pola yang valid: ^[0-9]+$

SplunkQueueSize

Jumlah maksimum item untuk dipertahankan dalam memori sebelum item dikirimkan atau dibuang. Ketika batas ini terpenuhi, item tertua dalam antrian diganti dengan item yang lebih baru. Batas ini biasanya berlaku ketika tidak ada koneksi ke internet.

Nama tampilan diAWS IoTKonsol: Item maksimum untuk dipertahankan

Wajib: true

Jenis: string

Pola yang valid: ^[0-9]+$

SplunkFlushIntervalSeconds

Interval (dalam detik) untuk menerbitkan data yang diterima ke Splunk HEC. Nilai maksimumnya adalah 900. Untuk mengonfigurasi konektor untuk menerbitkan item seperti yang diterima (tanpa batching), tentukan 0.

Nama tampilan diAWS IoTKonsol: Interval publikasi Splunk

Wajib: true

Jenis: string

Pola yang valid: [0-9]|[1-9]\d|[1-9]\d\d|900

SplunkTokenSecretArn

Rahasia dalam AWS Secrets Manager yang menyimpan token Splunk. Ini harus berupa rahasia jenis teks.

Nama tampilan diAWS IoTKonsol: ARN rahasia token autentikasi Splunk

Wajib: true

Jenis: string

Pola yang valid: arn:aws:secretsmanager:[a-z]{2}-[a-z]+-\d{1}:\d{12}?:secret:[a-zA-Z0-9-_]+-[a-zA-Z0-9-_]+

SplunkTokenSecretArn-ResourceId

Sumber daya rahasia dalam grup Greengrass yang mereferensikan rahasia Splunk.

Nama tampilan diAWS IoTKonsol: Sumber daya token autentikasi Splunk

Wajib: true

Jenis: string

Pola yang valid: .+

SplunkCustomCALocation

Jalur file kustom otoritas sertifikasi (CA) untuk Splunk (sebagai contoh, /etc/ssl/certs/splunk.crt).

Nama tampilan diAWS IoTKonsol: Lokasi otoritas sertifikat kustom Splunk

Wajib: false

Jenis: string

Pola yang valid: ^$|/.*

IsolationMode

Mode kontainerisasi untuk konektor ini. Default-nya adalah GreengrassContainer, yang berarti bahwa konektor berjalan dalam lingkungan waktu aktif terisolasi dalam kontainer AWS IoT Greengrass ini.

catatan

Pengaturan kontainerisasi default untuk grup tidak berlaku untuk konektor.

Nama tampilan diAWS IoTKonsol: Mode isolasi kontainer

Wajib: false

Jenis: string

Nilai yang valid: GreengrassContainer or NoContainer

Pola yang valid: ^NoContainer$|^GreengrassContainer$

Version 1 - 3
SplunkEndpoint

Titik akhir dari instans Splunk Anda. Nilai ini harus berisi protokol, hostname, dan port.

Nama tampilan diAWS IoTKonsol: Titik akhir Splunk

Wajib: true

Jenis: string

Pola yang valid: ^(http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$

MemorySize

Jumlah memori (dalam KB) untuk mengalokasikan ke konektor.

Nama tampilan diAWS IoTKonsol: Ukuran memori

Wajib: true

Jenis: string

Pola yang valid: ^[0-9]+$

SplunkQueueSize

Jumlah maksimum item untuk dipertahankan dalam memori sebelum item dikirimkan atau dibuang. Ketika batas ini terpenuhi, item tertua dalam antrian diganti dengan item yang lebih baru. Batas ini biasanya berlaku ketika tidak ada koneksi ke internet.

Nama tampilan diAWS IoTKonsol: Item maksimum untuk dipertahankan

Wajib: true

Jenis: string

Pola yang valid: ^[0-9]+$

SplunkFlushIntervalSeconds

Interval (dalam detik) untuk menerbitkan data yang diterima ke Splunk HEC. Nilai maksimumnya adalah 900. Untuk mengonfigurasi konektor untuk menerbitkan item seperti yang diterima (tanpa batching), tentukan 0.

Nama tampilan diAWS IoTKonsol: Interval publikasi Splunk

Wajib: true

Jenis: string

Pola yang valid: [0-9]|[1-9]\d|[1-9]\d\d|900

SplunkTokenSecretArn

Rahasia dalam AWS Secrets Manager yang menyimpan token Splunk. Ini harus berupa rahasia jenis teks.

Nama tampilan diAWS IoTKonsol: ARN rahasia token autentikasi Splunk

Wajib: true

Jenis: string

Pola yang valid: arn:aws:secretsmanager:[a-z]{2}-[a-z]+-\d{1}:\d{12}?:secret:[a-zA-Z0-9-_]+-[a-zA-Z0-9-_]+

SplunkTokenSecretArn-ResourceId

Sumber daya rahasia dalam grup Greengrass yang mereferensikan rahasia Splunk.

Nama tampilan diAWS IoTKonsol: Sumber daya token autentikasi Splunk

Wajib: true

Jenis: string

Pola yang valid: .+

SplunkCustomCALocation

Jalur file kustom otoritas sertifikasi (CA) untuk Splunk (sebagai contoh, /etc/ssl/certs/splunk.crt).

Nama tampilan diAWS IoTKonsol: Lokasi otoritas sertifikat kustom Splunk

Wajib: false

Jenis: string

Pola yang valid: ^$|/.*

Buat Contoh Konektor (AWS CLI)

Perintah CLI berikut membuat ConnectorDefinition dengan versi awal yang berisi konektor Integrasi Splunk.

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MySplunkIntegrationConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/SplunkIntegration/versions/4", "Parameters": { "SplunkEndpoint": "https://myinstance.cloud.splunk.com:8088", "MemorySize": 200000, "SplunkQueueSize": 10000, "SplunkFlushIntervalSeconds": 5, "SplunkTokenSecretArn":"arn:aws:secretsmanager:region:account-id:secret:greengrass-secret-hash", "SplunkTokenSecretArn-ResourceId": "MySplunkResource", "IsolationMode" : "GreengrassContainer" } } ] }'
catatan

Fungsi Lambda dalam konektor mempunyai siklus hidup yang berumur panjang ini.

Di konsol AWS IoT Greengrass tersebut, Anda dapat menambahkan konektor dari halaman grup Konektor ini. Untuk informasi lebih lanjut, lihat Memulai dengan konektor Greengrass (konsol).

Data input

Konektor ini menerima data logging dan peristiwa pada topik MQTT dan menerbitkan data yang diterima seperti Splunk API. Pesan input harus dalam format JSON.

Filter topik dalam langganan

splunk/logs/put

Properti pesan
request

Data peristiwa untuk mengirim ke Splunk API. Acara harus memenuhi spesifikasi dari layanan/kolektor API.

Wajib: true

Jenis: object. Hanyaeventproperti diperlukan.

id

ID arbitrer untuk permintaan. Properti ini digunakan untuk memetakan permintaan input untuk status output.

Wajib: false

Jenis: string

Batasan

Semua batas yang dikenakan oleh Splunk API berlaku ketika menggunakan konektor ini. Untuk informasi lebih lanjut, lihat layanan/kolektor.

Contoh input
{ "request": { "event": "some event", "fields": { "severity": "INFO", "category": [ "value1", "value2" ] } }, "id": "request123" }

Data output

Konektor ini menerbitkan data output pada dua topik:

  • Informasi status pada splunk/logs/put/status topik.

  • Kesalahan pada topik splunk/logs/put/error ini.

Filter topik: splunk/logs/put/status

Gunakan topik ini untuk mendengarkan status permintaan. Setiap kali konektor mengirimkan batch data yang diterima ke Splunk API, Splunk API menerbitkan daftar ID permintaan yang berhasil dan gagal.

Contoh keluaran
{ "response": { "succeeded": [ "request123", ... ], "failed": [ "request789", ... ] } }
Filter topik: splunk/logs/put/error

Gunakan topik ini untuk mendengarkan kesalahan dari konektor. Properti error_message yang menjelaskan kesalahan atau timeout yang dihadapi sambil memproses permintaan.

Contoh keluaran
{ "response": { "error": "UnauthorizedException", "error_message": "invalid splunk token", "status": "fail" } }
catatan

Jika konektor mendeteksi kesalahan yang dapat diulang (sebagai contoh, kesalahan koneksi), konektor mengulang lagi publikasinya dalam batch berikutnya.

Contoh Penggunaan

Gunakan langkah-langkah tingkat tinggi berikut untuk mengatur contoh fungsi Lambda Python 3.7 yang dapat Anda gunakan untuk mencoba konektor.

catatan
  1. Pastikan Anda memenuhi persyaratan untuk konektor.

  2. Buat dan terbitkan fungsi Lambda yang mengirimkan data input ke konektor.

    Simpan kode contoh sebagai file PY. Unduh dan unzip AWS IoT Greengrass Core SDK for Python. Kemudian, buat paket zip yang berisi file PY dan folder greengrasssdk dalam tingkat root. Paket zip ini adalah paket deployment yang Anda unggah ke AWS Lambda.

    Setelah Anda membuat fungsi Lambda Python 3.7, terbitkankan versi fungsi dan buat alias.

  3. Konfigurasikan grup Greengrass Anda.

    1. Tambahkan fungsi Lambda dengan aliasnya (direkomendasikan). Konfigurasikan siklus hidup Lambda sebagai berumur panjang (atau "Pinned": true dalam CLI).

    2. Tambahkan sumber daya rahasia yang diperlukan dan berikan akses baca ke fungsi Lambda.

    3. Tambahkan konektor dan konfigurasikan parameter.

    4. Tambahkan langganan yang mengizinkan konektor untuk menerima data input dan mengirim data output pada filter topik yang didukung.

      • Atur fungsi Lambda sebagai sumber, konektor sebagai target, dan gunakan filter topik input yang mendukung.

      • Atur konektor sebagai sumber, AWS IoT Core sebagai target, dan gunakan filter topik input yang mendukung. Anda menggunakan langganan ini untuk melihat pesan status dalam konsol AWS IoT tersebut.

  4. Men-deploy grup.

  5. Di konsol AWS IoT tersebut, pada halaman Tes ini, berlangganan ke topik data output untuk melihat pesan status dari konektor. Contoh fungsi Lambda yang berumur panjang dan mulai mengirim pesan segera setelah grup dalam-deploy.

    Setelah selesai pengujian, Anda dapat mengatur siklus hidup Lambda ke sesuai permintaan (atau "Pinned": false dalam CLI) dan men-deploy grup. Ini menghentikan fungsi dari mengirim pesan.

Contoh

Contoh fungsi Lambda berikut mengirimkan pesan input ke konektor.

import greengrasssdk import time import json iot_client = greengrasssdk.client('iot-data') send_topic = 'splunk/logs/put' def create_request_with_all_fields(): return { "request": { "event": "Access log test message." }, "id" : "req_123" } def publish_basic_message(): messageToPublish = create_request_with_all_fields() print("Message To Publish: ", messageToPublish) iot_client.publish(topic=send_topic, payload=json.dumps(messageToPublish)) publish_basic_message() def lambda_handler(event, context): return

Lisensi

Konektor ini dirilis di bawah Perjanjian Lisensi Perangkat lunak core Greengrass.

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi konektor.

Versi

Perubahan

4

Ditambahkan parameter IsolationMode untuk mengonfigurasi mode kontainerisasi untuk konektor.

3

Memperbarui waktu aktif Lambda untuk Python 3.7, yang mengubah persyaratan waktu aktif.

2

Perbaiki untuk mengurangi pencatatan berlebihan.

1

Pelepasan .

Sebuah grup Greengrass dapat berisi hanya satu versi konektor pada suatu waktu. Untuk informasi lebih lanjut tentang pembaruan versi konektor, lihat Versi upgrade konektor.

Lihat juga