Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Schnellstart: Installieren Sie den CloudWatch Logs-Agenten mithilfe von AWS OpsWorks and Chef
Sie können den CloudWatch Logs-Agent installieren und Log-Streams mithilfe von AWS OpsWorks Chef, einem Automatisierungstool für Systeme und Cloud-Infrastrukturen von Drittanbietern, erstellen. Chef verwendet sog. „Rezepte”, die Sie schreiben, um Software auf Ihrem Computer zu installieren und zu konfigurieren, und sog. „Rezeptbücher”, also Rezeptsammlungen, mit denen die Konfigurations- und Richtlinienverteilungsaufgaben des Tools ausgeführt werden. Weitere Informationen finden Sie unter Chef
Die folgenden Beispiele für Chef-Rezepte zeigen, wie eine Protokolldatei auf jeder EC2 Instanz überwacht wird. Für die Rezepte wird der Stacknamen als Protokollgruppe und der Hostnamen der Instance als Protokollstreamnamen verwendet. Um mehrere Protokolldateien zu überwachen, müssen Sie die Rezepte erweitern, um mehrere Protokollgruppen und Protokollstreams zu erstellen.
Schritt 1: Erstellen von benutzerdefinierten Rezepten
Erstellen Sie ein Repository zum Speichern Ihrer Rezepte. AWS OpsWorks unterstützt Git und Subversion, oder Sie können ein Archiv in Amazon S3 speichern. Die Struktur des Rezeptbuch-Repository wird unter Rezeptbuch-Repositorys im AWS OpsWorks -Benutzerhandbuch beschrieben. Bei den nachstehenden Beispielen wird davon ausgegangen, dass das Rezeptbuch logs
heißt. Das Rezept install.rb installiert den CloudWatch Logs-Agenten. Sie können auch das Kochbuch-Beispiel (CloudWatchLogs-Cookbooks.zip) herunterladen.
Erstellen Sie eine Datei mit dem Namen metadata.rb, die folgenden Code enthält:
#metadata.rb name 'logs' version '0.0.1'
Erstellen Sie die CloudWatch Logs-Konfigurationsdatei:
#config.rb template "/tmp/cwlogs.cfg" do cookbook "logs" source "cwlogs.cfg.erb" owner "root" group "root" mode 0644 end
Laden Sie den CloudWatch Logs-Agenten herunter und installieren Sie ihn:
# 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
Anmerkung
Ersetzen Sie region
im obigen Beispiel durch einen der folgenden Werte: 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 oder sa-east-1.
Wenn die Installation des Agenten fehlschlägt, prüfen Sie, ob das Paket python-dev
installiert ist. Wenn dies nicht der Fall ist, verwenden Sie den folgenden Befehl und wiederholen Sie die Agenteninstallation:
sudo apt-get -y install python-dev
Dieses Rezept verwendet eine Vorlagendatei namens cwlogs.cfg.erb, die Sie ändern können, um verschiedene Attribute festzulegen, wie z. B. welche Dateien protokolliert werden sollen. Weitere Informationen zu diesen Attributen finden Sie unter CloudWatch Protokolliert die Agentenreferenz.
[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] %>
Die Vorlage erhält den Stack-Namen und den Host-Namen, indem auf die entsprechenden Attribute in der Stack-Konfiguration und Bereitstellungs-JSON verwiesen wird. Das Attribut, das die zu protokollierende Datei spezifiziert, ist in logs/attributes/default der Attributdatei default.rb (.rb) des cwlogs-Kochbuchs definiert.
default[:cwlogs][:logfile] = '/var/log/aws/opsworks/opsworks-agent.statistics.log'
Schritt 2: Erstellen Sie einen Stapel OpsWorks
Öffnen Sie die OpsWorks Konsole unter https://console.aws.amazon.com/opsworks/
. -
Wählen Sie im OpsWorks Dashboard Stapel hinzufügen aus, um einen OpsWorks Stapel zu erstellen.
-
Wählen Sie auf dem Bildschirm Add stack die Option Chef 11 stack aus.
-
Geben Sie für Stack name einen Namen ein.
-
Wählen Sie bei Use custom Chef Cookbooks die Option Yes.
-
Wählen Sie für Repository type den Repository-Typ, den Sie verwenden. Wenn Sie das oben genannte Beispiel verwenden, wählen Sie Http Archive.
-
Geben Sie für Repository URL das Repository ein, in dem Sie das Rezeptbuch gespeichert haben, das Sie im vorherigen Schritt erstellt haben. Wenn Sie das oben genannte Beispiel verwenden, geben Sie
https://s3.amazonaws.com/aws-cloudwatch/downloads/CloudWatchLogs-Cookbooks.zip
ein. -
Wählen Sie Add Stack aus, um den Stack zu erstellen.
Schritt 3: Erweitern Sie Ihre IAM-Rolle
Um CloudWatch Logs mit Ihren OpsWorks Instances verwenden zu können, müssen Sie die von Ihren Instances verwendete IAM-Rolle erweitern.
-
Öffnen Sie unter https://console.aws.amazon.com/iam/
die IAM-Konsole. -
Wählen Sie im Navigationsbereich Policies und Create Policy aus.
-
Wählen Sie auf der Seite Create Policy unter Create Your Own Policy die Option Select aus. Weitere Informationen zur Erstellung benutzerdefinierter Richtlinien finden Sie unter IAM-Richtlinien für Amazon EC2 im EC2 Amazon-Benutzerhandbuch.
-
Geben Sie auf der Seite Review Policy im Feld Policy Name einen Namen für die Richtlinie ein.
-
Fügen Sie die folgende Richtlinie unter Policy Document ein:
-
Wählen Sie Richtlinie erstellen aus.
-
Wählen Sie im Navigationsbereich Rollen und dann im Inhaltsbereich für Rollenname den Namen der Instance-Rolle aus, die von Ihrem OpsWorks Stack verwendet wird. Sie finden den von Ihrem Stack verwendeten Namen in den Stack-Einstellungen (der Standardnamen lautet
aws-opsworks-ec2-role
).Anmerkung
Wählen Sie den Rollennamen, aktivieren Sie nicht das Kontrollkästchen.
-
Wählen Sie auf der Registerkarte Permissions unter Managed Policies die Option Attach Policy aus.
-
Wählen Sie auf der Seite Attach Policy im Tabellen-Header (neben Filter und Search) die Option Policy Type und Customer Managed Policies aus.
-
Wählen Sie für Customer Managed Policies (Kundenverwaltete Richtlinien) die IAM-Richtlinie, die Sie zuvor erstellt haben, und wählen Sie Attach Policy (Richtlinie hinzufügen) aus.
Weitere Informationen zu Benutzern und Richtlinien finden Sie unter IAM-Benutzer und -Gruppen sowie unter Verwalten von IAM-Richtlinien im IAM-Benutzerhandbuch.
Schritt 4: Hinzufügen einer Ebene
Öffnen Sie die OpsWorks Konsole unter https://console.aws.amazon.com/opsworks/
. -
Wählen Sie im Navigationsbereich Ebenen aus.
-
Wählen Sie im Inhaltsbereich einen Layer aus und dann Add layer.
-
Wählen Sie auf der OpsWorksRegisterkarte für Layer-Typ die Option Benutzerdefiniert aus.
-
Geben Sie für die Felder Name und Short name den Lang- und Kurznamen des Layers ein und wählen Sie dann Add layer aus.
-
Auf der Registerkarte Rezepte gibt es unter Custom Chef Recipes mehrere Überschriften — Setup, Configure, Deploy, Undeploy und Shutdown —, die den Ereignissen im Lebenszyklus entsprechen OpsWorks . OpsWorks löst diese Ereignisse an diesen wichtigen Punkten im Lebenszyklus der Instanz aus, wodurch die zugehörigen Rezepte ausgeführt werden.
Anmerkung
Wenn die oben genannten Überschriften nicht sichtbar sind, wählen Sie unter Custom Chef Recipes die Option edit.
-
Geben Sie neben Setup den Text logs::config, logs::install ein und wählen Sie +, um ihn der Liste hinzuzufügen, wählen Sie anschließend Save.
OpsWorks führt dieses Rezept auf jeder der neuen Instanzen in dieser Ebene aus, direkt nachdem die Instanz gestartet wurde.
Schritt 5: Hinzufügen einer Instance
Mit dem Layer wird nur gesteuert, wie Instances konfiguriert werden. Sie müssen nun dem Layer einige Instances hinzufügen und diese starten.
Öffnen Sie die OpsWorks Konsole unter https://console.aws.amazon.com/opsworks/
. -
Wählen Sie im Navigationsbereich Instances aus und dann unter Ihrem Layer die Option + Instance.
-
Akzeptieren Sie die Standardeinstellungen und wählen Sie Add Instance, um dem Layer die Instance hinzuzufügen.
-
Klicken Sie in der Spalte Actions auf start, um die Instance zu starten.
OpsWorks startet eine neue EC2 Instanz und konfiguriert CloudWatch Logs. Der Status der Instance ändert sich zu „online”, sobald sie bereit ist.
Schritt 6: Anzeigen von Protokollen
Sie sollten die neu erstellte Protokollgruppe und den Protokollstream in der CloudWatch Konsole sehen, nachdem der Agent einige Zeit lang ausgeführt wurde.
Weitere Informationen finden Sie unter An Logs gesendete Protokolldaten anzeigen CloudWatch .