een gecentraliseerd logsysteem opzetten met Graylog op Debian 11

Graylog is een gratis en open-source log-beheer platform voor het vastleggen, opslaan en in real-time analyseren van je gegevens en logs. Het is geschreven in Java en gebouwd boven op andere open-source software zoals MongoDB en Elasticsearch. Graylog biedt een van de meest efficiënte, snelle, en flexibele gecentraliseerde log management platforms.

Met Graylog kun je zowel gestructureerde als ongestructureerde gegevens van bijna elke gegevensbron versturen en analyseren.

In deze handleiding laten we je zien hoe je Graylog installeert en configureert als een gecentraliseerd logging systeem op het Debian 11 systeem. Ook laten we zien hoe je de Nginx webserver kunt instellen als reverse proxy voor de Graylog server.

Vereisten

  • Een Linux Debian 11 server – minstens met 4 GB RAM.
  • Een niet-root gebruiker met sudo of administrator rechten.

Installeer de basispakketten Afhankelijkheden

In de eerste fase van deze handleiding installeer je enkele basis pakket afhankelijkheden, waaronder Java en GnuPG.

Voordat je begint met de installatie van pakketten, voer je het onderstaande apt commando uit om je huidige Debian repository bij te werken en te verversen.

sudo apt update

Installeer nu enkele pakket afhankelijkheden voor Graylog met het onderstaande commando.

sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget

Voer Y in om de installatie te bevestigen en druk op ENTER om verder te gaan.

basis afhankelijkheden installeren

Als de installatie voltooid is, ga je naar de volgende stap om een andere Graylog afhankelijkheid MongoDB en Elasticsearch te installeren.

MongoDB installeren

Graylog gebruikt de NoSQL MongoDB databank om alle informatie op te slaan die Graylog configuratie, streams, waarschuwingen, gebruikers, gecachede streams, enz. Alle informatie die je op de Graylog web-interfaces ziet, wordt opgeslagen in de MongoDB NoSQL databank, behalve de logs zelf. De huidige versie van Graylog vereiste MongoDB v4 tot en met v4.4.

Voer de onderstaande commando’s uit om de MongoDB GPG sleutel en de repository aan je Debian server toe te voegen.

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Ververs je Debian repository met het volgende commando.

sudo apt update

Zoals je op de schermafbeelding hieronder kunt zien, is de MongoDB repository aan je Debian server toegevoegd.

mongodb repository toevoegen

Installeer vervolgens de MongoDB pakketten met het onderstaande apt commando.

sudo apt install -y mongodb-org

De installatie van de MongoDB databank begint.

installeer mongodb

Nadat de installatie van MongoDB voltooid is, voer je het volgende commando uit om de systemd manager opnieuw te laden. Dit is nodig voordat je de MongoDB dienst start.

sudo systemctl daemon-reload

Voer nu het onderstaande commando uit om de MongoDB dienst in te schakelen en opnieuw te starten. De MongoDB dienst wordt nu gestart en zal automatisch draaien bij het opstarten van het systeem.

sudo systemctl enable mongod.service
sudo systemctl restart mongod.service

Verifieer de MongoDB dienst met het volgende commando.

sudo systemctl status mongod

Zoals je op de volgende schermafbeelding kunt zien, draait de MongoDB dienst en is hij ingeschakeld.

start en verifieer mongodb

Ga nu naar de volgende stap voor het installeren van Elasticsearch.

Elasticsearch installeren

Nadat je de MongoDB NoSQL databank geïnstalleerd hebt, moet je nu Elasticsearch installeren. De Graylog server gebruikt Elasticsearch als zoekmachine om logs te doorzoeken. Bij de huidige versie had Graylog Elasticsearch v6.8 of v7.x tot en met v7.10 nodig.

Voordat je Elasticsearch installeert, voer je het volgende commando uit om de Elasticsearch GPG sleutel en repository aan je Debian systeem toe te voegen.

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

Ververs en vernieuw nu je Debian repository.

sudo apt update

In de onderstaande schermafbeelding is de Elasticsearch repository aan de Debian server toegevoegd.

elasticsearch repository toevoegen

Installeer vervolgens Elasticsearch pakketten met het onderstaande apt commando.

sudo apt install elasticsearch-oss

De Elasticsearch installatie begint nu.

installeer elastischsearch

Als de installatie voltooid is, voer je het onderstaande commando uit om de configuratie aan het Elasticsearch config bestand /etc/elasticsearch/elasticsearch.yml toe te voegen. De volgende configuratie maakt een nieuw Elasticsearch cluster aan met de naam“graylog” en schakelt het automatisch aanmaken van een index op Elasticsearch uit.

sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null << EOT
cluster.name: graylog
action.auto_create_index: false
EOT

setup elastisch zoeken

Voordat je de Elasticsearrch dienst start, voer je het onderstaande commando uit om de systemd manager opnieuw te laden.

sudo systemctl daemon-reload

Voer nu de volgende commando’s uit om de Elasticsearch dienst in te schakelen en opnieuw te starten. Dit zal de Elasticsearch toevoegen aan het systeemstartprogramma en de dienst starten.

sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

Controleer ten slotte de Elasticsearch dienst met het onderstaande commando.

sudo systemctl status elasticsearch.service

In de onderstaande schermafbeelding zie je dat de Elasticsearch dienst draait en ingeschakeld is.

start en verifieer elasticsearch

Daarnaast kun je de Elasticsearch installatie ook verifiëren door Elasticsearch te benaderen met curl. De Elasticsearch draait op de standaard poort 9200, dus voer het onderstaande curl commando uit.

curl http://localhost:9200/

Je ziet nu de uitvoermelding zoals hieronder. De Elasticsearch v7.x met het cluster genaamd graylog is geïnstalleerd op de Debian server.

verifieer elastisch zoeken

Op dit punt ben je nu klaar om de Graylog server op de Debian server te installeren.

Installeren en instellen van de Graylog server

Om de Graylog installatie te starten, moet je het Graylog repository .deb bestand downloaden en het installeren met het volgende commando.

wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.deb
sudo dpkg -i graylog-4.2-repository_latest.deb

Ververs en vernieuw nu je Debian repository.

sudo apt update

Hieronder zie je dat de Graylog repository aan de Debian server is toegevoegd.

voeg graylog repository toe

Installeer vervolgens Graylog pakketten op je Debian server met het onderstaande apt commando.

sudo apt install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins

De Graylog installatie begint nu.

installeer graylog

Nadat de installatie voltooid is, voer je het volgende commando uit om Graylog password_secret te genereren dat gebruikt zal worden voor wachtwoord versleuteling en salting. Het Graylog password_secret moet hetzelfde zijn als je een Graylog cluster met meerdere knooppunten draait. Ook heb je een willekeurige string en getal min 65 nodig voor de Graylog password_secret.

pwgen -N 1 -s 96

Kopieer nu de gegenereerde random string voor de Graylog password_secret naar je notitie.

Voer daarna het onderstaande commando uit om het versleutelde wachtwoord met sha256 te genereren. Dit wachtwoord zal gebruikt worden als het Graylog administratie wachtwoord.

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Voer je wachtwoord in voor het Graylog administratie wachtwoord. En je ziet het gegenereerde versleutelde wachtwoord sha256. Kopieer het gecodeerde wachtwoord naar je notitie.

genereer wachtwoord geheim en wachtwoord sha256

Bewerk vervolgens de Graylog server configuratie /etc/graylog/server/server.conf met nano editor.

sudo nano /etc/graylog/server/server.conf

Kopieer en plak het gegenereerde Graylog password_secret en het Graylog beheerderswachtwoord in root_password_sha2 zoals hieronder.

password_secret = Eqq4M8EHpKbGfgi6C05t19hJ5WmF3nkVS8yjwclYHtvwsTXRulNHEsaWuy85QUTNIUc6b2ovfRjvR7yD5kwNTPAJCCw39T3d
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223

Sla het bestand op en sluit het als je klaar bent.

Voer nu het onderstaande commando uit om de systemd manager opnieuw te laden voordat je de Graylog server dienst start.

sudo systemctl daemon-reload

Schakel nu de Graylog server dienst in en start hem met het onderstaande commando.

sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

start de dienst graylog

De Graylog server zal nu in werking zijn, controleer hem met het volgende commando.

sudo systemctl status graylog-server.service

In de onderstaande schermafbeelding zie je dat de Graylog server dienst draait en ingeschakeld is.

verifieer de graylog dienst

Je hebt nu de Graylog installatie voltooid, die draait op de standaard localhost met poort 9000.

Stel Nginx in als omgekeerde proxy

Nadat je de installatie en configuratie van de Graylog server voltooid hebt, installeer en configureer je nu de Nginx webserver als een omgekeerde proxy voor de Graylog server. Dit stelt je in staat Graylog te draaien met je domeinnaam.

Installeer het Nginx pakket op je Debian server met het volgende commando.

sudo apt install nginx -y

De installatie begint nu.

Nadat de installatie voltooid is, maak je een nieuwe Nginx virtuele host of server blokken /etc/nginx/sites-available/graylog.conf met nano editor.

sudo nano /etc/nginx/sites-available/graylog.conf

Voeg de volgende Nginx configuratie toe. Dit zal Nginx inschakelen als een reverse proxy voor de Graylog server die op http://127.0.0.1:9000/ draait .

server
{
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name graylog.example.org;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

Bewaar en sluit het bestand als je klaar bent.

Voer daarna het volgende commando uit om de configuratie graylog.conf te activeren. Controleer dan de nginx configuratie.

sudo ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
sudo nginx -t

Zorg dat je de uitvoermelding krijgt zoals test geslaagd.

Herstart tenslotte de Nginx dienst om een nieuwe virtuele host configuratie toe te passen met het volgende commando.

sudo systemctl restart nginx

Open nu je web browser en bezoek de domeinnaam voor de Graylog installatie URL.

http://graylog.hwdomain.io/

Je ziet nu de Graylog login pagina hieronder. Voer de standaard admin gebruiker in met je wachtwoord (het root_password_sha2) en klik op de Log In knop.

graylog login page

Nadat je ingelogd bent, zie je het Graylog dashboard zoals hieronder.

graylog dashboard

Je bent nu klaar met het draaien van Graylog onder de Nginx reverse proxy.

Conclusie

Gefeliciteerd! Je hebt nu de installatie en configuratie van de Graylog server op de Debian 11 server voltooid. Ook heb je de configuratie van Nginx als omgekeerde proxy voor de Graylog server voltooid.