Hur att Installera och Konfigurera AWS CloudWatch Agent på en Windows-Server

0
217

Cloud-servrar behöver inte vara Linux-baserade Windows server arbetsbelastning kan köra i AWS och är kompatibel med de flesta av inbyggda tjänster som Amazon erbjuder, inklusive deras CloudWatch verktyg för övervakning, trots att du måste installera den agent manuellt.

Kör servrar i on-prem datacenter kan innebära att ha en infrastruktur för övervakning lösning som fungerar tillsammans med varje server. Denna lösning ofta förbrukar lika mycket resurser som det program som den är tänkt att vara övervakning!

I Amazon Web Services (AWS) moln, samma robusta övervakning och loggning finns utan att behöva bry sig om proviantering av extra resurser eller konfigurera åtkomst. AWS är lösningen på detta problem är CloudWatch.

CloudWatch är en AWS service som fångar loggar och server statistik från olika källor. CloudWatch samlar in information från resurser som EC2 (Elastic Compute Cloud) fall eller on-prem servrar. Det sedan konsoliderar dem till en central plats i AWS.

I slutet av den här handledningen, kommer du att kunna installera AWS CloudWatch agent på en Windows-EC2-instans och konfigurera den för att skicka loggar in CloudWatch.

Förutsättningar

Att följa med, du behöver följande:

  1. En AWS Konto
  2. En 64-bitars Windows Server EC2-instansen ELLER en on-prem servern som kör Server 2008 eller senare
  3. Den viktigaste filen i samband med exempel (EC2-instanser endast)

Ansluta till en Windows-EC2-Instans

Det första steget i att sätta upp CloudWatch är att installera CloudWatch agent. Agenten är vad som skickar information tillbaka till AWS att din server genererar. Innan du kan göra det om du först behöver ansluta till ditt Windows EC2 exempel.

För att ansluta till en Windows-EC2-instans, kommer du behöver för att få två bitar av information från EC2 avsnitt i din AWS-konsolen för Windows-instans som du vill logga in till: den Publika DNS-namn och den viktigaste filen i samband med exempel.

När du har dem, att gå in i EC2-tjänsten från AWS konsol, höger-klicka på exempel, välj sedan “Hämta Windows-Lösenord.” När du är här, du kommer att bli ombedd att ange nyckel-fil, och om du har rätt, det kommer att få dig att skärmen nedan.

Om du eller en annan administratör har redan bytt lösenord, eller om du inte har tillgång till nyckel-fil, högerklicka sedan på exempel, välj “Avsluta” och börja om. Det är inte återhämta sig nycklarna när de är förlorade, och inte ens Amazon kan återställa dem för dig.

Som sagt, om du har möjlighet att hämta Windows-lösenord, kopiera den och spara den till senare i ett password manager. Nu öppnar en remote desktop-klienten och logga in till servern med hjälp av den Offentliga DNS-namn från tidigare med referenser ovan. Om du gjort allt rätt, bör du se en välbekant syn: Windows server desktop.

Installera CloudWatch Agent

Nu när du har RDP skulle till exempel, kan du börja installera CloudWatch agent. Att göra så, Amazon ger dig ett förkompilerat .msi-installationsprogrammet till att använda. Per den CloudWatch dokumentationen, kan du se under Länken Hämta under varje arkitektur att det finns två olika Url: er för det: en regional och en allmän användning. Antingen kommer att arbeta för denna tutorial.

Börja med att öppna ett PowerShell-fönstret på din EC2 exempel och skriva in kommandona nedan. Det första kommandot kommer att ladda ner CloudWatch installer för att den lokala användarprofilen och de andra kommer att köra installationsprogrammet.

Invoke-WebRequest -Uri https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi -Utfil $env:USERPROFILEDownloadsamazon-cloudwatch-agent.msi -UseBasicParsing
Invoke-Objekt $env:USERPROFILEDownloadsamazon-cloudwatch-agent.msi

När installationsprogrammet har körts, kommer du att märka att en ny Windows-tjänsten för att CloudWatch är installerat på servern. Denna tjänst är det som gör att CloudWatch att köra i bakgrunden samla in den information som den behöver.

Bekräfta att tjänsten har installerats och körs inte med hjälp av Get-Service cmdlet i skärmdumpen nedan. Börja inte det ännu, måste du konfigurera den första, som du kommer att göra det i nästa avsnitt.

Konfigurera CloudWatch

Nu när CloudWatch agent är installerat, måste du berätta för den vad som ska rapportera tillbaka. Förutom de förvalda värden Amazon tillåter dig att skapa egen statistik, skicka loggar och även rapportera händelser från loggboken i Windows. Det skulle vara mycket mycket dyrt att skicka tillbaka allt hela tiden och göra en massa oväsen. Genom att ställa en konfiguration, kan du berätta AWS vad saker är viktigt och vad man ska titta på.

Amazon använder en JSON-konfigurationsfilen direkt till den agent som loggar och statistik för att samla in. Om du redan är bekant med att göra dessa filer eller fått en premade en av din organisation, kan du använda det. Om du skapar inställningsfiler är inte något du är bekant med, Amazon ger också en guide för att komma igång.

För att starta guiden, du måste köra det från CloudWatch installera katalogen. Gå tillbaka till PowerShell-konsol och ange Åberopa-Post “C:Program FilesAmazonAmazonCloudWatchAgentamazon-cloudwatch-agent-config-wizard.exe” Detta kommando kommer att starta guiden i en interaktiv session, och efter att svara på några frågor, det kommer att generera en JSON-fil med konfigurationen.

Som standard, guiden sparar config-fil till användarens profil som config.json, men det är också möjligt att spara dem till AWS System Manager. System Manager kommer du att ha samma konfiguration versionshanterade och lätt tillgänglig för att vid flera tillfällen på en gång, men kräver att AWS konfigurationen är klar för var och en av dessa instanser.

Följande är ett exempel på en konfigurationsfil som genereras av guiden. Din fil kan vara lite annorlunda; filen nedan är bara ett grundläggande exempel.

{
“loggar”: {
“logs_collected”: {
“filer”: {
“collect_list”: [
{
“filsökväg”: “C:\ENTER\PATH\HERE\log.txt”,
“log_group_name”: “log.txt”,
“log_stream_name”: “{instance_id}”
}
]
},
“windows_events”: {
“collect_list”: [
{
“event_format”: “xml”,
“event_levels”: [
“VARNING”,
“FEL”,
“KRITISK”
],
“event_name”: “Systemet”,
“log_group_name”: “Systemet”,
“log_stream_name”: “{instance_id}”
}
]
}
}
},
“statistik”: {
“append_dimensions”: {
“AutoScalingGroupName”: “${aws:AutoScalingGroupName}”,
“ImageId”: “${aws:ImageId}”,
“InstanceId”: “${aws:InstanceId}”,
“InstanceType”: “${aws:InstanceType}”
},
“metrics_collected”: {
“LogicalDisk”: {
“mätning”: [
“% Ledigt Utrymme”
],
“metrics_collection_interval”: 60,
“resurser”: [
“*”
]
},
“Minne”: {
“mätning”: [
“% Engagerad Byte I Bruk”
],
“metrics_collection_interval”: 60
},
“statsd”: {
“metrics_aggregation_interval”: 60,
“metrics_collection_interval”: 10,
“service_address”: “:8125”
}
}
}
}

Starta CloudWatch Agent

Nu när tjänsten har installerats och konfiguration har ställts in, kan du starta agent. Insidan av din öppna PowerShell-konsol, förändring i CloudWatch katalog genom att köra cd “C:Program FilerAmazonAmazonCloudWatchAgent” och kör sedan kommandot nedan för att starta CloudWatch agent med config-filen som du just skapat på en EC2 exempel. Detta kommando kommer att ta config-fil som genereras av guiden och starta tjänsten med dessa inställningar.

.amazon-cloudwatch-agent-ctl.ps1 -en hämta-config -m EC2 -c fil:$env:USERPROFILEconfig.json -s

Om du nu kör Get-Service cmdlet från tidigare, så kommer du se att CloudWatch agent-tjänsten är nu igång som visas nedan.

Dessutom, om du går till CloudWatch sida i AWS konsolen, under “Statistik” på vänster, välj “All-Statistik” – fliken och sedan gå under Alla > EC2 > Per-Exempel Statistik, kommer du att se ditt exempel statistik och rapportering till CloudWatch som visas nedan.

Slutsats

Du bör nu kunna ställa upp AWS CloudWatch på Windows EC2-instanser. Med några små ändringar för att den kommandon, samma process kommer att arbeta för on-prem-servrar. Här kan du ställa in larm för att varna dig om något går fel, log grupper för att sammanställa program loggar från era servrar och automatisera installationen av CloudWatch agent som använder PowerShell.