๊ฐ๋จํ ์์ ๊ธ
log ๋ถ์์ ํ๋ฒ๋ ํด๋ณธ ์ ์์ด์ ELK Stack์ ์ด์ ์๊ฒ ๋์๋คโฆ. ๐ฐ
RDBS๋ก๋ง ๋ถ์์ ํด์์ ๋๋ชจ๋ ๋นํฉ์ค๋ฌ์ ๋ฐโฆ. ๐ฃ
๊ทธ๋๋ ์ง๊ธ์ด๋ผ๋ ์๊ฒ ๋์ด์ ๋คํ์ด๊ตฌ, ์ผ๋ฅธ ์ตํ์ ๋ก๊ทธ๋ ๋ถ์ํด๋ณด๊ณ ์ถ๋ค ! ๐ โจ
What is ElasticSearch?
- Apache Lucene ๊ธฐ๋ฐ์ ๊ฒ์ ์์ง, ์๋ฐ๋ก ๊ฐ๋ฐ ๋์ด์ง.
- text, ์ซ์, ์์น ๊ธฐ๋ฐ ์ ๋ณด, ์ ํ ๋ฐ ๋น์ ํ ๋ฐ์ดํฐ ๋ฑ
- ELK(Elasticsearch / Logstatsh / Kibana) Stack ์ผ๋ก ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
Whatโs different from RDBS?
1. Structure
Elastic Search |
RDBS |
Index |
Database |
Type |
Table |
Document |
Row |
Field |
Column |
Mapping |
Schema |
2. Command
Elastic Search |
RDBS |
CRUD |
GET |
Select |
Read |
PUT |
Update |
Update |
POST |
Insert |
Create |
DELETE |
Delete |
Delete |
3. Example
Elastic Search |
RDBS |
curl -XGET localhost:9200/classes/class/1 |
SELECT * FROM class WHERE id = 1; |
curl -POST localhost:9200/classes/class/1 -H 'Content-Type: application/json' -d '{xxx}' |
INSERT INTO class values (xxx); |
curl -XPUT localhost:9200/classes/class/1 -H 'Content-Type: application/json' -d '{xxx}' |
UPDATE class SET xxx WHERE id = 1; |
curl -XDELETE localhost:9200/classes/class/1 |
DELETE FROM class WHERE id = 1; |
Setting
1. Docker Setting
- ๋์ปค ์ธํ
ํ๊ธฐ
- ์ธํ
์ด ๋์ด์๋ ์ํ๋ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด Ubuntu๋ฅผ ์คํํ์.
docker exec -it ubuntu_18.04 /bin/bash
2. Run ElasticSearch
- ElasticSearch๋ REST API ํ์๊ณผ ๊ฐ์ด ์ฌ์ฉ
- Linux curl ๋ช
๋ น์ด์ ๊ฐ์ด ์ฌ์ฉํ๋ฏ๋ก prefix โ-Xโ๊ฐ ๋ถ๋๋ค.
sudo service elasticsearch start
curl -XGET localhost:9200
3. Stop ElasticSearch
sudo service elasticsearch stop