Menggunakan konfigurasi pemantauan untuk memantau operator Flink Kubernetes dan pekerjaan Flink - Amazon EMR

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

Menggunakan konfigurasi pemantauan untuk memantau operator Flink Kubernetes dan pekerjaan Flink

Konfigurasi pemantauan memungkinkan Anda dengan mudah mengatur pengarsipan log aplikasi Flink dan log operator Anda ke S3 dan/atau CloudWatch (Anda dapat memilih salah satu atau keduanya). Melakukan hal itu menambahkan sidecar FluentD ke JobManager Anda TaskManager dan pod dan selanjutnya meneruskan log komponen ini ke sink yang dikonfigurasi.

catatan

Anda harus mengatur Peran IAM untuk akun layanan untuk operator Flink Anda dan pekerjaan Flink Anda (Akun Layanan) untuk dapat menggunakan fitur ini, karena memerlukan interaksi dengan yang lain. Layanan AWS Anda harus mengatur ini menggunakan IRSA diMenyiapkan operator Flink Kubernetes untuk Amazon EMR di EKS.

Anda dapat menentukan konfigurasi ini dengan cara berikut.

apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: basic-example spec: image: FLINK IMAGE TAG imagePullPolicy: Always flinkVersion: v1_17 flinkConfiguration: taskmanager.numberOfTaskSlots: "2" executionRoleArn: JOB EXECUTION ROLE jobManager: resource: memory: "2048m" cpu: 1 taskManager: resource: memory: "2048m" cpu: 1 job: jarURI: local:///opt/flink/examples/streaming/StateMachineExample.jar monitoringConfiguration: s3MonitoringConfiguration: logUri: S3 BUCKET cloudWatchMonitoringConfiguration: logGroupName: LOG GROUP NAME logStreamNamePrefix: LOG GROUP STREAM PREFIX sideCarResources: limits: cpuLimit: 500m memoryLimit: 250Mi containerLogRotationConfiguration: rotationSize: 2GB maxFilesToKeep: 10

Berikut ini adalah opsi konfigurasi.

  • s3MonitoringConfiguration— Kunci konfigurasi untuk mengatur penerusan ke S3

    • logUri(wajib) — jalur bucket S3 tempat Anda ingin menyimpan log Anda.

    • Jalur di S3 setelah log diunggah akan terlihat seperti berikut.

      • Tidak ada rotasi log yang diaktifkan:

        s3://${logUri}/${POD NAME}/STDOUT or STDERR.gz
      • Rotasi log diaktifkan. Anda dapat menggunakan file yang diputar dan file saat ini (satu tanpa cap tanggal).

        s3://${logUri}/${POD NAME}/STDOUT or STDERR.gz

        Format berikut adalah angka yang bertambah.

        s3://${logUri}/${POD NAME}/stdout_YYYYMMDD_index.gz
    • Izin IAM berikut diperlukan untuk menggunakan forwarder ini.

      { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "S3_BUCKET_URI/*", "S3_BUCKET_URI" ] }
  • cloudWatchMonitoringConfiguration— kunci konfigurasi untuk mengatur penerusan ke. CloudWatch

    • logGroupName(wajib) — nameof grup CloudWatch log yang ingin Anda kirimi log (secara otomatis membuat grup jika tidak ada).

    • logStreamNamePrefix(opsional) — nama aliran log yang ingin Anda kirim log ke. Nilai default adalah string kosong. Formatnya adalah sebagai berikut:

      ${logStreamNamePrefix}/${POD NAME}/STDOUT or STDERR
    • Izin IAM berikut diperlukan untuk menggunakan forwarder ini.

      { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:REGION:ACCOUNT-ID:log-group:{YOUR_LOG_GROUP_NAME}:*", "arn:aws:logs:REGION:ACCOUNT-ID:log-group:{YOUR_LOG_GROUP_NAME}" ] }
  • sideCarResources(opsional) — kunci konfigurasi untuk menetapkan batas sumber daya pada wadah sidecar Fluentbit yang diluncurkan.

    • memoryLimit(opsional) - nilai default adalah 512Mi. Sesuaikan sesuai dengan kebutuhan Anda.

    • cpuLimit(opsional) — opsi ini tidak memiliki default. Sesuaikan sesuai dengan kebutuhan Anda.

  • containerLogRotationConfiguration(opsional) — mengontrol perilaku rotasi log kontainer. Agen tidak diaktifkan secara default.

    • rotationSize(wajib) - menentukan ukuran file untuk rotasi log. Kisaran nilai yang mungkin adalah dari 2KB hingga 2GB. Bagian unit numerik dari parameter RotationSize dilewatkan sebagai bilangan bulat. Karena nilai desimal tidak didukung, Anda dapat menentukan ukuran rotasi 1,5GB, misalnya, dengan nilai 1500MB. Defaultnya adalah 2GB.

    • maxFilesToKeep(wajib) — menentukan jumlah maksimum file untuk disimpan dalam wadah setelah rotasi telah terjadi. Nilai minimum adalah 1, dan nilai maksimum adalah 50. Default-nya adalah 10.

Kami juga dapat mengaktifkan pengarsipan log untuk operator dengan menggunakan opsi berikut dalam values.yaml file di instalasi bagan helm Anda. Anda dapat mengaktifkan S3, CloudWatch, atau keduanya.

monitoringConfiguration: s3MonitoringConfiguration: logUri: "S3-BUCKET" totalFileSize: "1G" uploadTimeout: "1m" cloudWatchMonitoringConfiguration: logGroupName: "flink-log-group" logStreamNamePrefix: "example-job-prefix-test-2" sideCarResources: limits: cpuLimit: 1 memoryLimit: 800Mi memoryBufferLimit: 700M

Berikut ini adalah opsi konfigurasi yang tersedia di bawahmonitoringConfiguration.

  • s3MonitoringConfiguration— atur opsi ini untuk mengarsipkan ke S3.

  • logUri(wajib) - Jalur bucket S3 tempat Anda ingin menyimpan log Anda.

  • Berikut ini adalah format seperti apa jalur bucket S3 setelah log diunggah.

    • Tidak ada rotasi log yang diaktifkan.

      s3://${logUri}/${POD NAME}/OPERATOR or WEBHOOK/STDOUT or STDERR.gz
    • Rotasi log diaktifkan. Anda dapat menggunakan file yang diputar dan file saat ini (satu tanpa cap tanggal).

      s3://${logUri}/${POD NAME}/OPERATOR or WEBHOOK/STDOUT or STDERR.gz

      Indeks format berikut adalah angka yang bertambah.

      s3://${logUri}/${POD NAME}/OPERATOR or WEBHOOK/stdout_YYYYMMDD_index.gz
  • cloudWatchMonitoringConfiguration— kunci konfigurasi untuk mengatur penerusan ke. CloudWatch

    • logGroupName(wajib) — nama grup CloudWatch log yang ingin Anda kirimi log. Grup secara otomatis akan dibuat jika tidak ada.

    • logStreamNamePrefix(opsional) — nama aliran log yang ingin Anda kirim log ke. Nilai default adalah string kosong. Formatnya CloudWatch adalah sebagai berikut:

      ${logStreamNamePrefix}/${POD NAME}/STDOUT or STDERR
  • sideCarResources(opsional) — kunci konfigurasi untuk menetapkan batas sumber daya pada wadah sidecar Fluentbit yang diluncurkan.

    • memoryLimit(opsional) — batas memori. Sesuaikan sesuai dengan kebutuhan Anda. Defaultnya adalah 512Mi.

    • cpuLimit— batas CPU. Sesuaikan sesuai dengan kebutuhan Anda. Tidak ada nilai default.

  • containerLogRotationConfiguration(opsional): — mengontrol perilaku rotasi log kontainer. Agen tidak diaktifkan secara default.

    • rotationSize(wajib) - menentukan ukuran file untuk rotasi log. Kisaran nilai yang mungkin adalah dari 2KB hingga 2GB. Bagian unit numerik dari parameter RotationSize dilewatkan sebagai bilangan bulat. Karena nilai desimal tidak didukung, Anda dapat menentukan ukuran rotasi 1,5GB, misalnya, dengan nilai 1500MB. Defaultnya adalah 2GB.

    • maxFilesToKeep(wajib) — menentukan jumlah maksimum file untuk disimpan dalam wadah setelah rotasi telah terjadi. Nilai minimum adalah 1, dan nilai maksimum adalah 50. Default-nya adalah 10.