Sdílet prostřednictvím


Instalace elastického stacku (ELK) na virtuální počítač Azure

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Tento článek vás provede nasazením Elasticsearch, Logstash a Kibana na virtuální počítač s Ubuntu v Azure. Pokud chcete vidět Elastic Stack v akci, můžete se volitelně připojit ke Kibana a pracovat s ukázkovými daty protokolování.

Kromě toho můžete postupovat podle modulu Deploy Elastic on Azure Virtual Machines a získat další kurz s asistencí k nasazení elastických služeb na virtuálních počítačích Azure.

V tomto kurzu se naučíte:

  • Vytvoření virtuálního počítače s Ubuntu ve skupině prostředků Azure
  • Instalace Elasticsearch, Logstash a Kibana na virtuální počítač
  • Odeslání ukázkových dat do Elasticsearch pomocí Logstash
  • Otevření portů a práce s daty v konzole Kibana

Toto nasazení je vhodné pro základní vývoj s řešením Elastic Stack. Další informace o řešení Elastic Stack, včetně doporučení pro produkční prostředí, najdete v dokumentaci Elastic a v Azure Architecture Center.

Požadavky

  • Tento článek vyžaduje verzi 2.0.4 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků pomocí příkazu az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus.

az group create --name myResourceGroup --location eastus

Vytvoření virtuálního počítače

Vytvořte virtuální počítač pomocí příkazu az vm create.

Následující příklad vytvoří virtuální počítač myVM, a pokud ve výchozím umístění klíčů ještě neexistují klíče SSH, vytvoří je. Chcete-li použít konkrétní sadu klíčů, použijte možnost --ssh-key-value.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

Po vytvoření virtuálního počítače se v Azure CLI zobrazí podobné informace jako v následujícím příkladu. Poznamenejte si publicIpAddress. Tato adresa se používá pro přístup k virtuálnímu počítači.

{
  "fqdns": "",
  "id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Připojení SSH k virtuálnímu počítači

Pokud ještě neznáte veřejnou IP adresu svého virtuálního počítače, spusťte příkaz az network public-ip list:

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

Pomocí následujícího příkazu vytvořte s virtuálním počítačem relaci SSH. Použijte správnou veřejnou IP adresu vašeho virtuálního počítače. V tomto příkladu je IP adresa 40.68.254.142.

ssh azureuser@40.68.254.142

Instalace řešení Elastic Stack

Importujte podpisový klíč Elasticsearch a aktualizujte svůj seznam zdrojů APT tak, aby zahrnoval úložiště balíčků Elastic:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list

Nainstalujte na virtuální počítač prostředí Java Virtual Machine a nakonfigurujte proměnnou JAVA_HOME, která je nezbytná pro spuštění komponent řešení Elastic Stack.

sudo apt update && sudo apt install openjdk-8-jre-headless
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Spuštěním následujících příkazů aktualizujte zdroje balíčků Ubuntu a nainstalujte Elasticsearch, Kibana a Logstash.

sudo apt update && sudo apt install elasticsearch kibana logstash   

Poznámka:

Podrobné pokyny k instalaci, včetně rozložení adresářů a počáteční konfigurace, se udržují v dokumentaci Elastic.

Spuštění Elasticsearch

Spusťte na svém virtuálním počítači Elasticsearch pomocí následujícího příkazu:

sudo systemctl start elasticsearch.service

Tento příkaz negeneruje žádný výstup, proto ověřte spuštění Elasticsearch na virtuálním počítači pomocí tohoto příkazu curl:

sudo curl -XGET 'localhost:9200/'

Pokud je Elasticsearch spuštěný, zobrazí se výstup podobný tomuto:

{
  "name" : "w6Z4NwR",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "SDzCajBoSK2EkXmHvJVaDQ",
  "version" : {
    "number" : "5.6.3",
    "build_hash" : "1a2f265",
    "build_date" : "2017-10-06T20:33:39.012Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

Spuštění Logstash a přidání dat do Elasticsearch

Spusťte Logstash pomocí následujícího příkazu:

sudo systemctl start logstash.service

Otestujte Logstash v interaktivním režimu, abyste se ujistili, že funguje správně:

sudo /usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'

Toto je základní kanál Logstash, který vrací standardní vstup do standardního výstupu.

The stdin plugin is now waiting for input:
hello azure
2017-10-11T20:01:08.904Z myVM hello azure

Nastavte Logstash tak, aby směroval zprávy jádra z tohoto virtuálního počítače do Elasticsearch. V prázdném adresáři vytvořte nový soubor vm-syslog-logstash.conf a vložte do něj následující konfiguraci Logstash:

input {
    stdin {
        type => "stdin-type"
    }

    file {
        type => "syslog"
        path => [ "/var/log/*.log", "/var/log/*/*.log", "/var/log/messages", "/var/log/syslog" ]
        start_position => "beginning"
    }
}

output {

    stdout {
        codec => rubydebug
    }
    elasticsearch {
        hosts  => "localhost:9200"
    }
}

Otestujte konfiguraci a odešlete do Elasticsearch data Syslogu:

sudo /usr/share/logstash/bin/logstash -f vm-syslog-logstash.conf

V terminálu se budou vypisovat položky Syslogu odesílané do Elasticsearch. Jakmile odešlete nějaká data, pomocí CTRL+C ukončete Logstash.

Spuštění Kibana a vizualizace dat v Elasticsearch

Upravte soubor /etc/kibana/kibana.yml a změňte IP adresu, na které Kibana naslouchá, abyste k ní měli přístup z webového prohlížeče.

server.host: "0.0.0.0"

Spusťte Kibana pomocí následujícího příkazu:

sudo systemctl start kibana.service

Otevřením portu 5601 z Azure CLI povolte vzdálený přístup ke konzole Kibana:

az vm open-port --port 5601 --resource-group myResourceGroup --name myVM

Otevřete konzolu Kibana a vyberte Create (Vytvořit). Vygeneruje se výchozí index založený na datech Syslogu, která jste dříve odeslali do Elasticsearch.

Snímek obrazovky znázorňující konzolu Kibana a zvýraznění tlačítka Vytvořit

V konzole Kibana vyberte Discover (Vyhledat), abyste mohli prohledávat, procházet a filtrovat události Syslogu.

Proházení událostí Syslogu v Kibana

Další kroky

V tomto kurzu jste na vývojový virtuální počítač v Azure nasadili řešení Elastic Stack. Naučili jste se:

  • Vytvoření virtuálního počítače s Ubuntu ve skupině prostředků Azure
  • Instalace Elasticsearch, Logstash a Kibana na virtuální počítač
  • Odeslání ukázkových dat do Elasticsearch z Logstash
  • Otevření portů a práce s daty v konzole Kibana