ከ GROK ጋር ያልተዋቀረ መረጃን ማዋቀር
Elastic Stack (ELK) እየተጠቀሙ ከሆነ እና ብጁ Logstash ምዝግብ ማስታወሻዎችን ወደ Elasticsearch ለመቅረጽ ፍላጎት ካሎት ይህ ልጥፍ ለእርስዎ ነው።
የELK ቁልል ለሦስት ክፍት ምንጭ ፕሮጀክቶች ምህጻረ ቃል ነው፡ Elasticsearch፣ Logstash እና Kibana። አንድ ላይ የምዝግብ ማስታወሻ አስተዳደር መድረክ ይመሰርታሉ።
- Elasticsearch የፍለጋ እና የትንታኔ ስርዓት ነው።
- Logstash ከበርካታ ምንጮች የተገኘውን መረጃ በአንድ ጊዜ የሚቀበል፣ የሚቀይረው እና ከዚያም ወደ "stash" እንደ Elasticsearch የሚልክ የአገልጋይ ወገን ዳታ ማቀነባበሪያ ቧንቧ ነው።
- ኪያና ተጠቃሚዎች በElasticsearch ውስጥ ገበታዎችን እና ግራፎችን በመጠቀም መረጃን እንዲያዩ ያስችላቸዋል።
Beats በኋላ ታየ እና ቀላል ዳታ ላኪ ነው። የቢትስ መግቢያ የኤልክ ቁልል ወደ ላስቲክ ቁልል ለውጦታል፣ነገር ግን ነጥቡ ያ አይደለም።
ይህ መጣጥፍ ስለ ግሮክ ነው፣ እሱም በሎግስታሽ ውስጥ ምዝግብ ማስታወሻዎችዎን ወደ ስቶሽ ከመላካቸው በፊት ሊለውጠው የሚችል ባህሪ ነው። ለኛ ዓላማዎች፣ ከሎግስታሽ እስከ ኢላስቲክ ፍለጋ ድረስ ስላለው መረጃ ስለማስኬድ ብቻ እናገራለሁ።
ግሮክ በሎግስታሽ ውስጥ ያልተዋቀረ መረጃን ወደ የተዋቀረ እና ሊጠየቅ ወደሚችል ነገር ለመተንተን የሚያገለግል ማጣሪያ ነው። እሱ በመደበኛ አገላለጽ (regex) ላይ ተቀምጧል እና በሎግ ፋይሎች ውስጥ ሕብረቁምፊዎችን ለማዛመድ የጽሑፍ ቅጦችን ይጠቀማል።
በሚቀጥሉት ክፍሎች እንደምናየው፣ ግሩክን መጠቀም ውጤታማ የሆነ የምዝግብ ማስታወሻ አያያዝን በተመለከተ ረጅም መንገድ ይሄዳል።
ያለ ግሮክ፣ የምዝግብ ማስታወሻህ ያልተዋቀረ ነው።
ያለ ግሮክ፣ ምዝግብ ማስታወሻዎች ከሎግስታሽ ወደ Elasticsearch ሲላኩ እና በኪባና ሲሰጡ፣ በመልዕክቱ ዋጋ ላይ ብቻ ይታያሉ።
በዚህ ሁኔታ ውስጥ ትርጉም ያለው መረጃ መጠየቅ ከባድ ነው ምክንያቱም ሁሉም የምዝግብ ማስታወሻዎች በአንድ ቁልፍ ውስጥ ስለሚቀመጡ። የምዝግብ ማስታወሻዎቹ በተሻለ ሁኔታ የተደራጁ ከሆነ ጥሩ ነበር።
ያልተዋቀረ መረጃ ከምዝግብ ማስታወሻዎች
localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0
የጥሬ መረጃውን ጠለቅ ብለው ከተመለከቱት በእውነቱ የተለያዩ ክፍሎች ያሉት ሲሆን እያንዳንዳቸው በቦታ የተከፋፈሉ መሆናቸውን ያያሉ።
የበለጠ ልምድ ላላቸው ገንቢዎች፣ እያንዳንዱ ክፍሎቹ ምን ማለት እንደሆነ እና ከኤፒአይ ጥሪ የመጣው የምዝግብ ማስታወሻ ምን እንደሆነ መገመት ይችላሉ። የእያንዳንዱ ነገር አቀራረብ ከዚህ በታች ተቀምጧል.
የእኛ ውሂብ የተዋቀረ እይታ
- የአካባቢ አስተናጋጅ == አካባቢ
- == ዘዴ ያግኙ
- /v2/applink/5c2f4bb3e9fda1234edc64d == url
- 400 == የምላሽ_ሁኔታ
- 46 ሚሴ == የምላሽ_ጊዜ
- 5bc6e716b5d6cb35fc9687c0 == user_id
በተዋቀረ መረጃ ላይ እንደምናየው, ያልተዋቀሩ ምዝግብ ማስታወሻዎች ትዕዛዝ አለ. ቀጣዩ እርምጃ ጥሬውን መረጃ በፕሮግራም ማካሄድ ነው። ግሮክ የሚያበራበት ቦታ ነው።
Grok አብነቶች
አብሮገነብ Grok አብነቶች
Logstash ያልተዋቀረ ውሂብን ለማዋቀር ከ100 በላይ አብሮገነብ አብነቶች ጋር አብሮ ይመጣል። እንደ apache, linux, haproxy, aws እና የመሳሰሉት ለአጠቃላይ ሲሳይሎጎች ሲቻል በእርግጠኝነት ይህንን መጠቀም አለብዎት።
ነገር ግን፣ ከላይ ባለው ምሳሌ ላይ እንደ ብጁ ምዝግብ ማስታወሻዎች ሲኖርዎት ምን ይከሰታል? የራስዎን የ Grok አብነት መገንባት አለብዎት።
Grok ብጁ አብነቶች
የራስዎን የ Grok አብነት ለመገንባት መሞከር አለብዎት። ተ ጠ ቀ ም ኩ
የ Grok አብነቶች አገባብ እንደሚከተለው መሆኑን ልብ ይበሉ። %{SYNTAX:SEMANTIC}
ለማድረግ የሞከርኩት የመጀመሪያው ነገር ወደ ትሩ መሄድ ነው። ያግኙ በግሮክ አራሚ ውስጥ. ይህ መሳሪያ የ Grok ስርዓተ-ጥለትን በራስ-ሰር ማመንጨት ቢችል ጥሩ ነበር ብዬ አስቤ ነበር፣ ነገር ግን ሁለት ግጥሚያዎችን ብቻ ስላገኘው በጣም ጠቃሚ አልነበረም።
ይህን ግኝት ተጠቅሜ በ Elastic Github ገጽ ላይ የሚገኘውን አገባብ በመጠቀም በግሮክ አራሚ ላይ የራሴን አብነት መገንባት ጀመርኩ።
በተለያዩ አገባቦች ከተጫወትኩ በኋላ በመጨረሻ የምዝግብ ማስታወሻውን በፈለኩት መንገድ ማዋቀር ቻልኩ።
ወደ Grok አራሚ አገናኝ
ዋናው ጽሑፍ፡-
localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0
ንድፍ
%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}
መጨረሻ ላይ ምን ሆነ
{
"environment": [
[
"localhost"
]
],
"method": [
[
"GET"
]
],
"url": [
[
"/v2/applink/5c2f4bb3e9fda1234edc64d"
]
],
"response_status": [
[
"400"
]
],
"BASE10NUM": [
[
"400"
]
],
"response_time": [
[
"46ms"
]
],
"user_id": [
[
"5bc6e716b5d6cb35fc9687c0"
]
]
}
በ Grok አብነት እና በካርታ የተደገፈ ውሂብ በእጃቸው፣ የመጨረሻው እርምጃ ወደ Logstash ማከል ነው።
Logstash.conf ውቅር ፋይል ያዘምኑ
የ ELK ቁልል በጫኑበት አገልጋይ ላይ ወደ Logstash ውቅር ይሂዱ፡
sudo vi /etc/logstash/conf.d/logstash.conf
ለውጦችህን ለጥፍ።
input {
file {
path => "/your_logs/*.log"
}
}
filter{
grok {
match => { "message" => "%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}"}
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
ለውጦቹን ካስቀመጡ በኋላ Logstashን እንደገና ያስጀምሩ እና አሁንም እየሰራ መሆኑን ለማረጋገጥ ሁኔታውን ያረጋግጡ።
sudo service logstash restart
sudo service logstash status
በመጨረሻም ለውጦቹ ተግባራዊ መሆናቸውን ለማረጋገጥ፣ በኪባና ውስጥ ለሎግስታሽ የ Elasticsearch መረጃ ጠቋሚ ማዘመንዎን እርግጠኛ ይሁኑ!
በግሮክ፣ የምዝግብ ማስታወሻህ የተዋቀረ ነው!
ከላይ በምስሉ ላይ እንደምናየው፣ ግሮክ የምዝግብ ማስታወሻ ውሂብን ወደ Elasticsearch በራስ ሰር ካርታ ማድረግ ይችላል። ይህ የምዝግብ ማስታወሻዎችን ለማስተዳደር እና መረጃን በፍጥነት ለመጠየቅ ቀላል ያደርገዋል። ለማረም የምዝግብ ማስታወሻ ፋይሎችን ከማውራት ይልቅ፣ የሚፈልጉትን እንደ አካባቢ ወይም ዩአርኤል በቀላሉ ማጣራት ይችላሉ።
የ Grok መግለጫዎችን ይሞክሩ! ይህንን ለማድረግ ሌላ መንገድ ካሎት ወይም ከዚህ በላይ ባሉት ምሳሌዎች ላይ ምንም አይነት ችግር ካጋጠመዎት እኔን ለማሳወቅ ከዚህ በታች ያለውን አስተያየት ይተዉ ።
ስላነበቡ እናመሰግናለን - እና እባክዎን እዚህ መካከለኛ ላይ ለተጨማሪ አስደሳች የሶፍትዌር ምህንድስና መጣጥፎች ተከተሉኝ!
መርጃዎች
PS
የቴሌግራም ቻናል በ
ምንጭ: hab.com