Membuat saluran pipa Amazon OpenSearch Ingestion - OpenSearch Layanan Amazon

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

Membuat saluran pipa Amazon OpenSearch Ingestion

Pipeline adalah mekanisme yang digunakan Amazon OpenSearch Ingestion untuk memindahkan data dari sumbernya (dari mana data berasal) ke wastafelnya (ke mana data pergi). Dalam OpenSearch Ingestion, wastafel akan selalu menjadi domain OpenSearch Layanan Amazon tunggal, sedangkan sumber data Anda bisa berupa klien seperti Amazon S3, Fluent Bit, atau Collector. OpenTelemetry

Untuk informasi selengkapnya, lihat Pipelines dalam OpenSearch dokumentasi.

Prasyarat dan peran yang diperlukan

Untuk membuat pipa OpenSearch Ingestion, Anda harus memiliki sumber daya berikut:

  • Peran IAM yang akan diasumsikan oleh OpenSearch Ingestion untuk menulis ke wastafel. Anda akan menyertakan peran ARN ini dalam konfigurasi pipeline Anda.

  • Domain OpenSearch Layanan atau koleksi OpenSearch Tanpa Server untuk bertindak sebagai wastafel. Jika Anda menulis ke domain, itu harus menjalankan OpenSearch 1.0 atau yang lebih baru, atau Elasticsearch 7.4 atau yang lebih baru. Wastafel harus memiliki kebijakan akses yang memberikan izin yang sesuai untuk peran pipeline IAM Anda.

Untuk petunjuk untuk membuat sumber daya ini, lihat topik berikut:

catatan

Jika Anda menulis ke domain yang menggunakan kontrol akses berbutir halus, ada langkah-langkah tambahan yang perlu Anda selesaikan. Lihat Langkah 3: Petakan peran pipeline (hanya untuk domain yang menggunakan kontrol akses berbutir halus).

Izin diperlukan

OpenSearch Ingestion menggunakan izin IAM berikut untuk membuat pipeline:

  • osis:CreatePipeline— Buat pipa.

  • osis:ValidatePipeline— Periksa apakah konfigurasi pipeline valid.

  • iam:PassRole— Lewati peran pipeline ke OpenSearch Ingestion sehingga dapat menulis data ke domain. Izin ini harus ada pada sumber daya peran pipeline (ARN yang Anda tentukan untuk sts_role_arn opsi dalam konfigurasi pipeline), atau hanya * jika Anda berencana untuk menggunakan peran yang berbeda di setiap pipeline.

Misalnya, kebijakan berikut memberikan izin untuk membuat pipeline:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Resource":"*", "Action":[ "osis:CreatePipeline", "osis:ListPipelineBlueprints", "osis:ValidatePipeline" ] }, { "Resource":[ "arn:aws:iam::{your-account-id}:role/{pipeline-role}" ], "Effect":"Allow", "Action":[ "iam:PassRole" ] } ] }

OpenSearch Ingestion juga mencakup izin yang dipanggilosis:Ingest, yang diperlukan untuk mengirim permintaan yang ditandatangani ke pipeline menggunakan Signature Version 4. Untuk informasi selengkapnya, lihat Membuat peran konsumsi.

catatan

Selain itu, pengguna pertama yang membuat pipeline di akun harus memiliki izin untuk iam:CreateServiceLinkedRole tindakan tersebut. Untuk informasi selengkapnya, lihat sumber daya peran pipeline.

Untuk informasi selengkapnya tentang setiap izin, lihat Tindakan, sumber daya, dan kunci kondisi untuk OpenSearch Tertelan di Referensi Otorisasi Layanan.

Menentukan versi pipeline

Saat Anda mengonfigurasi pipeline, Anda harus menentukan versi utama Data Prepper yang akan dijalankan pipeline. Untuk menentukan versi, sertakan version opsi dalam konfigurasi pipeline Anda:

version: "2" log-pipeline: source: ...

Saat Anda memilih Buat, OpenSearch Ingestion menentukan versi minor terbaru yang tersedia dari versi utama yang Anda tentukan, dan menyediakan pipeline dengan versi tersebut. Misalnya, jika Anda menentukanversion: "2", dan versi terbaru yang didukung dari Data Prepper adalah 2.1.1, OpenSearch Ingestion menyediakan pipeline Anda dengan versi 2.1.1. Kami tidak menampilkan versi minor yang sedang dijalankan pipeline Anda secara publik.

Untuk meningkatkan pipeline Anda saat versi utama baru dari Data Prepper tersedia, edit konfigurasi pipeline dan tentukan versi baru. Anda tidak dapat menurunkan versi pipeline ke versi sebelumnya.

catatan

OpenSearch Ingestion tidak segera mendukung versi baru dari Data Prepper segera setelah dirilis. Akan ada beberapa jeda antara saat versi baru tersedia untuk umum dan saat didukung di OpenSearch Ingestion. Selain itu, OpenSearch Ingestion mungkin secara eksplisit tidak mendukung versi mayor atau minor tertentu sama sekali. Untuk daftar lengkap, lihatVersi Data Prepper yang Didukung.

Setiap kali Anda membuat perubahan pada pipeline yang memulai penerapan biru/hijau, OpenSearch Ingestion dapat memutakhirkannya ke versi minor terbaru dari versi utama yang saat ini dikonfigurasi dalam file YAMAL pipeline. Untuk informasi lebih lanjut, lihatPenerapan biru/hijau untuk pembaruan saluran pipa. OpenSearch Ingestion tidak dapat mengubah versi utama pipeline Anda kecuali Anda secara eksplisit memperbarui version opsi dalam konfigurasi pipeline.

Menentukan jalur konsumsi

Untuk sumber berbasis tarik seperti OtEL trace dan metrik OTel, OpenSearch Ingestion memerlukan opsi tambahan dalam konfigurasi sumber Anda. path Path adalah string seperti/log/ingest, yang mewakili jalur URI untuk konsumsi. Path ini mendefinisikan URI yang Anda gunakan untuk mengirim data ke pipeline.

Misalnya, Anda menentukan sub-pipeline entri berikut untuk pipeline konsumsi bernama: logs

entry-pipeline: source: http: path: "/my/test_path"

Saat Anda memasukkan data ke dalam pipeline, Anda harus menentukan titik akhir berikut dalam konfigurasi klien Anda:. https://logs-abcdefgh.us-west-2.osis.amazonaws.com/my/test_path

Jalur harus dimulai dengan garis miring (/) dan dapat berisi karakter khusus '-', '_', ' . ', dan'/', serta ${pipelineName} placeholder. Jika Anda menggunakan ${pipelineName} (sepertipath: "/${pipelineName}/test_path"), variabel diganti dengan nama sub-pipeline terkait. Dalam contoh ini, itu akan terjadihttps://logs.us-west-2.osis.amazonaws.com/entry-pipeline/test_path.

Membuat jaringan pipa

Bagian ini menjelaskan cara membuat pipeline OpenSearch Ingestion menggunakan konsol OpenSearch Layanan dan. AWS CLI

Untuk membuat pipa
  1. Masuk ke konsol OpenSearch Layanan Amazon di https://console.aws.amazon.com/aos/home.

  2. Pilih Pipelines di panel navigasi kiri dan pilih Create pipeline.

  3. Masukkan nama untuk alur.

  4. (Opsional) Pilih Aktifkan buffer persisten. Buffer persisten menyimpan data Anda dalam buffer berbasis disk di beberapa AZ. Untuk informasi lebih lanjut, lihat Buffering persisten. Jika Anda mengaktifkan buffer persisten, pilih AWS Key Management Service kunci untuk mengenkripsi data buffer.

  5. Konfigurasikan kapasitas pipeline minimum dan maksimum di Ingestion OpenSearch Compute Units (OCU). Untuk informasi selengkapnya, lihat Penskalaan pipa.

  6. Di bawah konfigurasi Pipeline, berikan konfigurasi pipeline Anda dalam format YAMG. File konfigurasi pipeline tunggal dapat berisi 1-10 sub-pipeline. Setiap sub-pipa adalah kombinasi dari satu sumber, nol atau lebih prosesor, dan satu wastafel. Untuk OpenSearch Ingestion, wastafel harus selalu menjadi domain OpenSearch Layanan. Untuk daftar opsi yang didukung, lihatPlugin dan opsi yang didukung untuk saluran Amazon OpenSearch Ingestion.

    catatan

    Anda harus menyertakan sts_role_arn dan sigv4 opsi di setiap sub-pipeline. Pipeline mengasumsikan peran yang ditentukan sts_role_arn untuk menandatangani permintaan ke domain. Untuk informasi selengkapnya, lihat Memberikan akses saluran pipa Amazon OpenSearch Ingestion ke domain.

    Contoh file konfigurasi berikut menggunakan sumber HTTP dan plugin Grok untuk memproses data log tidak terstruktur dan mengirimkannya ke domain Layanan. OpenSearch Sub-pipeline diberi namalog-pipeline.

    version: "2" log-pipeline: source: http: path: "/log/ingest" processor: - grok: match: log: [ '%{COMMONAPACHELOG}' ] - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://search-my-domain.us-east-1.es.amazonaws.com" ] index: "apache_logs" aws: sts_role_arn: "arn:aws:iam::123456789012:role/{pipeline-role}" region: "us-east-1"
    catatan

    Jika Anda menentukan beberapa sink dalam definisi pipeline YAMG, semuanya harus merupakan domain OpenSearch Layanan yang sama. Pipeline OpenSearch Ingestion tidak dapat menulis ke beberapa domain yang berbeda.

    Anda dapat membuat konfigurasi pipeline sendiri, atau memilih Unggah file dan mengimpor konfigurasi yang ada untuk pipeline Persiapan Data yang dikelola sendiri. Atau, Anda dapat menggunakan cetak biru konfigurasi.

  7. Setelah mengonfigurasi pipeline, pilih Validasi pipeline untuk mengonfirmasi bahwa konfigurasi sudah benar. Jika validasi gagal, perbaiki kesalahan dan jalankan kembali validasi.

  8. Di bawah Konfigurasi jaringan, pilih akses VPC atau Akses publik. Jika Anda memilih Akses publik, lewati ke langkah berikutnya. Jika Anda memilih akses VPC, konfigurasikan pengaturan berikut:

    Pengaturan Deskripsi
    VPC

    Pilih ID virtual private cloud (VPC) yang ingin Anda gunakan. VPC dan pipeline harus sama. Wilayah AWS

    Subnet

    Pilih satu atau lebih subnet. OpenSearch Layanan akan menempatkan titik akhir VPC dan antarmuka jaringan elastis di subnet.

    Grup keamanan

    Pilih satu atau beberapa grup keamanan VPC yang memungkinkan aplikasi Anda mencapai pipeline OpenSearch Ingestion pada port (80 atau 443) dan protokol (HTTP atau HTTPs) yang diekspos oleh pipeline.

    Opsi lampiran VPC

    Jika sumber Anda adalah titik akhir yang dikelola sendiri, lampirkan pipeline Anda ke VPC. Pilih salah satu opsi CIDR default yang disediakan, atau gunakan CIDR khusus.

    Untuk informasi selengkapnya, lihat Mengkonfigurasi akses VPC untuk saluran pipa Amazon Ingestion OpenSearch .

  9. (Opsional) Di bawah Tag, tambahkan satu atau beberapa tag (pasangan nilai kunci) ke pipeline Anda. Untuk informasi selengkapnya, lihat Menandai jaringan pipa Amazon OpenSearch Ingestion.

  10. (Opsional) Di bawah opsi penerbitan Log, aktifkan penerbitan log pipeline ke Amazon CloudWatch Logs. Kami menyarankan Anda mengaktifkan penerbitan log sehingga Anda dapat lebih mudah memecahkan masalah pipeline. Untuk informasi selengkapnya, lihat Memantau log.

  11. Pilih Berikutnya.

  12. Tinjau konfigurasi pipeline Anda dan pilih Buat.

OpenSearch Ingestion menjalankan proses asinkron untuk membangun pipeline. Setelah status pipelineActive, Anda dapat mulai menelan data.

Perintah create-pipeline menerima konfigurasi pipeline sebagai string atau dalam file.yaml. Jika Anda memberikan konfigurasi sebagai string, setiap baris baru harus diloloskan. \n Misalnya, "log-pipeline:\n source:\n http:\n processor:\n - grok:\n ...

Perintah contoh berikut membuat pipeline dengan konfigurasi berikut:

  • Minimal 4 OCU Tertelan, maksimum 10 OCU Tertelan

  • Disediakan dalam virtual private cloud (VPC)

  • Penerbitan log diaktifkan

aws osis create-pipeline \ --pipeline-name my-pipeline \ --min-units 4 \ --max-units 10 \ --log-publishing-options IsLoggingEnabled=true,CloudWatchLogDestination={LogGroup="MyLogGroup"} \ --vpc-options SecurityGroupIds={sg-12345678,sg-9012345},SubnetIds=subnet-1212234567834asdf \ --pipeline-configuration-body "file://pipeline-config.yaml"

OpenSearch Ingestion menjalankan proses asinkron untuk membangun pipeline. Setelah status pipelineActive, Anda dapat mulai menelan data. Untuk memeriksa status pipa, gunakan GetPipelineperintah.

Untuk membuat pipeline OpenSearch Ingestion menggunakan API OpenSearch Ingestion, panggil operasi. CreatePipeline

Setelah pipeline berhasil dibuat, Anda dapat mengonfigurasi klien dan mulai memasukkan data ke dalam domain OpenSearch Layanan. Untuk informasi selengkapnya, lihat Bekerja dengan integrasi pipa Amazon OpenSearch Ingestion.

Melacak status pembuatan pipa

Anda dapat melacak status pipa saat OpenSearch Ingestion menyediakannya dan menyiapkannya untuk menyerap data.

Setelah Anda awalnya membuat pipeline, ia melewati beberapa tahap saat OpenSearch Ingestion mempersiapkannya untuk menelan data. Untuk melihat berbagai tahapan pembuatan pipeline, pilih nama pipeline untuk melihat halaman pengaturan Pipeline. Di bawah Status, pilih Lihat detail.

Pipeline melewati tahapan berikut sebelum tersedia untuk menelan data:

  • Validasi - Memvalidasi konfigurasi pipeline. Ketika tahap ini selesai, semua validasi telah berhasil.

  • Ciptakan lingkungan — Mempersiapkan dan menyediakan sumber daya. Ketika tahap ini selesai, lingkungan pipa baru telah dibuat.

  • Menyebarkan pipa - Menyebarkan pipa. Ketika tahap ini selesai, pipa telah berhasil dikerahkan.

  • Periksa kesehatan pipa — Memeriksa kesehatan pipa. Ketika tahap ini selesai, semua pemeriksaan kesehatan telah berlalu.

  • Aktifkan lalu lintas - Mengaktifkan pipeline untuk menyerap data. Ketika tahap ini selesai, Anda dapat mulai menelan data ke dalam pipa.

Gunakan get-pipeline-change-progressperintah untuk memeriksa status pipa. AWS CLI Permintaan berikut memeriksa status pipeline bernamamy-pipeline:

aws osis get-pipeline-change-progress \ --pipeline-name my-pipeline

Tanggapan:

{ "ChangeProgressStatuses": { "ChangeProgressStages": [ { "Description": "Validating pipeline configuration", "LastUpdated": 1.671055851E9, "Name": "VALIDATION", "Status": "PENDING" } ], "StartTime": 1.671055851E9, "Status": "PROCESSING", "TotalNumberOfStages": 5 } }

Untuk melacak status pembuatan pipeline menggunakan API OpenSearch Ingestion, hubungi operasi. GetPipelineChangeProgress

Menggunakan cetak biru untuk membuat pipeline

Daripada membuat definisi pipeline dari awal, Anda dapat menggunakan cetak biru konfigurasi, yang merupakan templat YAMAL yang telah dikonfigurasi sebelumnya untuk skenario konsumsi umum seperti Trace Analytics atau log Apache. Cetak biru konfigurasi membantu Anda menyediakan saluran pipa dengan mudah tanpa harus membuat konfigurasi dari awal.

Untuk menggunakan cetak biru pipa
  1. Masuk ke konsol OpenSearch Layanan Amazon di https://console.aws.amazon.com/aos/home.

  2. Pilih Pipelines di panel navigasi kiri dan pilih Create pipeline.

  3. Pilih cetak biru. Konfigurasi pipeline diisi dengan sub-pipeline untuk kasus penggunaan yang Anda pilih.

  4. Tinjau teks yang dikomentari yang memandu Anda melalui konfigurasi cetak biru.

    penting

    Cetak biru pipeline tidak valid apa adanya. Anda perlu membuat beberapa modifikasi, seperti menyediakan Wilayah AWS dan peran ARN untuk digunakan untuk otentikasi, jika tidak validasi pipeline akan gagal.

Untuk mendapatkan daftar semua cetak biru yang tersedia menggunakan AWS CLI, kirim permintaan. list-pipeline-blueprints

aws osis list-pipeline-blueprints

Permintaan mengembalikan daftar semua cetak biru yang tersedia.

Untuk mendapatkan informasi lebih rinci tentang cetak biru tertentu, gunakan perintah: get-pipeline-blueprint

aws osis get-pipeline-blueprint --blueprint-name AWS-ApacheLogPipeline

Permintaan ini mengembalikan isi cetak biru pipeline log Apache:

{ "Blueprint":{ "PipelineConfigurationBody":"###\n # Limitations: https://docs.aws.amazon.com/opensearch-service/latest/ingestion/ingestion.html#ingestion-limitations\n###\n###\n # apache-log-pipeline:\n # This pipeline receives logs via http (e.g. FluentBit), extracts important values from the logs by matching\n # the value in the 'log' key against the grok common Apache log pattern. The grokked logs are then sent\n # to OpenSearch to an index named 'logs'\n###\n\nversion: \"2\"\napache-log-pipeline:\n source:\n http:\n # Provide the path for ingestion. ${pipelineName} will be replaced with pipeline name configured for this pipeline.\n # In this case it would be \"/apache-log-pipeline/logs\". This will be the FluentBit output URI value.\n path: \"/${pipelineName}/logs\"\n processor:\n - grok:\n match:\n log: [ \"%{COMMONAPACHELOG_DATATYPED}\" ]\n sink:\n - opensearch:\n # Provide an AWS OpenSearch Service domain endpoint\n # hosts: [ \"https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com\" ]\n aws:\n # Provide a Role ARN with access to the domain. This role should have a trust relationship with osis-pipelines.amazonaws.com\n # sts_role_arn: \"arn:aws:iam::123456789012:role/Example-Role\"\n # Provide the region of the domain.\n # region: \"us-east-1\"\n # Enable the 'serverless' flag if the sink is an Amazon OpenSearch Serverless collection\n # serverless: true\n index: \"logs\"\n # Enable the S3 DLQ to capture any failed requests in an S3 bucket\n # dlq:\n # s3:\n # Provide an S3 bucket\n # bucket: \"your-dlq-bucket-name\"\n # Provide a key path prefix for the failed requests\n # key_path_prefix: \"${pipelineName}/logs/dlq\"\n # Provide the region of the bucket.\n # region: \"us-east-1\"\n # Provide a Role ARN with access to the bucket. This role should have a trust relationship with osis-pipelines.amazonaws.com\n # sts_role_arn: \"arn:aws:iam::123456789012:role/Example-Role\"\n", "BlueprintName":"AWS-ApacheLogPipeline" } }

Untuk mendapatkan informasi tentang cetak biru pipeline menggunakan API OpenSearch Ingestion, gunakan dan operasi. ListPipelineBlueprintsGetPipelineBlueprint