Mulai Cepat: Instal agen CloudWatch Log menggunakan AWS OpsWorks dan 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: Instal agen CloudWatch Log menggunakan AWS OpsWorks dan Chef

Anda dapat menginstal agen CloudWatch Log dan membuat aliran log menggunakan AWS OpsWorks dan 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: Buat resep khusus

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

Buat file bernama metadata.rb yang berisi kode berikut:

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

Buat file konfigurasi CloudWatch Log:

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

Unduh dan instal agen CloudWatch 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: Buat AWS OpsWorks tumpukan

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

  2. Di OpsWorks Dasbor, pilih Tambahkan tumpukan untuk membuat AWS OpsWorks tumpukan.

  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 IAM role Anda

Untuk menggunakan CloudWatch Log dengan AWS OpsWorks instance Anda, Anda perlu memperluas peran IAM yang digunakan oleh instance 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 Peran, lalu di panel konten, untuk Nama Peran, pilih nama peran instance yang digunakan oleh tumpukan Anda AWS OpsWorks . 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, lihat Pengguna dan Grup IAM dan Mengelola Kebijakan IAM di Panduan Pengguna IAM.

Langkah 4: Tambahkan lapisan

  1. Buka AWS OpsWorks konsol 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. Pada OpsWorkstab, untuk tipe Layer, pilih Custom.

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

  6. Pada tab Resep, di bawah Resep Koki Kustom, ada beberapa judul— Setup, Configure, Deploy, Undeploy, dan Shutdown —yang sesuai dengan peristiwa siklus hidup. AWS OpsWorks AWS OpsWorks memicu peristiwa ini pada titik-titik penting ini dalam siklus hidup instance, yang menjalankan resep 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 pada setiap instance baru di layer ini, tepat setelah instance boot.

Langkah 5: Tambahkan instans

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

  1. Buka AWS OpsWorks konsol 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 OpsWorks meluncurkan instans EC2 baru dan mengonfigurasi CloudWatch Log. Status instans berubah menjadi online (daring) ketika sudah siap.

Langkah 6: Lihat log Anda

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

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