ServiceNow MetricBase Konektor Integrasi - 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.

ServiceNow MetricBase Konektor Integrasi

Awas

Konektor ini telah pindah kefase kehidupan yang panjang, 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.

Yang ServiceNow MetricBase Integrasipenghubungmenerbitkan metrik deret waktu dari perangkat Greengrass untuk ServiceNow MetricBase. Hal ini memungkinkan Anda untuk menyimpan, menganalisis, dan memvisualisasikan data time series dari lingkungan core Greengrass, dan bertindak pada peristiwa lokal.

Konektor ini menerima data deret waktu pada topik MQTT, dan menerbitkan data ke ServiceNow API secara berkala.

Anda dapat menggunakan konektor ini untuk mendukung skenario seperti:

  • Buat peringatan dan alarm berbasis ambang batas berdasarkan data time series yang dikumpulkan dari perangkat Greengrass.

  • Gunakan data layanan waktu dari perangkat Greengrass dengan aplikasi kustom yang dibangun pada ServiceNow platform.

Konektor ini memiliki versi berikut.

Versi

ARN

4

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

3

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

2

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

1

arn:aws:greengrass:region::/connectors/ServiceNowMetricBaseIntegration/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.

  • SEBUAH ServiceNow akun dengan langganan yang diaktifkan untuk MetricBase. Sebagai tambahan, metrik dan tabel metrik harus dibuat dalam akun. Untuk informasi selengkapnya, lihatMetricBasedi dalam ServiceNow dokumentasi.

  • Jenis teks rahasia diAWS Secrets Manageryang menyimpan nama pengguna dan kata sandi untuk masuk ke Anda ServiceNow misalnya dengan otentikasi dasar. Rahasianya harus berisi tombol "pengguna” dan "kata sandi” dengan nilai yang sesuai. Untuk informasi lebih lanjut, lihat Membuat rahasia dasar dalam AWS Secrets Manager Panduan Pengguna.

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

  • SEBUAH ServiceNow akun dengan langganan yang diaktifkan untuk MetricBase. Sebagai tambahan, metrik dan tabel metrik harus dibuat dalam akun. Untuk informasi selengkapnya, lihatMetricBasedi dalam ServiceNow dokumentasi.

  • Jenis teks rahasia diAWS Secrets Manageryang menyimpan nama pengguna dan kata sandi untuk masuk ke Anda ServiceNow misalnya dengan otentikasi dasar. Rahasianya harus berisi tombol "pengguna” dan "kata sandi” dengan nilai yang sesuai. Untuk informasi lebih lanjut, lihat Membuat rahasia dasar dalam AWS Secrets Manager Panduan Pengguna.

  • 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
PublishInterval

Jumlah maksimum detik untuk menunggu antara menerbitkan peristiwa untuk ServiceNow. Nilai maksimumnya adalah 900.

Konektor menerbitkan untuk ServiceNow ketikaPublishBatchSizetercapai atauPublishIntervalKedaluwarsa.

Nama tampilan dalamAWS IoTKonsol: Publikasikan interval dalam hitungan detik

Wajib: true

Jenis: string

Nilai yang valid: 1 - 900

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

PublishBatchSize

Jumlah maksimum nilai metrik yang dapat dikelompokkan sebelum dipublikasikan ServiceNow.

Konektor menerbitkan untuk ServiceNow ketikaPublishBatchSizetercapai atauPublishIntervalKedaluwarsa.

Nama tampilan dalamAWS IoTKonsol: Ukuran batch publikasi batch publikasi

Wajib: true

Jenis: string

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

InstanceName

Nama instans yang digunakan untuk terhubung ServiceNow.

Nama tampilan dalamAWS IoTKonsol: Nama dari ServiceNow contoh

Wajib: true

Jenis: string

Pola yang valid: .+

DefaultTableName

Nama tabel yang berisiGlideRecordterkait dengan deret waktu MetricBase basis data data data data Properti table dalam muatan pesan input dapat digunakan untuk menimpa nilai ini.

Nama tampilan dalamAWS IoTKonsol: Nama tabel untuk memuat metrik

Wajib: true

Jenis: string

Pola yang valid: .+

MaxMetricsToRetain

Jumlah maksimum metrik untuk dipertahankan dalam memori sebelum diganti dengan metrik baru.

Batas ini berlaku bila tidak ada koneksi ke internet dan konektor mulai buffer metrik untuk diterbitkan nanti. Ketika buffer penuh, metrik terlama digantikan oleh metrik baru.

catatan

Metrik tidak dipertahankan jika proses host untuk konektor terganggu. Sebagai contoh, hal ini dapat terjadi selama deployment grup atau ketika perangkat restart.

Nilai ini harus lebih besar daripada ukuran batch dan cukup besar untuk menyimpan pesan berdasarkan tingkat masuk pesan MQTT.

Nama tampilan dalamAWS IoTKonsol: Metrik maksimum yang harus dipertahankan dalam memori

Wajib: true

Jenis: string

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

AuthSecretArn

Rahasia dalamAWS Secrets Manageryang menyimpan ServiceNow nama pengguna dan kata sandi. Ini harus berupa rahasia jenis teks. Rahasianya harus berisi tombol "pengguna” dan "kata sandi” dengan nilai yang sesuai.

Nama tampilan dalamAWS IoTKonsol: ARN rahasia auth

Wajib: true

Jenis: string

Pola yang valid: arn:aws:secretsmanager:[a-z0-9\-]+:[0-9]{12}:secret:([a-zA-Z0-9\\]+/)*[a-zA-Z0-9/_+=,.@\-]+-[a-zA-Z0-9]+

AuthSecretArn-ResourceId

Sumber daya rahasia dalam grup yang mereferensikan rahasia Secrets Manager untuk ServiceNow kredenensi.

Nama tampilan dalamAWS IoTKonsol: Resource token Autentikasi token

Wajib: true

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 dalamAWS IoTKonsol: Mode isolasi kontainer

Wajib: false

Jenis: string

Nilai yang valid: GreengrassContainer or NoContainer

Pola yang valid: ^NoContainer$|^GreengrassContainer$

Version 1 - 3
PublishInterval

Jumlah maksimum detik untuk menunggu antara menerbitkan peristiwa untuk ServiceNow. Nilai maksimumnya adalah 900.

Konektor menerbitkan untuk ServiceNow ketikaPublishBatchSizetercapai atauPublishIntervalKedaluwarsa.

Nama tampilan dalamAWS IoTKonsol: Publikasikan interval dalam hitungan detik

Wajib: true

Jenis: string

Nilai yang valid: 1 - 900

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

PublishBatchSize

Jumlah maksimum nilai metrik yang dapat dikelompokkan sebelum dipublikasikan ServiceNow.

Konektor menerbitkan untuk ServiceNow ketikaPublishBatchSizetercapai atauPublishIntervalKedaluwarsa.

Nama tampilan dalamAWS IoTKonsol: Ukuran batch publikasi batch publikasi

Wajib: true

Jenis: string

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

InstanceName

Nama instans yang digunakan untuk terhubung ServiceNow.

Nama tampilan dalamAWS IoTKonsol: Nama dari ServiceNow contoh

Wajib: true

Jenis: string

Pola yang valid: .+

DefaultTableName

Nama tabel yang berisiGlideRecordterkait dengan deret waktu MetricBase basis data data data data Properti table dalam muatan pesan input dapat digunakan untuk menimpa nilai ini.

Nama tampilan dalamAWS IoTKonsol: Nama tabel untuk memuat metrik

Wajib: true

Jenis: string

Pola yang valid: .+

MaxMetricsToRetain

Jumlah maksimum metrik untuk dipertahankan dalam memori sebelum diganti dengan metrik baru.

Batas ini berlaku bila tidak ada koneksi ke internet dan konektor mulai buffer metrik untuk diterbitkan nanti. Ketika buffer penuh, metrik terlama digantikan oleh metrik baru.

catatan

Metrik tidak dipertahankan jika proses host untuk konektor terganggu. Sebagai contoh, hal ini dapat terjadi selama deployment grup atau ketika perangkat restart.

Nilai ini harus lebih besar daripada ukuran batch dan cukup besar untuk menyimpan pesan berdasarkan tingkat masuk pesan MQTT.

Nama tampilan dalamAWS IoTKonsol: Metrik maksimum yang harus dipertahankan dalam memori

Wajib: true

Jenis: string

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

AuthSecretArn

Rahasia dalamAWS Secrets Manageryang menyimpan ServiceNow nama pengguna dan kata sandi. Ini harus berupa rahasia jenis teks. Rahasianya harus berisi tombol "pengguna” dan "kata sandi” dengan nilai yang sesuai.

Nama tampilan dalamAWS IoTKonsol: ARN rahasia auth

Wajib: true

Jenis: string

Pola yang valid: arn:aws:secretsmanager:[a-z0-9\-]+:[0-9]{12}:secret:([a-zA-Z0-9\\]+/)*[a-zA-Z0-9/_+=,.@\-]+-[a-zA-Z0-9]+

AuthSecretArn-ResourceId

Sumber daya rahasia dalam grup yang mereferensikan rahasia Secrets Manager untuk ServiceNow kredenensi.

Nama tampilan dalamAWS IoTKonsol: Resource token Autentikasi token

Wajib: true

Jenis: string

Pola yang valid: .+

Buat Contoh Konektor (AWS CLI)

Perintah CLI berikut membuatConnectorDefinitiondengan versi awal yang berisi ServiceNow MetricBase Konektor integrasi.

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyServiceNowMetricBaseIntegrationConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/ServiceNowMetricBaseIntegration/versions/4", "Parameters": { "PublishInterval" : "10", "PublishBatchSize" : "50", "InstanceName" : "myinstance", "DefaultTableName" : "u_greengrass_app", "MaxMetricsToRetain" : "20000", "AuthSecretArn" : "arn:aws:secretsmanager:region:account-id:secret:greengrass-secret-hash", "AuthSecretArn-ResourceId" : "MySecretResource", "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 metrik deret waktu pada topik MQTT dan menerbitkan metrik untuk ServiceNow. Pesan input harus dalam format JSON.

Filter topik dalam langganan

servicenow/metricbase/metric

Properti pesan
request

Informasi tentang tabel, catatan, dan metrik. Permintaan ini mewakili seriesRef objek dalam permintaan time series POST. Untuk informasi lebih lanjut, lihat API Deret Waktu Clotho - POST.

Wajib: true

Jenis: object yang mencakup properti berikut:

subject

Ini sys_id adalah catatan khusus dalam tabel.

Wajib: true

Jenis: string

metric_name

Nama bidang metrik.

Wajib: true

Jenis: string

table

Nama tabel untuk menyimpan catatan dalam. Tentukan nilai ini untuk menimpa DefaultTableName parameter.

Wajib: false

Jenis: string

value

Nilai data poin individu.

Wajib: true

Jenis: float

timestamp

Timestamp dari data poin individu. Nilai default adalah waktu ketika ini.

Wajib: false

Jenis: string

Contoh input
{ "request": { "subject":"ef43c6d40a0a0b5700c77f9bf387afe3", "metric_name":"u_count", "table": "u_greengrass_app" "value": 1.0, "timestamp": "2018-10-14T10:30:00" } }

Data output

Konektor ini menerbitkan informasi status sebagai data output pada topik MQTT.

Filter topik dalam langganan

servicenow/metricbase/metric/status

Contoh output: Sukses
{ "response": { "metric_name": "Errors", "table_name": "GliderProd", "processed_on": "2018-10-14T10:35:00", "response_id": "khjKSkj132qwr23fcba", "status": "success", "values": [ { "timestamp": "2016-10-14T10:30:00", "value": 1.0 }, { "timestamp": "2016-10-14T10:31:00", "value": 1.1 } ] } }
Contoh output: Gagal
{ "response": { "error": "InvalidInputException", "error_message": "metric value is invalid", "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 json iot_client = greengrasssdk.client('iot-data') SEND_TOPIC = 'servicenow/metricbase/metric' def create_request_with_all_fields(): return { "request": { "subject": '2efdf6badbd523803acfae441b961961', "metric_name": 'u_count', "value": 1234, "timestamp": '2018-10-20T20:22:20', "table": 'u_greengrass_metricbase_test' } } 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

Yang ServiceNow MetricBase Konektor integrasi mencakup perangkat lunak/lisensi pihak ketiga berikut:

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