๐Ÿš€ ELK ์Šคํƒ์œผ๋กœ ์›น ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊น… ๋งˆ์Šคํ„ฐํ•˜๊ธฐ! ๐ŸŽ‰

์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ์ด๋ฏธ์ง€ - ๐Ÿš€ ELK ์Šคํƒ์œผ๋กœ ์›น ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊น… ๋งˆ์Šคํ„ฐํ•˜๊ธฐ! ๐ŸŽ‰

 

 

์•ˆ๋…•ํ•˜์„ธ์š”, ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜์€ ์ •๋ง ํ•ซํ•œ ์ฃผ์ œ๋กœ ์ฐพ์•„์™”์–ด์š”. ๋ฐ”๋กœ 'ELK ์Šคํƒ์„ ํ™œ์šฉํ•œ ์›น ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋กœ๊น…'์— ๋Œ€ํ•ด ๊นŠ์ด ํŒŒํ—ค์ณ๋ณผ ๊ฑฐ์˜ˆ์š”. ์ด๊ฑฐ ์™„์ „ ๊ฟ€ํŒ ๋Œ€๋ฐฉ์ถœ์ด์—์š”! ๐Ÿฏ

์š”์ฆ˜ ์›น ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ELK ์Šคํƒ์ด ๋Œ€์„ธ๋ผ๋Š” ๊ฑฐ ์•„์‹œ๋‚˜์š”? ใ…‹ใ…‹ใ…‹ ๋ชจ๋ฅด์…จ๋‹ค๊ณ ์š”? ๊ดœ์ฐฎ์•„์š”, ์ง€๊ธˆ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์•Œ์•„๊ฐˆ ๊ฑฐ๋‹ˆ๊นŒ์š”! ๐Ÿ˜‰

์ž ๊น! ๐Ÿค” ELK๊ฐ€ ๋ญ๋ƒ๊ณ ์š”?

ELK๋Š” Elasticsearch, Logstash, Kibana์˜ ์•ฝ์ž์˜ˆ์š”. ์ด ์„ธ ๊ฐ€์ง€ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ฉ์ณ์„œ ๊ฐ•๋ ฅํ•œ ๋กœ๊ทธ ๋ถ„์„ ๋ฐ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ๋งŒ๋“  ๊ฑฐ์ฃ . ์™„์ „ ๊ฐœ๋ฐœ์ž๋“ค์˜ ํ•„์ˆ˜ ์•„์ดํ…œ์ด์—์š”!

์ด์ œ๋ถ€ํ„ฐ ELK ์Šคํƒ์˜ ์„ธ๊ณ„๋กœ ์—ฌ๋Ÿฌ๋ถ„์„ ์ดˆ๋Œ€ํ• ๊ฒŒ์š”. ์ค€๋น„๋˜์…จ๋‚˜์š”? ๊ทธ๋Ÿผ ๊ณ ๊ณ ์”ฝ! ๐Ÿš—๐Ÿ’จ

๐ŸŒŸ ELK ์Šคํƒ: ๊ฐœ๋ฐœ์ž์˜ ๋น„๋ฐ€ ๋ฌด๊ธฐ

์—ฌ๋Ÿฌ๋ถ„, ์›น์‚ฌ์ดํŠธ๋‚˜ ์•ฑ์„ ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ๋กœ๊ทธ ๊ด€๋ฆฌ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์•„์‹œ์ฃ ? ๊ทผ๋ฐ ์ด๊ฒŒ ์€๊ทผ ๊ณจ์น˜ ์•„ํ”ˆ ์ผ์ด์—์š”. ๋กœ๊ทธ ํŒŒ์ผ์ด ์Œ“์ด๊ณ  ์Œ“์—ฌ์„œ ๋‚˜์ค‘์—” ๋ญ๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๊ณ ... ๐Ÿ˜ตโ€๐Ÿ’ซ

๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒŒ ๋ฐ”๋กœ ELK ์Šคํƒ์ด์—์š”! ์ด ๋…€์„๋“ค์ด ์šฐ๋ฆฌ์˜ ๊ตฌ์›์ž๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์ฃ . ใ…‹ใ…‹ใ…‹

  • ๐Ÿ˜ Elasticsearch: ์ดˆ๊ณ ์† ๊ฒ€์ƒ‰ ์—”์ง„์ด์—์š”. ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์‹๊ฐ„์— ์ฐพ์•„๋‚ด์ฃ .
  • ๐Ÿšฐ Logstash: ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ณ€ํ™˜์˜ ๋‹ฌ์ธ์ด์—์š”. ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ค˜์š”.
  • ๐ŸŽจ Kibana: ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ์•„ํ‹ฐ์ŠคํŠธ์˜ˆ์š”. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์˜๊ฒŒ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด์—ฌ์ค˜์š”.

์ด ์„ธ ๊ฐ€์ง€๊ฐ€ ํ•ฉ์ณ์ง€๋ฉด? ๋ฐ”๋กœ ๊ฐœ๋ฐœ์ž์˜ ๊ฟˆ์˜ ์กฐํ•ฉ์ด ๋˜๋Š” ๊ฑฐ์ฃ ! ๐Ÿ‘จโ€๐Ÿ’ปโœจ

์žฌ๋Šฅ๋„ท ๊ฟ€ํŒ! ๐Ÿ’ก

ELK ์Šคํƒ ํ™œ์šฉ ๋Šฅ๋ ฅ์€ ์š”์ฆ˜ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์ดˆํŠน๊ธ‰ ์Šคํ‚ฌ์ด์—์š”. ์žฌ๋Šฅ๋„ท์—์„œ ELK ๊ด€๋ จ ๊ฐ•์˜๋‚˜ ๋ฉ˜ํ† ๋ง์„ ์ฐพ์•„๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด์ฃ . ์‹ค๋ ฅ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ•œ ๋ฒˆ ๋‘˜๋Ÿฌ๋ณด์„ธ์š”!

์ž, ์ด์ œ ELK ์Šคํƒ์ด ๋ญ”์ง€ ๋Œ€์ถฉ ๊ฐ์ด ์˜ค์‹œ๋‚˜์š”? ๊ทธ๋Ÿผ ์ด์ œ๋ถ€ํ„ฐ ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž์„ธํžˆ ํŒŒํ—ค์ณ๋ณผ๊ฒŒ์š”. ์ค€๋น„๋˜์…จ๋‚˜์š”? Let's go! ๐Ÿš€

๐Ÿ˜ Elasticsearch: ๊ฒ€์ƒ‰์˜ ์‹ 

Elasticsearch, ์ค„์—ฌ์„œ ES๋ผ๊ณ ๋„ ๋ถˆ๋Ÿฌ์š”. ์ด ๋…€์„, ์ •๋ง ๋Œ€๋‹จํ•ด์š”! ๐Ÿคฉ

ES๋Š” Apache Lucene์ด๋ผ๋Š” ๊ฒ€์ƒ‰ ์—”์ง„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์–ด์š”. ๊ทผ๋ฐ ๊ทธ๋ƒฅ ๊ฒ€์ƒ‰ ์—”์ง„์ด ์•„๋‹ˆ๋ผ, ๋ถ„์‚ฐํ˜• ๊ฒ€์ƒ‰ ์—”์ง„์ด์—์š”. ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ด๋ƒ๊ณ ์š”?

๋ถ„์‚ฐํ˜• ์‹œ์Šคํ…œ์ด๋ž€? ๐ŸŒ

์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”. ๋•๋ถ„์— ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์ฃ !

ES์˜ ์ฃผ์š” ํŠน์ง•๋“ค์„ ์‚ดํŽด๋ณผ๊นŒ์š”?

  • ๐Ÿ“Š ์Šคํ‚ค๋งˆ๋ฆฌ์Šค(Schemaless): ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ ๋ผ์š”. ์œ ์—ฐ์„ฑ ์ตœ๊ณ !
  • ๐Ÿš€ ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰: ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์ž๋งˆ์ž ๋ฐ”๋กœ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•ด์š”. ์ดˆ์Šคํ”ผ๋“œ!
  • ๐Ÿ” ํ’€ํ…์ŠคํŠธ ๊ฒ€์ƒ‰: ๋ฌธ์„œ ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ผผ๊ผผํ•˜๊ฒŒ!
  • ๐Ÿงฉ RESTful API: HTTP ํ”„๋กœํ† ์ฝœ๋กœ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์–ด์š”. ํŽธ๋ฆฌํ•ด!

ES๋Š” JSON ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์š”. ์ด๊ฒŒ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๊ณ ์š”? ๊ฑฑ์ • ๋งˆ์„ธ์š”, ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณผ๊ฒŒ์š”!

{
  "name": "๊น€์ฝ”๋”ฉ",
  "age": 28,
  "skills": ["JavaScript", "Python", "ELK"],
  "job": "์›น ๊ฐœ๋ฐœ์ž"
}

์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฑฐ์˜ˆ์š”. ๋ณด๊ธฐ ์‰ฝ์ฃ ? ๐Ÿ˜Š

ES์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋“ค๋„ ์•Œ์•„๋ณผ๊นŒ์š”?

  • ๐Ÿ“š ์ธ๋ฑ์Šค(Index): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋น„์Šทํ•œ ๊ฐœ๋…์ด์—์š”.
  • ๐Ÿ“„ ๋„ํ๋จผํŠธ(Document): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ ˆ์ฝ”๋“œ์™€ ๋น„์Šทํ•ด์š”.
  • ๐Ÿท๏ธ ํ•„๋“œ(Field): ๋„ํ๋จผํŠธ์˜ ์†์„ฑ์ด์—์š”.
  • ๐Ÿ’Ž ์ƒค๋“œ(Shard): ์ธ๋ฑ์Šค๋ฅผ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆˆ ๊ฑฐ์˜ˆ์š”. ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ๋„์›€์ด ๋ผ์š”.

ES๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์—„์ฒญ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ์‹œ๊ฐ„๋Œ€์— ๋ฐœ์ƒํ•œ ์—๋Ÿฌ๋งŒ ์ฐพ๊ณ  ์‹ถ๋‹ค? ์ˆœ์‹๊ฐ„์ด์—์š”! ๐Ÿ‘€๐Ÿ’จ

์‹ค์ „ ํŒ! ๐Ÿ’ก

ES๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ด์š”. ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ ํ•ด์š”. ์•ˆ ๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ป—์–ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ˜ฑ

ES์˜ ๋งค๋ ฅ์— ๋น ์ง€์…จ๋‚˜์š”? ใ…‹ใ…‹ใ…‹ ์ด์ œ Logstash๋กœ ๋„˜์–ด๊ฐ€๋ณผ๊ฒŒ์š”. ๋ฐ์ดํ„ฐ๋ฅผ ES๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ์˜ˆ์˜๊ฒŒ ๋‹ค๋“ฌ์–ด์ฃผ๋Š” ์นœ๊ตฌ์˜ˆ์š”! ๐Ÿšฐโœจ

๐Ÿšฐ Logstash: ๋ฐ์ดํ„ฐ ์ •์ œ์˜ ๋งˆ๋ฒ•์‚ฌ

์ž, ์ด์ œ Logstash์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ์ฐจ๋ก€์˜ˆ์š”! ์ด ๋…€์„, ์ •๋ง ๋Œ€๋‹จํ•ด์š”. ์™œ๋ƒ๊ณ ์š”? ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ๋ณ€ํ™˜ํ•˜๊ณ , ์ „์†กํ•˜๋Š” ๋ชจ๋“  ๊ฑธ ํ•œ ๋ฐฉ์— ํ•ด๊ฒฐํ•ด์ฃผ๊ฑฐ๋“ ์š”! ๐Ÿ‘

Logstash๋Š” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ๋กœ ๋™์ž‘ํ•ด์š”. ๋ญ”๊ฐ€ ์žˆ์–ด ๋ณด์ด๋Š” ๋ง์ด์ฃ ? ใ…‹ใ…‹ใ…‹ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด๋“œ๋ฆด๊ฒŒ์š”!

ํŒŒ์ดํ”„๋ผ์ธ์ด๋ž€? ๐Ÿš‡

๋ฐ์ดํ„ฐ๊ฐ€ ํ˜๋Ÿฌ๊ฐ€๋Š” ํ†ต๋กœ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ผ์š”. ์ž…๊ตฌ(Input)๋กœ ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๊ฐ„์—์„œ ๊ฐ€๊ณต(Filter)๋˜๊ณ , ์ถœ๊ตฌ(Output)๋กœ ๋‚˜๊ฐ€๋Š” ๊ฑฐ์ฃ !

Logstash์˜ ํŒŒ์ดํ”„๋ผ์ธ์€ ํฌ๊ฒŒ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์–ด์š”:

  • ๐Ÿšช Input: ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ์ž…๊ตฌ์˜ˆ์š”.
  • ๐Ÿงน Filter: ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ œํ•˜๊ณ  ๋ณ€ํ™˜ํ•˜๋Š” ๊ณณ์ด์—์š”.
  • ๐Ÿš€ Output: ๊ฐ€๊ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ์ถœ๊ตฌ์˜ˆ์š”.

์ด์ œ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ๊นŒ์š”?

๐Ÿšช Input: ๋ฐ์ดํ„ฐ์˜ ์ž…๊ตฌ

Logstash๋Š” ๋‹ค์–‘ํ•œ ์†Œ์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ์–ด์š”. ์˜ˆ๋ฅผ ๋“ค๋ฉด:

  • ๐Ÿ“ ํŒŒ์ผ
  • ๐ŸŒ HTTP
  • ๐Ÿฐ RabbitMQ
  • โ˜• ์นดํ”„์นด
  • ... ๋“ฑ๋“ฑ ์ •๋ง ๋งŽ์•„์š”!

์˜ˆ๋ฅผ ๋“ค์–ด, ์›น ์„œ๋ฒ„ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ฝ์–ด๋“ค์ด๋Š” ์„ค์ •์€ ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์š”:

input {
  file {
    path => "/var/log/nginx/access.log"
    start_position => "beginning"
  }
}

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Nginx ์›น ์„œ๋ฒ„์˜ ์ ‘์† ๋กœ๊ทธ๋ฅผ ์ฝ์–ด๋“ค์ผ ์ˆ˜ ์žˆ์–ด์š”. ์ฟจํ•˜์ฃ ? ๐Ÿ˜Ž

๐Ÿงน Filter: ๋ฐ์ดํ„ฐ ์ •์ œ์˜ ๋งˆ๋ฒ•

Filter๋Š” Logstash์˜ ํ•ต์‹ฌ์ด์—์š”. ์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋“ ์š”. ์ฃผ์š” ํ•„ํ„ฐ๋“ค์„ ์‚ดํŽด๋ณผ๊นŒ์š”?

  • โœ‚๏ธ Grok: ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ ํ˜•ํƒœ๋กœ ํŒŒ์‹ฑํ•ด์š”.
  • โฐ Date: ๋‚ ์งœ/์‹œ๊ฐ„ ๋ฌธ์ž์—ด์„ ํƒ€์ž„์Šคํƒฌํ”„๋กœ ๋ณ€ํ™˜ํ•ด์š”.
  • ๐Ÿ”ข Mutate: ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€, ์‚ญ์ œ, ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐ŸŒ GeoIP: IP ์ฃผ์†Œ๋ฅผ ์ง€๋ฆฌ ์ •๋ณด๋กœ ๋ณ€ํ™˜ํ•ด์š”.

Grok ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์‹œ๋ฅผ ๋ณผ๊นŒ์š”?

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
    target => "@timestamp"
  }
}

์ด ์„ค์ •์€ Apache ์›น ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ , ๋‚ ์งœ๋ฅผ ํƒ€์ž„์Šคํƒฌํ”„๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”. ์™„์ „ ํŽธ๋ฆฌํ•˜์ฃ ? ๐Ÿ‘

๐Ÿš€ Output: ๋ฐ์ดํ„ฐ์˜ ๋ชฉ์ ์ง€

๋งˆ์ง€๋ง‰์œผ๋กœ, ๊ฐ€๊ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””๋กœ ๋ณด๋‚ผ์ง€ ์ •ํ•˜๋Š” ๋‹จ๊ณ„์˜ˆ์š”. ์ฃผ๋กœ Elasticsearch๋กœ ๋ณด๋‚ด๊ฒ ์ง€๋งŒ, ๋‹ค๋ฅธ ์˜ต์…˜๋„ ๋งŽ์•„์š”:

  • ๐Ÿ—„๏ธ Elasticsearch
  • ๐Ÿ“Š Graphite
  • ๐Ÿ“ง Email
  • ๐Ÿ’พ File
  • ... ๋“ฑ๋“ฑ ์„ ํƒ์˜ ํญ์ด ๋„“์–ด์š”!

Elasticsearch๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์„ค์ •์€ ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์š”:

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "nginx-logs-%{+YYYY.MM.dd}"
  }
}

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ€๊ณต๋œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๊ฐ€ Elasticsearch๋กœ ์™์™ ๋“ค์–ด๊ฐ€์š”. ์™„๋ฒฝํ•ด! ๐Ÿ‘Œ

์ฃผ์˜์‚ฌํ•ญ! โš ๏ธ

Logstash๋Š” ๊ฝค ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์š”. ์„œ๋ฒ„ ์‚ฌ์–‘์— ๋”ฐ๋ผ ์ ์ ˆํžˆ ์„ค์ •ํ•ด์•ผ ํ•ด์š”. ์•ˆ ๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„๊ฐ€ ํž˜๋“ค์–ดํ•  ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ˜ฐ

Logstash์˜ ๋งค๋ ฅ์— ํ‘น ๋น ์ง€์…จ๋‚˜์š”? ใ…‹ใ…‹ใ…‹ ์ด ๋…€์„๋งŒ ์ž˜ ๋‹ค๋ค„๋„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊ฐ€ ํ•œ๊ฒฐ ์ˆ˜์›”ํ•ด์งˆ ๊ฑฐ์˜ˆ์š”. ๋‹ค์Œ์€ Kibana๋กœ ๋„˜์–ด๊ฐˆ๊ฒŒ์š”. ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์˜๊ฒŒ ์‹œ๊ฐํ™”ํ•ด์ฃผ๋Š” ์นœ๊ตฌ๋ž๋‹ˆ๋‹ค! ๐ŸŽจโœจ

๐ŸŽจ Kibana: ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ์•„ํ‹ฐ์ŠคํŠธ

์ž, ์ด์ œ ELK ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰ ์ฃผ์ธ๊ณต, Kibana๋ฅผ ์†Œ๊ฐœํ•  ์‹œ๊ฐ„์ด์—์š”! ์ด ๋…€์„, ์ •๋ง ๋Œ€๋‹จํ•ด์š”. ์™œ๋ƒ๊ณ ์š”? ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ˆˆ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๊ฑฐ๋“ ์š”! ๐Ÿ‘€โœจ

Kibana๋Š” Elasticsearch์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋„๊ตฌ์˜ˆ์š”. ๊ทธ๋ž˜ํ”„, ์ฐจํŠธ, ์ง€๋„ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์ฃ . ์™„์ „ ์˜ˆ์ˆ ์ด์—์š”! ๐ŸŽญ

Kibana์˜ ๋งค๋ ฅ ํฌ์ธํŠธ! ๐Ÿ’–

1. ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์›Œ์š”. ์ฝ”๋”ฉ ์—†์ด๋„ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”!
2. ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ด์š”. ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ๋Œ€๋กœ ๋ฐ”๋กœ๋ฐ”๋กœ ๋ฐ˜์˜๋ผ์š”!
3. ๋‹ค์–‘ํ•œ ์‹œ๊ฐํ™” ์˜ต์…˜์„ ์ œ๊ณตํ•ด์š”. ์›ํ•˜๋Š” ๋Œ€๋กœ ๊พธ๋ฐ€ ์ˆ˜ ์žˆ์–ด์š”!

Kibana์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ์‚ดํŽด๋ณผ๊นŒ์š”?

๐Ÿ“Š ๋Œ€์‹œ๋ณด๋“œ (Dashboard)

Kibana์˜ ๊ฝƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด์—์š”. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์‹œ๊ฐํ™” ์š”์†Œ๋ฅผ ํ•œ ํŽ˜์ด์ง€์— ๋ชจ์•„์„œ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ๋งˆ์น˜ ์กฐ์ข…์„ ๊ฐ™์ฃ ? ใ…‹ใ…‹ใ…‹

  • ๐Ÿ“ˆ ๊ทธ๋ž˜ํ”„, ์ฐจํŠธ, ํ…Œ์ด๋ธ” ๋“ฑ์„ ์ž์œ ๋กญ๊ฒŒ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ”„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ–ผ๏ธ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ ˆ์ด์•„์›ƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, ์›น์‚ฌ์ดํŠธ ํŠธ๋ž˜ํ”ฝ, ์„œ๋ฒ„ ์ƒํƒœ, ์—๋Ÿฌ ๋กœ๊ทธ ๋“ฑ์„ ํ•œ ํŽ˜์ด์ง€์—์„œ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด์š”. ์™„์ „ ํŽธ๋ฆฌํ•˜์ฃ ? ๐Ÿ˜Ž

๐Ÿ” ๋””์Šค์ปค๋ฒ„ (Discover)

raw ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด์—์š”. SQL ์ฟผ๋ฆฌ์ฒ˜๋Ÿผ ๋ณต์žกํ•œ ๊ฑฐ ์—†์ด, ๊ฐ„๋‹จํ•œ ๊ฒ€์ƒ‰์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์š”.

  • ๐Ÿ”Ž ์ „์ฒด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์š”. ํ‚ค์›Œ๋“œ๋งŒ ์ž…๋ ฅํ•˜๋ฉด ๋ผ์š”!
  • โณ ์‹œ๊ฐ„ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด์„œ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ“‹ ํ•„๋“œ๋ฅผ ์„ ํƒํ•ด์„œ ์›ํ•˜๋Š” ์ •๋ณด๋งŒ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

๋กœ๊ทธ์—์„œ ํŠน์ • ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ฐพ๊ณ  ์‹ถ๋‹ค๊ณ ์š”? ๋””์Šค์ปค๋ฒ„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ˆœ์‹๊ฐ„์ด์—์š”! ๐Ÿ‘

๐Ÿ“ˆ ์‹œ๊ฐํ™” (Visualize)

๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ž˜ํ”„๋‚˜ ์ฐจํŠธ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ด์š”. ๋‹ค์–‘ํ•œ ์‹œ๊ฐํ™” ์˜ต์…˜์„ ์ œ๊ณตํ•˜์ฃ .

  • ๐Ÿ“Š ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„, ํŒŒ์ด ์ฐจํŠธ, ๋ผ์ธ ๊ทธ๋ž˜ํ”„ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ์ฐจํŠธ
  • ๐Ÿ—บ๏ธ ์ง€๋„๋ฅผ ์ด์šฉํ•œ ์ง€๋ฆฌ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”
  • ๐Ÿ”ข ๋‹จ์ผ ์ˆซ์ž๋ฅผ ํฌ๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๋ฉ”ํŠธ๋ฆญ ์‹œ๊ฐํ™”
  • ๐Ÿ•ธ๏ธ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตญ๊ฐ€๋ณ„ ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ์ž ์ˆ˜๋ฅผ ์„ธ๊ณ„ ์ง€๋„ ์œ„์— ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์–ด์š”. ์™„์ „ ๋ฉ‹์ง€์ง€ ์•Š๋‚˜์š”? ๐Ÿ˜

โฐ ํƒ€์ž„๋ผ์ด์–ธ (Timelion)

์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐ ํŠนํ™”๋œ ๊ธฐ๋Šฅ์ด์—์š”. ์ˆ˜ํ•™์ ์ธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„๋„ ๊ฐ€๋Šฅํ•ด์š”!

  • ๐Ÿ“… ์—ฌ๋Ÿฌ ์‹œ๊ฐ„๋Œ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋น„๊ตํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿงฎ ๋ฐ์ดํ„ฐ์— ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ”€ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๋ฒˆ ์ฃผ ํŠธ๋ž˜ํ”ฝ๊ณผ ์ง€๋‚œ์ฃผ ํŠธ๋ž˜ํ”ฝ์„ ๋น„๊ตํ•˜๋ฉด์„œ ๋™์‹œ์— ํ‰๊ท ๊ฐ’์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋ฐ์ดํ„ฐ ๋ถ„์„์ด ํ•œ์ธต ๋” ๊นŠ์–ด์ง€๋Š” ๊ฑฐ์ฃ ! ๐Ÿ•ต๏ธโ€โ™€๏ธ

๐Ÿšจ ์•Œ๋ฆผ (Alerting)

ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋ฉด ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด์—์š”. 24์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์ง€ ์•Š์•„๋„ ๋˜๋‹ˆ๊นŒ ์™„์ „ ํŽธํ•ด์š”!

  • ๐Ÿ“ง ์ด๋ฉ”์ผ, Slack ๋“ฑ ๋‹ค์–‘ํ•œ ์ฑ„๋„๋กœ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”.
  • ๐ŸŽš๏ธ ์ž„๊ณ„๊ฐ’์„ ์„ค์ •ํ•ด์„œ ์›ํ•˜๋Š” ์กฐ๊ฑด์—๋งŒ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ” ์ฃผ๊ธฐ์ ์œผ๋กœ ์กฐ๊ฑด์„ ์ฒดํฌํ•ด์„œ ์•Œ๋ ค์ค˜์š”.

์„œ๋ฒ„ CPU ์‚ฌ์šฉ๋Ÿ‰์ด 90%๋ฅผ ๋„˜์œผ๋ฉด ์•Œ๋ฆผ์„ ๋ฐ›๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ด๋Ÿฌ๋ฉด ๋ฌธ์ œ๊ฐ€ ์ปค์ง€๊ธฐ ์ „์— ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์ฃ ! ๐Ÿ‘จโ€๐Ÿš’

Kibana ์‚ฌ์šฉ ํŒ! ๐Ÿ’ก

1. ๋Œ€์‹œ๋ณด๋“œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์š”. ๋„ˆ๋ฌด ๋งŽ์€ ์ •๋ณด๋ฅผ ํ•œ ๋ฒˆ์— ๋ณด์—ฌ์ฃผ๋ฉด ์˜คํžˆ๋ ค ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ์š”.
2. ์ƒ‰์ƒ์„ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์š”. ์ค‘์š”ํ•œ ์ •๋ณด๋Š” ๋ˆˆ์— ๋„๋Š” ์ƒ‰์œผ๋กœ ๊ฐ•์กฐํ•ด์š”.
3. ์ •๊ธฐ์ ์œผ๋กœ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์š”. ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€ํ•˜๋ฉด ๋Œ€์‹œ๋ณด๋“œ๋„ ๋ณ€ํ•ด์•ผ ํ•ด์š”!

Kibana์˜ ๋งค๋ ฅ์— ํ‘น ๋น ์ง€์…จ๋‚˜์š”? ใ…‹ใ…‹ใ…‹ ์ด ๋…€์„๋งŒ ์ž˜ ๋‹ค๋ค„๋„ ๋ฐ์ดํ„ฐ ๋ถ„์„์ด ํ•œ๊ฒฐ ์žฌ๋ฏธ์žˆ์–ด์งˆ ๊ฑฐ์˜ˆ์š”. ๋ณต์žกํ•œ ์ˆซ์ž๋“ค์ด ์˜ˆ์œ ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ•˜๋Š” ๊ฑธ ๋ณด๋ฉด ๋งˆ์น˜ ๋งˆ๋ฒ• ๊ฐ™์•„์š”! โœจ๐Ÿง™โ€โ™‚๏ธ

์ž, ์ด์ œ ELK ์Šคํƒ์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‚ดํŽด๋ดค์–ด์š”. Elasticsearch๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ณ , Logstash๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ฐ€๊ณตํ•˜๊ณ , Kibana๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ฑฐ์ฃ . ์ด ์„ธ ๊ฐ€์ง€๊ฐ€ ๋งŒ๋‚˜๋ฉด ์ •๋ง ํ™˜์ƒ์˜ ์กฐํ•ฉ์ด ๋˜๋Š” ๊ฑฐ์˜ˆ์š”! ๐Ÿ‘๐Ÿ‘๐Ÿ‘

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์ด ELK ์Šคํƒ์„ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ž์„ธํžˆ ์•Œ์•„๋ณผ๊ฒŒ์š”. ๊ธฐ๋Œ€๋˜์ง€ ์•Š๋‚˜์š”? ์ €๋Š” ๋„ˆ๋ฌด ์‹ ๋‚˜์š”! ๐Ÿš€

๐Ÿ› ๏ธ ELK ์Šคํƒ ๊ตฌ์ถ•ํ•˜๊ธฐ: ์‹ค์ „ ๊ฐ€์ด๋“œ

์ž, ์ด์ œ ELK ์Šคํƒ์„ ์ง์ ‘ ๊ตฌ์ถ•ํ•ด๋ณผ ์‹œ๊ฐ„์ด์—์š”! ๋–จ๋ฆฌ์ง€ ์•Š๋‚˜์š”? ใ…‹ใ…‹ใ…‹ ๊ฑฑ์ • ๋งˆ์„ธ์š”. ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผ์˜ค์‹œ๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋„ ๊ธˆ๋ฐฉ ELK ๋งˆ์Šคํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ’ช

์ฃผ์˜์‚ฌํ•ญ! โš ๏ธ

ELK ์Šคํƒ ๊ตฌ์ถ•์€ ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฝค ๋งŽ์ด ์‚ฌ์šฉํ•ด์š”. ์ตœ์†Œ 8GB RAM, 2 CPU ์ฝ”์–ด ์ด์ƒ์˜ ์‚ฌ์–‘์„ ์ถ”์ฒœํ•ด์š”. ์ž‘์€ ์„œ๋ฒ„๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๋‚˜์ค‘์— ๊ณ ์ƒํ•  ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ˜…

1. Elasticsearch ์„ค์น˜ํ•˜๊ธฐ

๋จผ์ € Elasticsearch๋ฅผ ์„ค์น˜ํ•ด๋ณผ๊ฒŒ์š”. Elasticsearch๋Š” Java ๊ธฐ๋ฐ˜์ด๋ผ Java๊ฐ€ ํ•„์š”ํ•ด์š”.

  1. Java ์„ค์น˜ (OpenJDK 11 ์ด์ƒ ์ถ”์ฒœ)
      sudo apt update
    sudo apt install openjdk-11-jdk
  2. Elasticsearch ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.0-linux-x86_64.tar.gz
    tar -xzf elasticsearch-7.15.0-linux-x86_64.tar.gz
    cd elasticsearch-7.15.0/
  3. Elasticsearch ์‹คํ–‰
    ./bin/elasticsearch

์ด์ œ Elasticsearch๊ฐ€ ์‹คํ–‰๋์–ด์š”! ๊ธฐ๋ณธ์ ์œผ๋กœ 9200 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์š”. http://localhost:9200 ์œผ๋กœ ์ ‘์†ํ•ด๋ณด์„ธ์š”. JSON ์‘๋‹ต์ด ์˜ค๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค! ๐ŸŽ‰

2. Logstash ์„ค์น˜ํ•˜๊ธฐ

๋‹ค์Œ์€ Logstash ์ฐจ๋ก€์˜ˆ์š”. ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์˜ ํ•ต์‹ฌ์ด์ฃ !

  1. Logstash ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
    wget https://artifacts.elastic.co/downloads/logstash/logstash-7.15.0-linux-x86_64.tar.gz
    tar -xzf logstash-7.15.0-linux-x86_64.tar.gz
    cd logstash-7.15.0/
  2. ๊ฐ„๋‹จํ•œ Logstash ์„ค์ • ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ (logstash.conf)
    input {
      file {
        path => "/var/log/syslog"
        start_position => "beginning"
      }
    }
    
    output {
      elasticsearch {
        hosts => ["localhost:9200"]
      }
    }
  3. Logstash ์‹คํ–‰
    ./bin/logstash -f logstash.conf

์ด์ œ Logstash๊ฐ€ ์‹œ์Šคํ…œ ๋กœ๊ทธ๋ฅผ ์ฝ์–ด์„œ Elasticsearch๋กœ ๋ณด๋‚ด๊ณ  ์žˆ์–ด์š”. ๋ฉ‹์ง€์ฃ ? ๐Ÿ˜Ž

3. Kibana ์„ค์น˜ํ•˜๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ Kibana๋ฅผ ์„ค์น˜ํ•ด๋ณผ๊ฒŒ์š”. ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ๊ฝƒ์ด์ฃ !

  1. Kibana ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
    wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.0-linux-x86_64.tar.gz
    tar -xzf kibana-7.15.0-linux-x86_64.tar.gz
    cd kibana-7.15.0-linux-x86_64/
  2. Kibana ์„ค์ • ํŒŒ์ผ ์ˆ˜์ • (config/kibana.yml)
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://localhost:9200"]
  3. Kibana ์‹คํ–‰
    ./bin/kibana

์ด์ œ Kibana๊ฐ€ ์‹คํ–‰๋์–ด์š”! http://localhost:5601 ๋กœ ์ ‘์†ํ•˜๋ฉด Kibana ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ์™€์šฐ! ๐Ÿคฉ

ํ”„๋กœ ํŒ! ๐Ÿ’ก

์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ณด์•ˆ ์„ค์ •์ด ๋งค์šฐ ์ค‘์š”ํ•ด์š”. Elasticsearch์™€ Kibana์— ์ธ์ฆ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ๊ผญ ํ™•์ธํ•˜์„ธ์š”!

4. ELK ์Šคํƒ ํ™œ์šฉํ•˜๊ธฐ

์ด์ œ ELK ์Šคํƒ์ด ๋ชจ๋‘ ์ค€๋น„๋์–ด์š”! ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๐Ÿ” ๋กœ๊ทธ ๋ถ„์„: ์›น ์„œ๋ฒ„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋“ฑ์˜ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ“Š ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‹ˆํ„ฐ๋ง: ์‹ค์‹œ๊ฐ„์œผ๋กœ ์›น์‚ฌ์ดํŠธ ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿšจ ์ด์ƒ ํƒ์ง€: ๋น„์ •์ƒ์ ์ธ ํŒจํ„ด์„ ๊ฐ์ง€ํ•˜๊ณ  ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ“ˆ ๋น„์ฆˆ๋‹ˆ์Šค ์ธ์‚ฌ์ดํŠธ: ์‚ฌ์šฉ์ž ํ–‰๋™, ๊ตฌ๋งค ํŒจํ„ด ๋“ฑ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, Nginx ์›น ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๋Š” Logstash ์„ค์ •์€ ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์š”:

input {
  file {
    path => "/var/log/nginx/access.log"
    start_position => "beginning"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
  geoip {
    source => "clientip"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "nginx-access-%{+YYYY.MM.dd}"
  }
}

์ด ์„ค์ •์œผ๋กœ Nginx ๋กœ๊ทธ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ , ๋‚ ์งœ๋ฅผ ๋ณ€ํ™˜ํ•˜๊ณ , IP ์ฃผ์†Œ๋ฅผ ์ง€๋ฆฌ ์ •๋ณด๋กœ ๋ณ€ํ™˜ํ•ด์„œ Elasticsearch์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ทธ๋ฆฌ๊ณ  Kibana์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋ฉด... ์™€! ์ •๋ง ๋ฉ‹์ง„ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์™„์„ฑ๋ผ์š”! ๐Ÿ‘๐Ÿ‘๐Ÿ‘

์ฃผ์˜์‚ฌํ•ญ! โš ๏ธ

ELK ์Šคํƒ์€ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์•„์ง€๋ฉด ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ด์š”. ์ฃผ๊ธฐ์ ์œผ๋กœ ์˜ค๋ž˜๋œ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์•„์นด์ด๋ธŒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•„์š”!

์ž, ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„์€ ELK ์Šคํƒ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋œ ๊ฑฐ์˜ˆ์š”! ๐Ÿ† ์ด ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ์„์ง€ ์ƒ์ƒ์ด ๊ฐ€๋‚˜์š”? ๋กœ๊ทธ ๋ถ„์„, ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค... ๊ฐ€๋Šฅ์„ฑ์€ ๋ฌด๊ถ๋ฌด์ง„ํ•ด์š”!

ELK ์Šคํƒ์„ ํ™œ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์— ์ˆจ๊ฒจ์ง„ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์–ด์š”. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ธ์‚ฌ์ดํŠธ๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ํ•œ ๋‹จ๊ณ„ ๋” ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ์ฃ . ์ •๋ง ํฅ๋ฏธ์ง„์ง„ํ•˜์ง€ ์•Š๋‚˜์š”? ๐Ÿ˜†

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ELK ์Šคํƒ์„ ์‹ค์ œ ๋น„์ฆˆ๋‹ˆ์Šค ์ƒํ™ฉ์— ์ ์šฉํ•˜๋Š” ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ๊ธฐ๋Œ€๋˜์ง€ ์•Š๋‚˜์š”? ์ €๋Š” ๋„ˆ๋ฌด ์‹ ๋‚˜์š”! ๐Ÿš€

๐ŸŒŸ ELK ์Šคํƒ ํ™œ์šฉ ์‚ฌ๋ก€: ์‹ค์ „ ์‹œ๋‚˜๋ฆฌ์˜ค

์ž, ์ด์ œ ELK ์Šคํƒ์„ ์‹ค์ œ ๋น„์ฆˆ๋‹ˆ์Šค ์ƒํ™ฉ์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด ELK ์Šคํƒ์˜ ๊ฐ•๋ ฅํ•จ์„ ์ฒด๊ฐํ•ด๋ณด์„ธ์š”! ๐Ÿ˜‰

1. ๐Ÿ›’ E-์ปค๋จธ์Šค ์›น์‚ฌ์ดํŠธ ๋ถ„์„

์˜จ๋ผ์ธ ์‡ผํ•‘๋ชฐ์„ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณผ๊ฒŒ์š”. ELK ์Šคํƒ์œผ๋กœ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๐Ÿ“Š ์‹ค์‹œ๊ฐ„ ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‹ˆํ„ฐ๋ง: ์ดˆ๋‹น ํŽ˜์ด์ง€๋ทฐ, ๋™์‹œ ์ ‘์†์ž ์ˆ˜ ๋“ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ›๏ธ ๊ตฌ๋งค ํŒจํ„ด ๋ถ„์„: ์–ด๋–ค ์ œํ’ˆ์ด ์–ธ์ œ ๊ฐ€์žฅ ๋งŽ์ด ํŒ”๋ฆฌ๋Š”์ง€ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ” ๊ฒ€์ƒ‰์–ด ํŠธ๋ Œ๋“œ: ์‚ฌ์šฉ์ž๋“ค์ด ์–ด๋–ค ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿšฉ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํฌ๊ธฐ์œจ ์ถ”์ : ์–ด๋Š ๋‹จ๊ณ„์—์„œ ๊ตฌ๋งค๋ฅผ ํฌ๊ธฐํ•˜๋Š”์ง€ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๋Ÿฐ Kibana ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”:

1. ์‹ค์‹œ๊ฐ„ ๋งค์ถœ ๊ทธ๋ž˜ํ”„
2. ์‹œ๊ฐ„๋Œ€๋ณ„ ๋ฐฉ๋ฌธ์ž ์ˆ˜ ํžˆํŠธ๋งต
3. ์ธ๊ธฐ ์ œํ’ˆ TOP 10 ๋ฆฌ์ŠคํŠธ
4. ๊ฒ€์ƒ‰์–ด ์›Œ๋“œํด๋ผ์šฐ๋“œ
5. ์ง€์—ญ๋ณ„ ์ฃผ๋ฌธ ์ˆ˜ ์ง€๋„

์ด๋Ÿฐ ์ •๋ณด๋“ค์„ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๋น„์ฆˆ๋‹ˆ์Šค ์˜์‚ฌ๊ฒฐ์ •์ด ํ›จ์”ฌ ์‰ฌ์›Œ์ง€๊ฒ ์ฃ ? ๐Ÿ‘€

2. ๐Ÿ–ฅ๏ธ IT ์ธํ”„๋ผ ๋ชจ๋‹ˆํ„ฐ๋ง

๋Œ€๊ทœ๋ชจ ์„œ๋ฒ„ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” IT ํŒ€์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณผ๊ฒŒ์š”. ELK ์Šคํƒ์œผ๋กœ ์–ด๋–ค ๊ฑธ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๐Ÿšจ ์„œ๋ฒ„ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง: CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ๋“ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ”’ ๋ณด์•ˆ ๋กœ๊ทธ ๋ถ„์„: ๋น„์ •์ƒ์ ์ธ ๋กœ๊ทธ์ธ ์‹œ๋„๋‚˜ ๊ณต๊ฒฉ ํŒจํ„ด์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿš€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง: ์‘๋‹ต ์‹œ๊ฐ„, ์—๋Ÿฌ์œจ ๋“ฑ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ“ˆ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ์˜ˆ์ธก: ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฏธ๋ž˜์˜ ๋ฆฌ์†Œ์Šค ํ•„์š”๋Ÿ‰์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ด๋Ÿฐ Kibana ๋Œ€์‹œ๋ณด๋“œ๋Š” ์–ด๋–จ๊นŒ์š”?

1. ์ „์ฒด ์„œ๋ฒ„ ์ƒํƒœ ํžˆํŠธ๋งต
2. ์‹œ๊ฐ„๋Œ€๋ณ„ CPU ์‚ฌ์šฉ๋ฅ  ๊ทธ๋ž˜ํ”„
3. ๋น„์ •์ƒ ๋กœ๊ทธ์ธ ์‹œ๋„ ์•Œ๋ฆผ ํŒจ๋„
4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณ„ ์—๋Ÿฌ ๋ฐœ์ƒ ์ถ”์ด
5. ์ฃผ๊ฐ„ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋ถ„์„

์ด๋Ÿฐ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ๋ฐฉํ•˜๊ณ , ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ? ๐Ÿ˜Ž

3. ๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ ์•ฑ ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ถ„์„

์ธ๊ธฐ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์Šคํƒ€ํŠธ์—…์ด๋ผ๊ณ  ํ•ด๋ณผ๊ฒŒ์š”. ELK ์Šคํƒ์œผ๋กœ ๋ฌด์—‡์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๐Ÿ‘† ์‚ฌ์šฉ์ž ํ”Œ๋กœ์šฐ ๋ถ„์„: ์‚ฌ์šฉ์ž๋“ค์ด ์•ฑ์—์„œ ์–ด๋–ค ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋Š”์ง€ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • โฑ๏ธ ์„ธ์…˜ ๊ธธ์ด ๋ถ„์„: ์‚ฌ์šฉ์ž๋“ค์ด ์•ฑ์„ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿž ํฌ๋ž˜์‹œ ๋ฆฌํฌํŠธ: ์•ฑ ํฌ๋ž˜์‹œ๊ฐ€ ๋ฐœ์ƒํ•œ ๋””๋ฐ”์ด์Šค, OS ๋ฒ„์ „ ๋“ฑ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐ŸŒ ์ง€์—ญ๋ณ„ ์‚ฌ์šฉ ํŒจํ„ด: ์–ด๋Š ์ง€์—ญ์—์„œ ์•ฑ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”์ง€ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ด๋Ÿฐ Kibana ๋Œ€์‹œ๋ณด๋“œ๋Š” ์–ด๋–จ๊นŒ์š”?

1. ์ผ๋ณ„ ํ™œ์„ฑ ์‚ฌ์šฉ์ž ์ˆ˜ ๊ทธ๋ž˜ํ”„
2. ๊ธฐ๋Šฅ๋ณ„ ์‚ฌ์šฉ ๋นˆ๋„ ํŒŒ์ด ์ฐจํŠธ
3. ๋””๋ฐ”์ด์Šค๋ณ„ ํฌ๋ž˜์‹œ ๋ฐœ์ƒ๋ฅ  ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„
4. ์‚ฌ์šฉ์ž ํ”Œ๋กœ์šฐ ์‹œ๊ฐํ™”
5. ์ง€์—ญ๋ณ„ ์‚ฌ์šฉ์ž ๋ถ„ํฌ ์„ธ๊ณ„ ์ง€๋„

์ด๋Ÿฐ ์ •๋ณด๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ์•ฑ์„ ๊ฐœ์„ ํ•˜๋ฉด ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„๊ฐ€ ํ›จ์”ฌ ๋†’์•„์ง€๊ฒ ์ฃ ? ๐Ÿ‘

ํ”„๋กœ ํŒ! ๐Ÿ’ก

ELK ์Šคํƒ์„ ํ™œ์šฉํ•  ๋•Œ๋Š” ํ•ญ์ƒ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์— ์ฃผ์˜ํ•ด์•ผ ํ•ด์š”. ๋ฏผ๊ฐํ•œ ์ •๋ณด๋Š” ๋ฐ˜๋“œ์‹œ ์•”ํ˜ธํ™”ํ•˜๊ณ , ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ˆ˜์ง‘ํ•˜์„ธ์š”!

4. ๐Ÿ“ฐ ๋‰ด์Šค ๋ฏธ๋””์–ด ์ฝ˜ํ…์ธ  ๋ถ„์„

๋Œ€ํ˜• ๋‰ด์Šค ํฌํ„ธ์„ ์šด์˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณผ๊ฒŒ์š”. ELK ์Šคํƒ์œผ๋กœ ์–ด๋–ค ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๐Ÿ”ฅ ์ธ๊ธฐ ๊ธฐ์‚ฌ ์‹ค์‹œ๊ฐ„ ์ถ”์ : ์–ด๋–ค ๊ธฐ์‚ฌ๊ฐ€ ์ง€๊ธˆ ๊ฐ€์žฅ ๋งŽ์ด ์ฝํžˆ๊ณ  ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ’ฌ ๋Œ“๊ธ€ ๊ฐ์„ฑ ๋ถ„์„: ๊ธฐ์‚ฌ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€์˜ ์ „๋ฐ˜์ ์ธ ๊ฐ์ •์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ” ๊ฒ€์ƒ‰์–ด ํŠธ๋ Œ๋“œ: ์‚ฌ์šฉ์ž๋“ค์ด ์–ด๋–ค ๋‰ด์Šค๋ฅผ ์ฐพ๊ณ  ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • โฐ ์‹œ๊ฐ„๋Œ€๋ณ„ ํŠธ๋ž˜ํ”ฝ ํŒจํ„ด: ์–ธ์ œ ์‚ฌ์šฉ์ž๋“ค์ด ๋‰ด์Šค๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์ฝ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์–ด์š”.

์ด๋Ÿฐ Kibana ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค์–ด๋ณผ ์ˆ˜ ์žˆ๊ฒ ์ฃ ?

1. ์‹ค์‹œ๊ฐ„ ์ธ๊ธฐ ๊ธฐ์‚ฌ TOP 10 ๋ฆฌ์ŠคํŠธ
2. ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์กฐํšŒ์ˆ˜ ๋น„๊ต ๊ทธ๋ž˜ํ”„
3. ์‹œ๊ฐ„๋Œ€๋ณ„ ์‚ฌ์ดํŠธ ํŠธ๋ž˜ํ”ฝ ํžˆํŠธ๋งต
4. ๋Œ“๊ธ€ ๊ฐ์„ฑ ๋ถ„์„ ๊ฒŒ์ด์ง€ ์ฐจํŠธ
5. ์ธ๊ธฐ ๊ฒ€์ƒ‰์–ด ์‹ค์‹œ๊ฐ„ ์ˆœ์œ„

์ด๋Ÿฐ ์ •๋ณด๋“ค์„ ํ™œ์šฉํ•˜๋ฉด ๋” ๋งค๋ ฅ์ ์ธ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ? ๋…์ž๋“ค์ด ์ข‹์•„ํ•  ๊ฑฐ์˜ˆ์š”! ๐Ÿ˜ƒ

5. ๐Ÿฅ ์˜๋ฃŒ ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง

๋Œ€ํ˜• ๋ณ‘์›์˜ IT ์‹œ์Šคํ…œ์„ ๊ด€๋ฆฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณผ๊ฒŒ์š”. ELK ์Šคํƒ์œผ๋กœ ์–ด๋–ค ๊ฑธ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๐Ÿ’“ ์˜๋ฃŒ ์žฅ๋น„ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง: ์ค‘์š”ํ•œ ์˜๋ฃŒ ์žฅ๋น„์˜ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ‘จโ€โš•๏ธ ์˜์‚ฌ ์Šค์ผ€์ค„ ์ตœ์ ํ™”: ํ™˜์ž ๋ฐฉ๋ฌธ ํŒจํ„ด์„ ๋ถ„์„ํ•ด ์˜์‚ฌ ์Šค์ผ€์ค„์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ’Š ์•ฝํ’ˆ ์žฌ๊ณ  ๊ด€๋ฆฌ: ์•ฝํ’ˆ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•˜๊ณ  ์žฌ๊ณ ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿš‘ ์‘๊ธ‰์‹ค ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ถ„์„: ์‘๊ธ‰์‹ค ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ถ”์ ํ•˜๊ณ  ๊ฐœ์„ ์ ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์š”.

์ด๋Ÿฐ Kibana ๋Œ€์‹œ๋ณด๋“œ๋Š” ์–ด๋–จ๊นŒ์š”?

1. ์˜๋ฃŒ ์žฅ๋น„ ์ƒํƒœ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง ํŒจ๋„
2. ์‹œ๊ฐ„๋Œ€๋ณ„ ํ™˜์ž ๋ฐฉ๋ฌธ ์ˆ˜ ๊ทธ๋ž˜ํ”„
3. ์•ฝํ’ˆ ์žฌ๊ณ  ํ˜„ํ™ฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰ ์˜ˆ์ธก ์ฐจํŠธ
4. ์‘๊ธ‰์‹ค ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์‹ค์‹œ๊ฐ„ ์ถ”์ ๊ธฐ
5. ๋ถ€์„œ๋ณ„ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ๋น„๊ต

์ด๋Ÿฐ ์ •๋ณด๋“ค์„ ํ™œ์šฉํ•˜๋ฉด ํ™˜์ž ์ผ€์–ด์˜ ์งˆ์„ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ๊ฒ ์ฃ ? ์ƒ๋ช…์„ ์‚ด๋ฆฌ๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋  ๊ฑฐ์˜ˆ์š”! ๐Ÿ’–

์ฐฝ์˜์  ์•„์ด๋””์–ด! ๐Ÿ’ก

ELK ์Šคํƒ์˜ ํ™œ์šฉ์€ ์—ฌ๊ธฐ์„œ ๊ทธ์น˜์ง€ ์•Š์•„์š”. ๋†์—…(์Šค๋งˆํŠธํŒœ ๋ชจ๋‹ˆํ„ฐ๋ง), ๊ต์œก(ํ•™์ƒ ์„ฑ์ทจ๋„ ๋ถ„์„), ์Šคํฌ์ธ (์„ ์ˆ˜ ํผํฌ๋จผ์Šค ์ถ”์ ) ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ถ„์•ผ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

์™€์šฐ! ์ •๋ง ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ELK ์Šคํƒ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„ค์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋น„์ฆˆ๋‹ˆ์Šค๋‚˜ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ์ƒ์ƒ์ด ๊ฐ€๋‚˜์š”? ๐Ÿค”

ELK ์Šคํƒ์˜ ์ง„์ •ํ•œ ํž˜์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฐฝ์˜๋ ฅ์— ์žˆ์–ด์š”. ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๋ฌดํ•œํ•œ ๊ฐ€๋Šฅ์„ฑ์ด ์—ด๋ฆด ์ˆ˜ ์žˆ์ฃ . ์—ฌ๋Ÿฌ๋ถ„๋งŒ์˜ ๋…ํŠนํ•œ ELK ์Šคํƒ ํ™œ์šฉ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์„ธ์š”! ๐Ÿš€

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ELK ์Šคํƒ์„ ์šด์˜ํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ๋“ค๊ณผ ์ตœ์ ํ™” ํŒ์„ ์•Œ์•„๋ณผ๊ฒŒ์š”. ๊ธฐ๋Œ€๋˜์ง€ ์•Š๋‚˜์š”? ์ €๋Š” ๋„ˆ๋ฌด ์‹ ๋‚˜์š”! ๐Ÿ˜†

๐Ÿ› ๏ธ ELK ์Šคํƒ ์šด์˜ ๋ฐ ์ตœ์ ํ™” ํŒ

์ž, ์ด์ œ ELK ์Šคํƒ์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•˜์œผ๋‹ˆ, ์ด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ๊ฒŒ์š”. ์ด ํŒ๋“ค์„ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ELK ์Šคํƒ์˜ ์„ฑ๋Šฅ์„ ํ•œ์ธต ๋” ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ˜‰

1. ๐Ÿ‹๏ธโ€โ™€๏ธ ์„ฑ๋Šฅ ์ตœ์ ํ™”

  • ๐Ÿ’พ ์ธ๋ฑ์Šค ๋ผ์ดํ”„์‚ฌ์ดํด ๊ด€๋ฆฌ: ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ์•„์นด์ด๋ธŒํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜์„ธ์š”.
    PUT _ilm/policy/my_policy
    {
      "policy": {
        "phases": {
          "hot": {
            "actions": {
              "rollover": {
                "max_size": "50GB",
                "max_age": "30d"
              }
            }
          },
          "delete": {
            "min_age": "90d",
            "actions": {
              "delete": {}
            }
          }
        }
      }
    }
  • ๐Ÿ”ข ์ƒค๋“œ ์ตœ์ ํ™”: ์ธ๋ฑ์Šค์˜ ์ƒค๋“œ ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ์กฐ์ •ํ•˜์„ธ์š”. ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿง  ํž™ ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •: Elasticsearch์˜ ํž™ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์ ˆํžˆ ์„ค์ •ํ•˜์„ธ์š”. ๋ณดํ†ต ์„œ๋ฒ„ RAM์˜ ์ ˆ๋ฐ˜ ์ •๋„๋กœ ์„ค์ •ํ•ด์š”.

ํ”„๋กœ ํŒ! ๐Ÿ’ก

Elasticsearch์˜ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด _cat API๋ฅผ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, GET /_cat/indices?v๋กœ ๋ชจ๋“  ์ธ๋ฑ์Šค์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”!

2. ๐Ÿ”’ ๋ณด์•ˆ ๊ฐ•ํ™”

  • ๐Ÿ” ์•”ํ˜ธํ™” ์„ค์ •: Elasticsearch์™€ Kibana ์‚ฌ์ด์˜ ํ†ต์‹ ์„ SSL/TLS๋กœ ์•”ํ˜ธํ™”ํ•˜์„ธ์š”.
  • ๐Ÿ‘ค ์‚ฌ์šฉ์ž ์ธ์ฆ: X-Pack ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ…์„ ์„ค์ •ํ•˜์„ธ์š”.
  • ๐Ÿšซ ๋„คํŠธ์›Œํฌ ๋ถ„๋ฆฌ: Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ๋ถ„๋ฆฌํ•˜์„ธ์š”.
# elasticsearch.yml ํŒŒ์ผ์— ์ถ”๊ฐ€
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

3. ๐Ÿ“Š ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

  • ๐Ÿ“ ๋งคํ•‘ ์ตœ์ ํ™”: ํ•„๋“œ ํƒ€์ž…์„ ์ ์ ˆํžˆ ์„ค์ •ํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ํ•„๋“œ๋Š” ์ œ์™ธํ•˜์„ธ์š”.
  • ๐Ÿ—œ๏ธ ์••์ถ• ํ™œ์šฉ: ํ…์ŠคํŠธ ํ•„๋“œ์— ๋Œ€ํ•ด ์ ์ ˆํ•œ ์••์ถ• ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • ๐Ÿ” ๊ฒ€์ƒ‰ ์ตœ์ ํ™”: ์ž์ฃผ ๊ฒ€์ƒ‰๋˜๋Š” ํ•„๋“œ์— ๋Œ€ํ•ด ์ธ๋ฑ์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜์„ธ์š”.
PUT my_index
{
  "mappings": {
    "properties": {
      "full_text": { 
        "type":     "text",
        "analyzer": "english"
      },
      "keyword_field": {
        "type":     "keyword"
      }
    }
  }
}

4. ๐Ÿš€ Logstash ํŠœ๋‹

  • ๐Ÿงต ์›Œ์ปค ์ˆ˜ ์กฐ์ •: Logstash์˜ ์›Œ์ปค ์ˆ˜๋ฅผ ์„œ๋ฒ„์˜ CPU ์ฝ”์–ด ์ˆ˜์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜์„ธ์š”.
  • ๐Ÿงบ ๋ฐฐ์น˜ ์‚ฌ์ด์ฆˆ ์ตœ์ ํ™”: ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ๋ฐฐ์น˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์กฐ์ •ํ•˜์„ธ์š”.
  • ๐Ÿ”Œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ ํƒ: ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€๋ฒผ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ ํƒํ•˜์„ธ์š”.
# logstash.yml ํŒŒ์ผ์— ์ถ”๊ฐ€
pipeline.workers: 4
pipeline.batch.size: 125

5. ๐ŸŽจ Kibana ๋Œ€์‹œ๋ณด๋“œ ์ตœ์ ํ™”

  • โฑ๏ธ ์‹œ๊ฐ„ ๋ฒ”์œ„ ์ œํ•œ: ๋Œ€์‹œ๋ณด๋“œ์˜ ๊ธฐ๋ณธ ์‹œ๊ฐ„ ๋ฒ”์œ„๋ฅผ ์ ์ ˆํžˆ ์„ค์ •ํ•˜์„ธ์š”.
  • ๐Ÿ”ข ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ ์ œํ•œ: ๊ทธ๋ž˜ํ”„์— ํ‘œ์‹œ๋˜๋Š” ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ ์ˆ˜๋ฅผ ์ œํ•œํ•˜์„ธ์š”.
  • ๐Ÿ”„ ์ž๋™ ์ƒˆ๋กœ๊ณ ์นจ ์กฐ์ ˆ: ๋Œ€์‹œ๋ณด๋“œ์˜ ์ž๋™ ์ƒˆ๋กœ๊ณ ์นจ ์ฃผ๊ธฐ๋ฅผ ์ ์ ˆํžˆ ์„ค์ •ํ•˜์„ธ์š”.

์‹œ๊ฐํ™” ํŒ! ๐Ÿ’ก

Kibana์˜ Vega ์‹œ๊ฐํ™”๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ ์ฐจํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋„ ์•„๋ฆ„๋‹ต๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์ฃ !

6. ๐Ÿ” ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์•Œ๋ฆผ ์„ค์ •

  • ๐Ÿ“Š ํด๋Ÿฌ์Šคํ„ฐ ํ—ฌ์Šค ์ฒดํฌ: Elasticsearch์˜ ํด๋Ÿฌ์Šคํ„ฐ ํ—ฌ์Šค๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜์„ธ์š”.
  • ๐Ÿšจ ์•Œ๋ฆผ ์„ค์ •: ์ค‘์š”ํ•œ ์ง€ํ‘œ์— ๋Œ€ํ•ด ์•Œ๋ฆผ์„ ์„ค์ •ํ•˜์„ธ์š”. Elastalert๋‚˜ Watcher๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ๐Ÿ“ˆ ํŠธ๋ Œ๋“œ ๋ถ„์„: ์žฅ๊ธฐ์ ์ธ ์„ฑ๋Šฅ ํŠธ๋ Œ๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์šฉ๋Ÿ‰ ๊ณ„ํš์„ ์„ธ์šฐ์„ธ์š”.
# Elastalert ๊ทœ์น™ ์˜ˆ์‹œ
name: Disk space alert
type: metric_aggregation
index: metricbeat-*
metric_agg_key: system.filesystem.used.pct
metric_agg_type: max
query_key: beat.hostname
buffer_time:
  minutes: 5
timeframe:
  minutes: 5
threshold: 90

7. ๐Ÿ”„ ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ ์ „๋žต

  • ๐Ÿ’พ ์Šค๋ƒ…์ƒท ์„ค์ •: ์ •๊ธฐ์ ์œผ ๋กœ Elasticsearch ๋ฐ์ดํ„ฐ์˜ ์Šค๋ƒ…์ƒท์„ ์ƒ์„ฑํ•˜์„ธ์š”.
  • ๐Ÿ” ์•ˆ์ „ํ•œ ์ €์žฅ: ์Šค๋ƒ…์ƒท์„ ์•ˆ์ „ํ•œ ์™ธ๋ถ€ ์ €์žฅ์†Œ์— ๋ณด๊ด€ํ•˜์„ธ์š”.
  • ๐Ÿ”„ ๋ณต๊ตฌ ํ…Œ์ŠคํŠธ: ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณต๊ตฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”.
# ์Šค๋ƒ…์ƒท ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ
PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/mount/backups/my_backup"
  }
}

# ์Šค๋ƒ…์ƒท ์ƒ์„ฑ
PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true

์žฅ์•  ๋Œ€๋น„ ํŒ! ๐Ÿ’ก

ํ•ญ์ƒ ์ตœ์•…์˜ ์ƒํ™ฉ์„ ๋Œ€๋น„ํ•˜์„ธ์š”. ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋‹ค์šด๋˜๋Š” ์ƒํ™ฉ์—์„œ๋„ ๋น ๋ฅด๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„ํš์„ ์„ธ์›Œ๋‘์„ธ์š”!

8. ๐ŸŒฑ ํ™•์žฅ์„ฑ ๊ณ ๋ ค

  • ๐Ÿ”ข ๋…ธ๋“œ ์—ญํ•  ๋ถ„๋ฆฌ: ๋ฐ์ดํ„ฐ ๋…ธ๋“œ, ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ, ํด๋ผ์ด์–ธํŠธ ๋…ธ๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์šด์˜ํ•˜์„ธ์š”.
  • ๐Ÿ”€ ๋ผ์šฐํŒ… ์ตœ์ ํ™”: ์ƒค๋“œ ํ• ๋‹น์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์„ธ์š”.
  • ๐Ÿš€ ์ˆ˜ํ‰์  ํ™•์žฅ: ํ•„์š”์— ๋”ฐ๋ผ ๋…ธ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•˜์„ธ์š”.
# elasticsearch.yml ํŒŒ์ผ ์„ค์ • ์˜ˆ์‹œ
node.master: false
node.data: true
node.ingest: false

9. ๐Ÿ“š ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ์—…๊ทธ๋ ˆ์ด๋“œ

  • ๐Ÿ”„ ์ •๊ธฐ์  ์—…๋ฐ์ดํŠธ: ๋ณด์•ˆ ํŒจ์น˜์™€ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•ด ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.
  • ๐Ÿงช ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์ถ•: ์‹ค์ œ ํ™˜๊ฒฝ๊ณผ ์œ ์‚ฌํ•œ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ๋จผ์ € ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”.
  • ๐Ÿ“ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฌธ์„œํ™”: ๋ชจ๋“  ์„ค์ • ๋ณ€๊ฒฝ๊ณผ ์—…๊ทธ๋ ˆ์ด๋“œ ๋‚ด์šฉ์„ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”.

์ฃผ์˜์‚ฌํ•ญ! โš ๏ธ

๋ฉ”์ด์ € ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ ์‹œ์—๋Š” ํŠนํžˆ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ด์š”. ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฐ˜๋“œ์‹œ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ๋ฅผ ๊ผผ๊ผผํžˆ ํ™•์ธํ•˜์„ธ์š”!

10. ๐ŸŽ“ ์ง€์†์ ์ธ ํ•™์Šต๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ

  • ๐Ÿ“š ๊ณต์‹ ๋ฌธ์„œ ํ™œ์šฉ: Elastic์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ž์ฃผ ์ฐธ๊ณ ํ•˜์„ธ์š”. ํ•ญ์ƒ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๊ฐ€ ์—…๋ฐ์ดํŠธ๋ผ์š”.
  • ๐Ÿค ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ: Elastic ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค๊ณผ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜์„ธ์š”.
  • ๐Ÿ”ฌ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ํƒ๊ตฌ: Machine Learning, APM ๋“ฑ Elastic Stack์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ์ ๊ทน์ ์œผ๋กœ ํƒ๊ตฌํ•˜์„ธ์š”.

์™€์šฐ! ์ •๋ง ๋งŽ์€ ํŒ๋“ค์„ ์•Œ์•„๋ดค๋„ค์š”. ์ด ๋ชจ๋“  ๊ฑธ ํ•œ ๋ฒˆ์— ์ ์šฉํ•˜๊ธฐ๋Š” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์–ด์š”. ํ•˜์ง€๋งŒ ์กฐ๊ธˆ์”ฉ ์ ์šฉํ•ด ๋‚˜๊ฐ€๋‹ค ๋ณด๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์˜ ELK ์Šคํƒ์€ ์ ์  ๋” ๊ฐ•๋ ฅํ•ด์งˆ ๊ฑฐ์˜ˆ์š”! ๐Ÿ’ช

๊ธฐ์–ตํ•˜์„ธ์š”, ELK ์Šคํƒ ์šด์˜์€ ๋Š์ž„์—†๋Š” ํ•™์Šต๊ณผ ์ตœ์ ํ™”์˜ ๊ณผ์ •์ด์—์š”. ์ƒˆ๋กœ์šด ๋„์ „์„ ๋‘๋ ค์›Œํ•˜์ง€ ๋งˆ์„ธ์š”. ๋งค์ผ ์กฐ๊ธˆ์”ฉ ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ€๋‹ค ๋ณด๋ฉด ์–ด๋Š์ƒˆ ์—ฌ๋Ÿฌ๋ถ„์€ ELK ์Šคํƒ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜์–ด ์žˆ์„ ๊ฑฐ์˜ˆ์š”! ๐ŸŒŸ

์ž, ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„์€ ELK ์Šคํƒ์˜ ์ง„์ •ํ•œ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋˜์—ˆ์–ด์š”. ์ด ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ์„์ง€ ์ƒ์ƒ์ด ๊ฐ€๋‚˜์š”? ๋กœ๊ทธ ๋ถ„์„, ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค, ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ง... ๊ฐ€๋Šฅ์„ฑ์€ ๋ฌดํ•œํ•ด์š”!

ELK ์Šคํƒ์œผ๋กœ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฐ์ดํ„ฐ์— ์ˆจ๊ฒจ์ง„ ๋ณด๋ฌผ์„ ๋ฐœ๊ฒฌํ•˜์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ธ์‚ฌ์ดํŠธ๋กœ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ํ•œ ๋‹จ๊ณ„ ๋” ๋ฐœ์ „์‹œํ‚ค์„ธ์š”. ์ •๋ง ํฅ๋ฏธ์ง„์ง„ํ•˜์ง€ ์•Š๋‚˜์š”? ์ €๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ์„ฑ๊ณต ์Šคํ† ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ๊ธฐ๋Œ€๋ผ์š”! ๐Ÿš€๐Ÿ˜†