Graylog: Pradžia
Kaip pradėti naudotis Graylog
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Graylog cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Įtrauktas neribotas ir dedikuotas SMTP el. pašto serveris.
- Lengvi atnaujinimai vienu paspaudimu.
- Pritaikomas domeno vardas, apsaugotas HTTPS (pavyzdžiui, https://logs.jusu-imone.com).
- Optimali veikla ir tvirta sauga, užtikrinta privačia ir dedikuota VM.
Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Graylog cloud hosting sprendimą!
Pirmojo įvesties kūrimas Graylog sistemoje
Įvestis yra galinis taškas, kuriame Graylog gauna jūsų žurnalus. Galite siųsti žurnalus naudodami TCP arba UDP. Be to, Graylog gali rinkti žurnalų įrašus iš API, Kafka eilės, RabbitMQ serverio ir kitais būdais.
Šiame pavyzdyje sukursime neapdorotą UDP įvestį. Norėdami pradėti, atidarykite Graylog sąsają ir eikite į "System", tada "Inputs". Pasirinkite "Raw/Plaintext UDP" ir spustelėkite "Launch new input". Suveskite šias reikšmes ir patvirtinkite formą:
- Node: Pasirinkite savo mazgą
- Title: RAW UDP
- Port: 5555
Tada atidarykite terminalą savo kompiuteryje ir išsiųskite UDP žinutę į savo Graylog serverį. Nepamirškite pakeisti XXXXXX savo paslaugos domeno vardu:
- macOS:
echo "Hello Graylog from UDP" | nc -u -w1 -c <XXXXXX>.stackhero-network.com 5555 - Linux:
echo "Hello Graylog from UDP" | nc -u -w1 <XXXXXX>.stackhero-network.com 5555
Išsiuntę žinutę, grįžkite į Graylog ir spustelėkite "Search". Turėtumėte pamatyti savo žinutę 🎉
Sveikiname, jūs išsiuntėte savo pirmąją žinutę į Graylog! Nedvejodami kurkite papildomas įvestis ir prietaisų skydelius, pritaikytus jūsų poreikiams. Daugiau informacijos galite rasti Graylog oficialioje dokumentacijoje.
Graylog kodo pavyzdžiai
Keletas kodo pavyzdžių yra mūsų Git saugykloje. Ši saugykla siūlo praktinius įgyvendinimus ir papildomas pritaikymo galimybes, padedančias maksimaliai išnaudoti Graylog.
Siųsti rsyslog žurnalus į Graylog naudojant TLS šifravimą
Jei turite rsyslog klientą ir norite saugiai siųsti žurnalus į Graylog, atlikite šiuos veiksmus:
Neaktyvinkite jokių TLS parinkčių Graylog įvestyje. TLS bus tiesiogiai valdomas atvirkštinio tarpinio serverio jūsų instancijoje, kad Graylog jo neapdorotų.
-
Eikite į savo Graylog paslaugos konfigūraciją Stackhero prietaisų skydelyje ir įjunkite "TLS encryption" Syslog TCP prievadui 514.
-
Atnaujinkite savo rsyslog konfigūraciją, kaip nurodyta žemiau. Pakeiskite
<XXXXXX>.stackhero-network.comsavo instancijos pagrindiniu vardu:# Apibrėžti TLS CA sertifikatą global( DefaultNetstreamDriver="gtls" DefaultNetstreamDriverCAFile="/etc/ssl/certs/ca-certificates.crt" ) # Siųsti visus žurnalus į nuotolinį serverį # Šiai veiklai sukuriama disko eilė. Jei nuotolinis kompiuteris yra # neprisijungęs, žinutės yra eilėje diske ir siunčiamos, kai jis vėl tampa prieinamas # Žr. https://www.rsyslog.com/doc/v8-stable/configuration/actions.html # ir https://www.rsyslog.com/doc/v8-stable/configuration/modules/omfwd.html *.* action( type="omfwd" target="<XXXXXX>.stackhero-network.com" port="514" protocol="tcp" KeepAlive="on" KeepAlive.Interval="30" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" ResendLastMSGOnReconnect="on" queue.filename="fwdRule1" # unikalus pavadinimo priešdėlis spūlės failams queue.type="LinkedList" queue.maxDiskSpace="256m" queue.saveOnShutdown="on" action.resumeRetryCount="-1" action.resumeInterval="30" ) -
Perkraukite savo rsyslog paslaugą ir patikrinkite konfigūraciją, išsiųsdami žurnalą naudodami komandą:
logger This is a test
Tai užbaigia nustatymą. Dabar saugiai siunčiate žurnalus į Graylog naudodami TLS šifravimą!
Klaidos "failed to parse field [XXXX] of type [YYYY]" tvarkymas
Galite susidurti su tokia klaida:
org.opensearch.index.mapper.MapperParsingException: failed to parse field [time] of type [long] in document with id 'xxxx'
Šią klaidą galite matyti Stackhero prietaisų skydelyje pateiktuose žurnaluose arba Graylog administravimo skydelyje, skiltyje System > Overview > Indexer failures.
Ši klaida rodo, kad žurnalas buvo išsiųstas su lauko time verte, kuri neatitinka laukiamo tipo (šiuo atveju, skaitinės "long" tipo vertės). Graylog naudoja OpenSearch dinaminio žemėlapio funkciją. Kai žurnalas siunčiamas pirmą kartą, OpenSearch bando atspėti laukų tipus. Pavyzdžiui, jei žurnale yra laukas time su skaitine verte 1234, OpenSearch jį apibrėžia kaip skaitinį lauką. Jei kitas žurnalas siunčiamas su lauku time, nustatytu kaip "abcd", eilutė, OpenSearch jį atmes, nes tikisi skaitinės vertės.
Atminkite, kad lauko pavadinimas time naudojamas tik iliustracijai. Tai gali būti bet koks lauko pavadinimas ir tipas.
Norėdami išspręsti šią problemą, turite iš naujo apibrėžti tipą, kurio tikisi OpenSearch. Daugiau informacijos rasite oficialioje Graylog dokumentacijoje.
OpenSearch žemėlapio atnaujinimas
Prieš tęsdami, įjunkite OpenSearch prieigą Stackhero prietaisų skydelyje. Eikite į savo Graylog paslaugą ir spustelėkite "Configure" mygtuką, kad aktyvuotumėte OpenSearch prieigą.
Būkite atsargūs su šiais pakeitimais, nes neteisingos konfigūracijos gali užblokuoti jūsų OpenSearch klasterį ir galimai sukelti duomenų praradimą. Jei nesate tikri, netęskite.
-
Apibrėžkite savo naują žemėlapį. Šiame pavyzdyje mes iš naujo apibrėžiame lauką
time, kad jis būtų eilutės tipo. Galimus tipus galite rasti OpenSearch laukų tipų dokumentacijoje. -
Išsaugokite šį turinį faile pavadinimu
graylog-custom-mapping.json:{ "template": "graylog_*", "mappings": { "message": { "properties": { "time": { "type": "string", "index": "not_analyzed" } } } } } -
Išsiųskite šį failą naudodami šią curl komandą (pakeiskite
<XXXXXX>.stackhero-network.comsavo instancijos domeno vardu):curl -u 'admin' -X PUT -d @'graylog-custom-mapping.json' -H 'Content-Type: application/json' 'https://<XXXXXX>.stackhero-network.com/opensearch/_template/graylog-custom-mapping?pretty'Turėtumėte gauti atsakymą kaip:
{ "acknowledged": true } -
Galiausiai, patikrinkite, ar žemėlapis buvo atnaujintas su šia komanda (pakeiskite domeną, jei reikia):
curl -u 'admin' -X GET 'https://<XXXXXX>.stackhero-network.com/opensearch/graylog_deflector/_mapping?pretty'
Klaidos "Unable to write audit log entry" tvarkymas
Jei matote tokią klaidą:
Unable to write audit log entry because there is no valid license
arba
Not running cleanup for auditlog entries in MongoDB because there is no valid license
tai įvyksta, nes Graylog Enterprise buvo aktyvuotas be galiojančios licencijos. Jei turite licenciją, galite ją įvesti Graylog sąsajoje. Jei neturite licencijos, tiesiog išjunkite Graylog Enterprise Stackhero prietaisų skydelyje.