GNU/Linux >> Znalost Linux >  >> Linux

Jak odesílat protokoly aplikací pro Linux do AWS CloudWatch

AWS CloudWatch je monitorovací služba poskytovaná cloudem AWS. AWS poskytuje výchozí monitorování parametrů serveru, jako je využití CPU, síťový vstup, síťový výstup atd. AWS CloudWatch lze použít pro vlastní monitorování, jako je využití disku a využití paměti (RAM). Pro vlastní monitorování musíme provést několik kroků, abychom jej mohli monitorovat.

Stejným způsobem lze AWS CloudWatch použít ke sledování protokolů serveru nebo aplikací. Protože se ze zřejmých důvodů nejedná o výchozí funkci od AWS, můžeme ji nakonfigurovat podle našich požadavků. Bude záležet na uživateli, jaké protokoly musíme odeslat do AWS CloudWatch ke sledování.

Není omezeno na zdroje AWS

I když je AWS CloudWatch službou AWS, neznamená to, že ji lze použít pouze pro instance EC2, lze ji také nakonfigurovat tak, aby posílala protokoly aplikací nebo serverů z virtuálních počítačů od jiných poskytovatelů cloudu a také z virtuálních počítačů na fyzickém disku. .

Jak odeslat protokoly aplikace nebo serveru do AWS CloudWatch

Abychom mohli odeslat protokoly aplikace nebo serveru do AWS CloudWatch, musíme na příslušný server nainstalovat agenta CloudWatch. K dosažení našeho cíle v tomto blogu budeme používat instanci AWS EC2.

Kroky

  1. Příslušná role pro připojení k instanci pro komunikaci s AWS CloudWatch
  2. Instalace agenta AWS CloudWatch
  3. Konfigurace agenta AWS CloudWatch
  4. Testování protokolů na portálu AWS CloudWatch

Role IAM

Abychom mohli odeslat protokoly aplikace nebo serveru do AWS CloudWatch, musíme k instanci EC2 připojit roli s příslušnými oprávněními. Role umožní provádět změny v AWS CloudWatch.

Měl by obsahovat níže uvedené zásady.

  • CreateLogStream
  • DescribeLogStream
  • CreateLogGroup
  • PutLogEvents

Pojďme vytvořit roli v AWS IAM.

Přejděte do sekce IAM ze seznamu služeb na konzole AWS. Pokud ještě nemáte účet AWS, vytvořte si jej zde.

Na hlavním panelu IAM přejděte do Zásady a poté Vytvořit zásady.

Na stránce „Vytvořit zásady“ vyberte na kartě „JSON“ a vložte níže uvedenou zásadu JSON odstraněním výchozí.

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

Vaše zásady by měly vypadat takto. Až budete hotovi, klikněte na tlačítko „Zkontrolovat zásady“ ve spodní části stránky.

Na další stránce je třeba zadat název zásady.

Po dokončení klikněte na tlačítko „Vytvořit zásady“ v dolní části stránky.

Jakmile vytvoříte zásady, budete přesměrováni na stránku role IAM. Protože již máme požadovanou politiku vytvořenou, vytvoříme roli, která bude připojena k instanci.

Na stránce "Vytvořit roli" vyberte "EC2". Jak se chystáme připojit roli k instanci EC2.

Klikněte na tlačítko „Další:Povolení“ v levé dolní části stránky.

Na další stránce budete vyzváni k připojení zásady k roli. Vyhledejte název zásady, kterou jste zadali v předchozím kroku. Po nalezení vyberte zásadu ze seznamu.

Po dokončení klikněte na tlačítko „Další:Značky“ ve spodní části stránky.

Na další stránce budete požádáni, abyste roli přiřadili nějaké značky. Protože se jedná o volitelný krok, nedávám roli žádnou značku a krok jsem přeskočil.

Jakmile kliknete na další, budete vyzváni k zadání názvu role.

Vaše role bude vytvořena během několika sekund.

Nyní, když máme požadované nastavení ze strany infrastruktury hotové, pojďme nakonfigurovat AWS CloudWatch Agent na instanci EC2.

Pro tento krok potřebujete instanci EC2 v běžícím stavu. Připojte se k instanci tak, jak chcete. Existuje několik způsobů, jak se připojit k instanci. Můžete je zkontrolovat zde.

Pokud máte instanci Amazon Linux, postupujte podle níže uvedených kroků.

Pokud se přihlašujete k instanci poprvé, ujistěte se, že jste spustili níže uvedený příkaz aktualizace.

Níže uvedené kroky můžete provést pro Amazon Linux stroje.

sudo yum update -y

Po dokončení aktualizace spusťte níže uvedený příkaz a nainstalujte awslogs balík.

sudo yum install -y awslogs

Po instalaci balíčku můžete změnit oblast v /etc/awslogs/awscli.conf soubor.

Chcete-li nyní nakonfigurovat protokoly, které chcete odeslat na AWS CloudWatch, otevřete soubor /etc/awslogs/awslogs.conf  a zkontrolujte následující řádky.

[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = Amazon-Linux-2

Výše uvedená konfigurace ukazuje, že cesta k souboru protokolu z vašeho systému /var/log/messages  bude nahráno na AWS CloudWatch. Výše uvedená konfigurace vytvoří skupinu protokolů v AWS CloudWatch s názvem uvedeným v log_group_name parametr. Také bude mít hierarchii uvedenou v log_stream_name. Pro dobu vyrovnávací paměti můžeme změnit hodnotu buffer_duration. Výchozí hodnota buffer_duration je 5000 ms.

Jakmile provedete změny, restartujte aplikaci provedením níže uvedeného příkazu. Restartuje aplikaci awslog a agent začne nahrávat protokoly do AWS CloudWatch.

$ sudo service awslogsd start

Chcete-li nainstalovat a nakonfigurovat AWS CloudWatch Agent na RHEL nebo CentOS, můžete postupovat podle níže uvedených kroků.

Spusťte níže uvedený příkaz ke stažení balíčku.

curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O

Najdete soubor s názvem awslogs-agent-setup.py v aktuální poloze. Vzhledem k tomu, že stažený soubor je skript python, pro další krok musíte mít na svém počítači nainstalovaný python. Ujistěte se, že máte nainstalovaný balíček python, a poté spusťte níže uvedený příkaz. V níže uvedeném příkazu musíte zadat oblast. Pokud chcete, můžete totéž později změnit v konfiguraci.

python ./awslogs-agent-setup.py --region ap-south-1

Jakmile spustíte výše uvedený příkaz, požádá vás o některé vstupy. Uveďte totéž jako u požadavků.

Výše uvedený skript vygeneruje konfigurační soubor /var/awslogs/etc/awslogs.conf . Podrobnosti, které jste uvedli ve skriptu, se uloží do konfiguračního souboru.

stále můžete upravit konfigurační soubor podle svých požadavků.

Jakmile provedete všechny změny, restartujte agenta provedením níže uvedeného příkazu.

# systemctl start awslogs

Ověřte nakonfigurované nastavení

1. Přihlaste se zpět ke svému účtu AWS.

2. Vyhledejte CloudWatch v seznamu služeb.

3. Vyberte Skupinu protokolů z nabídky na levé straně.

4. Vyhledejte hodnotu, kterou jste zadali v log_stram_name  parametr v konfiguraci.

5. Uvidíte, že se protokoly odesílají ze serveru do AWS CloudWatch.

Závěr

Můžete nastavit jakýkoli soubor protokolu ze serveru, který se má odeslat do AWS CloudWatch. To lze nakonfigurovat pro servery, které nejsou v cloudu AWS. To znamená, že můžete odeslat protokoly z libovolného ze svých serverů hostovaných v Azure, GCP nebo jiném poskytovateli cloudu nebo dokonce z místního serveru.


Linux
  1. Jak zlepšit dobu spouštění aplikací v Linuxu

  2. Jak nainstalovat aplikaci Spotify na Linux

  3. Jak najít aplikaci pro typ mime v systému Linux?

  1. Jak používat SSMTP k odeslání e-mailu z terminálu Linux

  2. Jak používat journalctl k analýze protokolů v Linuxu

  3. Jak podepsat aplikaci Mac OS X v Linuxu?

  1. Jak odeslat zprávu přihlášeným uživatelům v terminálu Linux

  2. Jak mohu automaticky spustit aplikaci node.js v Amazon Linux AMI na aws?

  3. Jak nainstaluji Fish Shell na AWS Linux