Mulai cepat: Menginstal CloudWatch Log agen menggunakanAWS OpsWorksdan Chef - CloudWatch Log Amazon

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

Mulai cepat: Menginstal CloudWatch Log agen menggunakanAWS OpsWorksdan Chef

Anda bisa menginstal CloudWatch Log agen dan membuat log stream menggunakanAWS OpsWorksdan Chef, yang merupakan sistem pihak ketiga dan alat otomatisasi infrastruktur cloud. Chef menggunakan "resep", yang Anda tulis untuk menginstal dan mengonfigurasi perangkat lunak di komputer Anda, dan "buku resep," yang merupakan kumpulan resep, untuk melakukan konfigurasi dan tugas distribusi kebijakannya. Untuk informasi selengkapnya, lihat Chef.

Contoh resep Chef di bawah ini menunjukkan cara memantau satu berkas log di setiap instans EC2. Resep menggunakan nama tumpukan sebagai grup log dan nama host instans sebagai nama pengaliran log. Untuk memantau beberapa berkas log, Anda perlu memperluas resep untuk membuat beberapa grup log dan pengaliran log.

Langkah 1: Membuat resep khusus

Buat repositori untuk menyimpan resep Anda. AWS OpsWorksmendukung Git dan Subversion, atau Anda dapat menyimpan arsip di Amazon S3. Struktur repositori buku resep Anda dijelaskan dalam Repositori Cookbook di Panduan Pengguna AWS OpsWorks. Contoh di bawah ini mengasumsikan bahwa buku resep bernama logs. Resep install.rb menginstal CloudWatch Agen Log. Anda juga dapat mengunduh contoh buku resep (CloudWatchLogs-Cookbooks.zip).

Buat file bernama metadata.rb yang berisi kode berikut:

#metadata.rb name 'logs' version '0.0.1'

Buat CloudWatch File konfigurasi:

#config.rb template "/tmp/cwlogs.cfg" do cookbook "logs" source "cwlogs.cfg.erb" owner "root" group "root" mode 0644 end

Unduh dan instal CloudWatch Agen Log:

# install.rb directory "/opt/aws/cloudwatch" do recursive true end remote_file "/opt/aws/cloudwatch/awslogs-agent-setup.py" do source "https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py" mode "0755" end execute "Install CloudWatch Logs agent" do command "/opt/aws/cloudwatch/awslogs-agent-setup.py -n -r region -c /tmp/cwlogs.cfg" not_if { system "pgrep -f aws-logs-agent-setup" } end
catatan

Dalam contoh di atas, ganti region dengan salah satu dari yang berikut: us-east-1, us-west-1, us-west-2, ap-south-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-northeast-1, eu-central-1, eu-west-1, atau sa-east-1.

Jika instalasi agen gagal, periksa untuk memastikan bahwa paket python-dev sudah diinstal. Jika belum, gunakan perintah berikut, lalu coba lagi instalasi agen:

sudo apt-get -y install python-dev

Resep ini menggunakan file templat cwlogs.cfg.erb yang dapat Anda modifikasi untuk menentukan berbagai atribut seperti file apa yang akan dicatat. Untuk informasi selengkapnya tentang atribut ini, lihat CloudWatch Referensi agen Log.

[general] # Path to the AWSLogs agent's state file. Agent uses this file to maintain # client side state across its executions. state_file = /var/awslogs/state/agent-state ## Each log file is defined in its own section. The section name doesn't ## matter as long as its unique within this file. # #[kern.log] # ## Path of log file for the agent to monitor and upload. # #file = /var/log/kern.log # ## Name of the destination log group. # #log_group_name = kern.log # ## Name of the destination log stream. # #log_stream_name = {instance_id} # ## Format specifier for timestamp parsing. # #datetime_format = %b %d %H:%M:%S # # [<%= node[:opsworks][:stack][:name] %>] datetime_format = [%Y-%m-%d %H:%M:%S] log_group_name = <%= node[:opsworks][:stack][:name].gsub(' ','_') %> file = <%= node[:cwlogs][:logfile] %> log_stream_name = <%= node[:opsworks][:instance][:hostname] %>

Templat mendapat nama tumpukan dan nama host dengan referensi atribut yang sesuai dalam konfigurasi tumpukan dan deployment JSON. Atribut yang menentukan file yang akan dicatat ditentukan dalam file atribut cwlogs cookbook default.rb (logs/attributes/default.rb).

default[:cwlogs][:logfile] = '/var/log/aws/opsworks/opsworks-agent.statistics.log'

Langkah 2: BuatAWS OpsWorkstumpukan

  1. Buka konsol AWS OpsWorks di https://console.aws.amazon.com/opsworks/.

  2. Di OpsWorks Dashboard (Dasbor OpsWorks), pilih Add stack (Tambah tumpukan) untuk membuat tumpukan AWS OpsWorks.

  3. Di layar Add stack (Tambah tumpukan), pilih Chef 11 stack (Tumpukan Chef 11).

  4. Untuk Stack name (Nama tumpukan), masukkan nama.

  5. Untuk Use custom Chef Cookbooks (Gunakan Chef Cookboks khusus), pilih Yes (Ya).

  6. Untuk Repository type (Jenis repositori), pilih jenis repositori yang Anda gunakan. Jika Anda menggunakan contoh di atas, pilih Http Archive (Arsip Http).

  7. Untuk Repository URL (URL Repositori), masukkan repositori tempat Anda menyimpan buku resep yang Anda buat di langkah sebelumnya. Jika Anda menggunakan contoh di atas, masukkan https://s3.amazonaws.com/aws-cloudwatch/downloads/CloudWatchLogs-Cookbooks.zip.

  8. Pilih Add Stack (Tambah tumpukan) untuk membuat tumpukan.

Langkah 3: Perluas peran IAM Anda

Untuk menggunakan CloudWatch Log denganAWS OpsWorksinstans, Anda perlu memperluas peran IAM yang digunakan oleh instans Anda.

  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Policies (Kebijakan), Create Policy (Buat Kebijakan).

  3. Di halaman Create Policy (Buat Kebijakan), di bawah Create Your Own Policy (Buat Kebijakan Anda Sendiri), pilih Select (Pilihan). Untuk informasi selengkapnya tentang membuat kebijakan khusus, lihat Kebijakan IAM untuk Amazon EC2 dalam Panduan Pengguna Amazon EC2 untuk Instans Linux.

  4. Di halaman Review Policy (Tinjau Kebijakan), untuk Policy Name (Nama Kebijakan), ketikkan nama untuk kebijakan tersebut.

  5. Untuk Policy Document (Dokumen Kebijakan), tempelkan kebijakan berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  6. Pilih Buat Kebijakan.

  7. Di panel navigasi, pilih Roles (Peran), lalu di panel konten, untuk Role Name (Nama Peran), pilih nama peran instans yang digunakan oleh tumpukan AWS OpsWorks Anda. Anda dapat menemukan peran yang digunakan oleh tumpukan Anda di pengaturan tumpukan (default-nya adalah aws-opsworks-ec2-role).

    catatan

    Pilih nama peran, bukan kotak centang.

  8. Di tab Permissions (Izin), di bawah Managed Policies (Kebijakan Terkelola), pilih Attach Policy (Lampirkan Kebijakan.).

  9. Di halaman Attach Policy (Lampirkan Kebijakan), di header tabel (di sebelah Filter dan Search (Pencarian)), pilih Policy Type (Tipe Kebijakan), Customer Managed Policies (Kebijakan yang Dikelola Pelanggan).

  10. Untuk Customer Managed Policies (Kebijakan yang Dikelola Pelanggan), pilih kebijakan IAM yang Anda buat di atas dan pilih Attach Policy (Lampirkan Kebijakan).

    Untuk informasi selengkapnya tentang pengguna dan kebijakan IAM, lihat Pengguna dan Grup IAM dan Mengelola Kebijakan IAM dalam Panduan Pengguna IAM.

Langkah 4: Menambahkan lapisan

  1. Buka konsol AWS OpsWorks di https://console.aws.amazon.com/opsworks/.

  2. Di panel navigasi, pilih Layers (Lapisan).

  3. Di panel konten, pilih lapisan dan pilih Add layer (Tambah lapisan).

  4. Di tab OpsWorks untuk Layer type (Jenis lapisan), pilih Custom (Khusus).

  5. Untuk Name (Nama) dan Short name (Nama pendek), masukkan nama panjang dan pendek untuk lapisan, lalu pilih Add layer (Tambah lapisan).

  6. Di tab Recipes (Resep), di bawah Custom Chef Recipes (Resep Chef Khusus), ada beberapa judul—Setup (Penyiapan), Configure (Konfigurasi), Deploy, Undeploy (Batalkan deploy), dan Shutdown (Hentikan)—yang sesuai dengan kejadian siklus hidup AWS OpsWorks. AWS OpsWorks memicu kejadian-kejadian pada titik-titik kunci dalam siklus hidup instans, yang menjalankan resep yang terkait.

    catatan

    Jika judul di atas tidak terlihat, di bawah Custom Chef Recipes (Resep Chef Khusus), pilih edit.

  7. Masukkan logs::config, logs::install di sebelah Setup (Penyiapan), pilih + untuk menambahkannya ke daftar, lalu pilih Save (Simpan).

    AWS OpsWorks menjalankan resep ini di setiap instans baru di lapisan ini, tepat setelah instans di-boot.

Langkah 5: Menambahkan instans

Lapisan hanya mengontrol cara mengonfigurasi instans. Anda sekarang perlu menambahkan beberapa instans ke lapisan dan memulainya.

  1. Buka konsol AWS OpsWorks di https://console.aws.amazon.com/opsworks/.

  2. Di panel navigasi, pilih Instances (Instans), lalu di lapisan Anda, pilih + Instance (+ Instans).

  3. Setujui pengaturan default dan pilih Add Instance (Tambah Instans) untuk menambahkan instans ke lapisan.

  4. Di kolom baris Actions (Tindakan), klik start (mulai) untuk memulai instans.

    AWS OpsWorksmeluncurkan instans EC2 baru dan mengonfigurasi CloudWatch Log. Status instans berubah menjadi online (daring) ketika sudah siap.

Langkah 6: Melihat log Anda

Anda akan melihat grup log yang baru dibuat dan pengaliran log di CloudWatch konsol setelah agen berjalan selama beberapa saat.

Untuk informasi selengkapnya, lihat Melihat data log yang dikirim ke CloudWatch Log.