A Logstash on Droplets konfigurálása az Nginx-naplók továbbításához a felügyelt OpenSearch-be
Bevezetés
A webszerver naplóinak nyomon követése elengedhetetlen a webhely zökkenőmentes működéséhez, a problémák megoldásához és a felhasználói viselkedés megértéséhez. Ha az Nginxet használja, akkor értékes információkkal teli hozzáférési és hibanaplókat készít. A naplók kezeléséhez és elemzéséhez a Logstash segítségével feldolgozhatja és továbbíthatja őket, a DigitalOcean Managed OpenSearch segítségével pedig indexelheti és megjelenítheti az adatokat.
Ebben az oktatóanyagban végigvezetjük a Logstash Dropletre történő telepítésén, az Nginx-naplók összegyűjtésére történő beállításán, valamint a DigitalOcean Managed OpenSearch szolgáltatásba való elküldésén.
Előfeltételek
Egy DigitalOcean Cloud-fiók és egy Ubuntu Droplet, és fut.
Az Nginx-et be kell állítani, és naplókat kell generálni a Dropletén. Az nginx Dropletre történő telepítéséhez olvassa el ezt az oktatóanyagot, amely az Ngnix telepítése Ubuntu rendszeren című témakörében található.
-
Az OpenSearch fürtnek futnia kell, és hozzá kell férnie. További részletekért keresse fel az OpenSearch-fürtök létrehozása című részt.
Hasznos az Nginx, Logstash és OpenSearch ismerete.
Használati eset
Szüksége lehet erre a beállításra, ha a következőket szeretné:
- Megfigyelés és hibaelhárítás: Kövesse nyomon a webszerver teljesítményét és a hibákat a valós idejű naplók elemzésével.
- Teljesítmény elemzése: Szerezzen betekintést a webes forgalmi mintákba és a szervermutatókba.
- A naplózás központosítása: A könnyebb kezelés érdekében több Nginx-szerverről származó naplók összesítése egyetlen OpenSearch-példányba.
Megjegyzés: A beállítási időnek körülbelül 30 percnek kell lennie.
1. lépés – A Logstash telepítése a Droplets-re
A Logstash az itt elérhető bináris fájlokkal vagy az operációs rendszerre szabott csomagtárolókkal telepíthető. A könnyebb kezelés és frissítés érdekében általában csomagtárolók használata javasolt. Használhatja az APT csomagkezelőt Debian-alapú rendszereken, például az Ubuntu-n, míg Red Hat-alapú rendszereken, mint például a CentOS vagy RHEL, használhatja a yum-t. Mindkét módszer biztosítja, hogy a Logstash megfelelően integrálódjon a rendszer csomagkezelési infrastruktúrájába, leegyszerűsítve a telepítést és a karbantartást.
Ebben a részben végigvezetjük a Logstash telepítésén, mind az apt, mind a yum csomagkezelők használatával, biztosítva, hogy a Logstash-t beállíthassa a Dropletén, függetlenül a Linux disztribúciójától.
Az operációs rendszer megkereséséhez futtassa a következő parancsot:
cat /etc/os-release
APT-alapú rendszerekhez (Ubuntu/Debian)
1. Töltse le és telepítse a nyilvános aláíró kulcsot:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg
2. Telepítse az apt-transport-https fájlt, ha még nincs telepítve:
sudo apt-get install apt-transport-https
3. Adja hozzá és mentse el a Logstash lerakatdefiníciót az apt forráslistájához:
echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
Megjegyzés: Ügyeljen arra, hogy ne használjon add-apt-repository parancsokat, mivel azok hozzáadhatnak egy nem támogatott deb-src bejegyzést. Ha hibát észlel egy deb-src bejegyzéssel kapcsolatban, törölje azt az /etc/apt/sources.list fájlból. Ha hozzáadta a deb-src bejegyzést, a következőhöz hasonló hibaüzenetet fog látni:
Unable to find expected entry 'main/source/Sources' in Release file (Wrong sources.list entry or malformed file)
Ha csak törli a deb-src bejegyzést az /etc/apt/sources.list fájlból, a telepítésnek a várt módon kell működnie.
4. Frissítse a csomagindexet, hogy tartalmazza az új tárolót:
sudo apt-get update
5. Telepítse a Logstash-t az apt csomagkezelővel:
sudo apt-get install logstash
6. Indítsa el a Logstash programot, és engedélyezze az automatikus elindulást rendszerindításkor:
sudo systemctl start logstash
sudo systemctl enable logstash
A Logstash most telepítve van és fut a rendszeren.
YUM-alapú rendszerekhez (CentOS/RHEL)
1. Töltse le és telepítse a Logstash adattár nyilvános aláíró kulcsát:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2. Hozzon létre egy tárfájlt a Logstash számára a /etc/yum.repos.d/ fájlban. Például hozzon létre egy logstash.repo nevű fájlt. Az alábbi tartalmat másolhatja és beillesztheti a fájl létrehozásához és a tartalom frissítéséhez:
sudo tee /etc/yum.repos.d/logstash.repo > /dev/null <<EOF
[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
A tároló készen áll a használatra.
3. Telepítse a Logstash-t a YUM csomagkezelővel:
sudo yum install logstash
4. Indítsa el a Logstash programot, és engedélyezze az automatikus elindulást rendszerindításkor:
sudo systemctl start logstash
sudo systemctl enable logstash
A Logstash most telepítve van és fut a rendszeren.
2. lépés – Az Open Search Output Plugin telepítése
Az OpenSearch kimeneti beépülő modult a következő parancs futtatásával telepítheti:
/usr/share/logstash/bin/logstash-plugin install logstash-output-opensearch
A beépülő modulról további információkat találhat ebben a logstash-output-opensearch bővítménytárban.
3. lépés – A Logstash konfigurálása az Nginx-naplók OpenSearch-nek való elküldésére
A Logstash-folyamat három fő szakaszból áll: bemenetből, szűrőből és kimenetből. A Logstash csővezetékek bővítményeket használnak. Használhat közösségi bővítményeket, vagy létrehozhat sajátot.
- Bevitel: Ez a szakasz különböző forrásokból gyűjt adatokat. A Logstash számos bemeneti bővítményt támogat az adatforrások, például a naplófájlok, adatbázisok, üzenetsorok és felhőszolgáltatások kezelésére.
- Szűrés: Ez a szakasz feldolgozza és átalakítja a beviteli szakaszban gyűjtött adatokat. A szűrők módosíthatják, gazdagíthatják és strukturálhatják az adatokat, hogy hasznosabbá és könnyebben elemezhetők legyenek.
- Kimenet: Ez a szakasz elküldi a feldolgozott adatokat egy célállomásra. A célállomások lehetnek adatbázisok, fájlok és adattárak, például az OpenSearch.
Most hozzunk létre egy csővezetéket.
1. Hozzon létre Logstash konfigurációs fájlt a következő tartalommal: /etc/logstash/conf.d/nginx-to-opensearch.conf:
input {
file {
path => "/var/log/nginx/access.log"
start_position => "beginning"
sincedb_path => "/dev/null"
tags => ["nginx_access"]
}
file {
path => "/var/log/nginx/error.log"
start_position => "beginning"
sincedb_path => "/dev/null"
tags => ["nginx_error"]
}
}
filter {
if "nginx_access" in [tags] {
grok {
match => { "message" => "%{IPORHOST:client_ip} - %{USER:ident} \[%{HTTPDATE:timestamp}\] \"%{WORD:method} %{URIPATHPARAM:request} HTTP/%{NUMBER:http_version}\" %{NUMBER:response} %{NUMBER:bytes} \"%{DATA:referrer}\" \"%{DATA:user_agent}\"" }
}
mutate {
remove_field => ["message", "[log][file][path]", "[event][original]"]
}
} else if "nginx_error" in [tags] {
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{LOGLEVEL:level}\] \[%{DATA:pid}\] \[%{DATA:tid}\] %{GREEDYDATA:error_message}" }
}
mutate {
remove_field => ["message", "[log][file][path]", "[event][original]"]
}
}
}
output {
if "nginx_access" in [tags] {
opensearch {
hosts => ["https://<OpenSearch-Hostname>:25060"]
user => "doadmin"
password => "<your_password>"
index => "nginx_access-%{+YYYY.MM.dd}"
ssl => true
ssl_certificate_verification => true
}
} else if "nginx_error" in [tags] {
opensearch {
hosts => ["https://<OpenSearch-Hostname>:25060"]
user => "doadmin"
password => "<your_password>"
index => "nginx_error-%{+YYYY.MM.dd}"
ssl => true
ssl_certificate_verification => true
}
}
}
Csere:
OpenSearch-Hostnameaz OpenSearch szerver gazdagépnevével.az OpenSearch jelszavával.
2. Alkalmazza az új konfigurációt a Logstash újraindításával:
sudo systemctl restart logstash
3. Ellenőrizze a Logstash-naplókat, hogy megbizonyosodjon arról, hogy az adatokat megfelelően dolgozza fel és továbbítja:
sudo tail -f /var/log/logstash/logstash-plain.log
Az nginx-to-opensearch.conf konfiguráció bontása
BEMENET
Az input blokk két fájlbemenetet konfigurál a naplók olvasásához:
Nginx-naplók: Útvonalak: /var/log/nginx/access.log (hozzáférési naplókhoz) /var/log/nginx/error.log (hibanaplókhoz) Kezdőpozíció: kezdet – A naplófájlok elejétől olvassa be. Sincedb elérési út: /dev/null – Letiltja a követést a folyamatos olvasáshoz. Címkék: ["nginx_access"] a hozzáférési naplókhoz ["nginx_error"] a hibanaplókhoz
Megjegyzés: Győződjön meg arról, hogy a Logstash szolgáltatás hozzáfér a beviteli útvonalakhoz.
SZŰRŐ
A filter blokk a naplókat a címkéik alapján dolgozza fel:
Napló feldolgozás: Hozzáférési naplók: grok szűrőt használ a hozzáférési napló formátumának elemzéséhez, és kivonja az olyan mezőket, mint a client_ip, timestamp, method, request, http_version, response, byte, referrer és user_agent kód>. Eltávolítja az eredeti üzenetet és bizonyos metaadatmezőket.
Hibanaplók: Ellenőrzi az nginx_error címkét, és egy grok szűrőt alkalmaz az olyan mezők kinyerésére, mint az timestamp, level, pid, tid és error_message. Ezenkívül eltávolítja az üzenet és a metaadat mezőket.
KIMENET
A output blokk a címkéik alapján irányítja az eseményeket az OpenSearch felé:
Útválasztás az OpenSearch szolgáltatásba: Mind a hozzáférési, mind a hibanaplók esetében meghatározza: Gazdagépek: az OpenSearch példány URL-je. Felhasználó: doadmin a hitelesítéshez. Jelszó: Az Ön OpenSearch jelszava. Index: nginx_access-%{+YYYY.MM.dd} a hozzáférési naplókhoz nginx_error-%{+YYYY.MM.dd} a hibanaplókhoz SSL beállítások: Engedélyezi az SSL és a tanúsítvány ellenőrzését.
4. lépés – Az OpenSearch konfigurálása
1. Nyissa meg webböngészőjét, és lépjen az OpenSearch irányítópult URL-jére:
https://<OpenSearch-Hostname>
Cserélje le az OpenSearch-Hostname elemet az OpenSearch szerver gazdagépnevére.
2. Hozzon létre egy indexmintát. a. A bal oldalsávon lépjen a Kezelés > Irányítópult-kezelés > Indexminták elemre. b. Kattintson az Indexminta létrehozása lehetőségre a jobb felső sarokban. c. Írja be az nginx_access-* vagy az nginx_error-* indexmintát, hogy megfeleljen a Logstash által létrehozott összes indexnek, majd kattintson a Következő lépés gombra. d. Kattintson az Indexminta létrehozása lehetőségre.
3. Győződjön meg arról, hogy az indexminta sikeresen létrejött, és látható az Index Patterns listában.
4. A bal oldalsávon lépjen a Discover elemre, és válassza ki a létrehozott indexmintát (nginx_access-* vagy nginx_error-*). Ellenőrizze, hogy a naplóbejegyzések láthatók és megfelelően indexelve.
5. Hozzon létre vizualizációkat és irányítópultokat. További részletekért keresse fel az Irányítópult létrehozása az OpenSearch-ben című részt.
Hibaelhárítás
Ellenőrizze a csatlakozást
A kapcsolat tesztelésével ellenőrizheti, hogy a Logstash csatlakozni tud-e az OpenSearch-hez:
curl -u doadmin:your_password -X GET "https://<OpenSearch-Hostname>:25060/_cat/indices?v"
Csere:
OpenSearch-Hostnameaz OpenSearch szerver gazdagépnevével.az OpenSearch jelszavával.
Adatbevitel
A következő curl paranccsal biztosíthatja, hogy az adatok megfelelően indexelve legyenek az OpenSearch-ben:
curl -u doadmin:your_password -X GET "http://<OpenSearch-Hostname>:25060/nginx-logs-*/_search?pretty"
Csere:
OpenSearch-Hostnameaz OpenSearch szerver gazdagépnevével.az OpenSearch jelszavával
Tűzfal és hálózati konfiguráció
Győződjön meg arról, hogy a tűzfalszabályok és a hálózati beállítások lehetővé teszik a Logstash és az OpenSearch közötti forgalmat a 25060 porton.
Következtetés
Ebben az útmutatóban megtanulta, hogyan kell beállítani a Logstash-t az Nginx-naplók összegyűjtésére és az OpenSearch felé történő továbbítására.
Áttekintette, hogyan használhatja az apt vagy a yum csomagkezelőket a Linux-disztribúciótól függően a Logstash üzembe helyezéséhez és futtatásához a Dropletén. Létrehozta és beállította a Logstash konfigurációs fájlt is, hogy megbizonyosodjon arról, hogy az Nginx-naplók megfelelően vannak értelmezve és elküldve az OpenSearch-nek. Ezután beállít egy indexmintát az OpenSearch irányítópultjain annak ellenőrzésére, hogy a naplók megfelelően vannak-e indexelve, és láthatóak-e az elemzéshez. Ha ezek a lépések elkészültek, akkor most már rendelkeznie kell egy működő beállítással, amelyben a Logstash összegyűjti az Nginx-naplókat, és elküldi az OpenSearch-nek. Ez a beállítás lehetővé teszi az OpenSearch hatékony keresési és megjelenítési eszközeinek használatát a szervernaplók elemzéséhez.
Ha bármilyen problémába ütközik, tekintse meg az általunk adott hibaelhárítási tippeket, és további segítségért tekintse meg a Logstash és az OpenSearch dokumentációját. A rendszeres ellenőrzés biztosítja a naplózási rendszer zökkenőmentes és hatékony működését.
