More Related Content
Similar to Logstash, ElasticSearch, Kibana (20)
More from HyeonSeok Choi (16)
Logstash, ElasticSearch, Kibana
- 6. input: 로그 소스로 부터 입력 이벤트를 발생 시킴
filter: 이벤트의 중간 프로세싱을 수행(필터, 변환…)
output: 처리된 결과를 목적지로 전송
- 7. Logstash 실행
./logstash -f configfile
설정 파일: input, filter, output을 정의
input { // Input plugin
file {
path => “../apiTrans.log”
}
}
filter { // filter plugin
grok {
match => {“message” => “%{COMBINEDAPACHELOG}”}
}
geoip {
source => “[clientip]"
}
}
output { // output plugin
elasticsearch {
hosts => ["http://localhost:9200" ]
}
}
- 9. 아파치 루씬 기반, 실시간 분석,
분산 시스템, 높은 가용성, 전문 검색,
JSON 문서 기반, Restful API 지원
Features Elasticsearch
- 10. ELK 기본
문서 저장 문서 조회
curl -XPUT
'localhost:9200/customer/externa
l/1?pretty' -d '
{
"name": "John Doe"
}'
curl -XGET
'localhost:9200/customer/externa
l/1?pretty'
{
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"name": "John Doe"
}
}
- 11. 용어 정리
RDB Database Table Row Column Schema
Elastic
Search
Index Type
Documen
t
Field Mapping
- 12. RDB와 유사하게 문서의 분석 방법을 지정
생략할 경우 내부적으로 자동 생성
데이터 입력시: 설정한 분석기로 역 인덱스 생성
데이터 검색시: 검색 키워드를 분석하여 검색
Mapping
- 16. Metric Bucket
요
청
{
"query": {} ,
"aggs" : {
"grades_stats" : {
"stats" : { "field" : "grade" }
}
}
}
{
"query": {} ,
"aggs" : {
"genders" : {
"terms" : { "field" : "gender" }
}
}
}
결과
{
...
"aggregations": {
"grades_stats": {
"count": 6,
"min": 60,
"max": 98,
"avg": 78.5,
"sum": 471
}
}
}
{
...
"aggregations" : {
"genders" : {
...
"buckets" : [{
"key" : “male",
"doc_count" : 10
},{
"key" : “female",
"doc_count" : 10
},
]
}
}
}
- 17. Production 환경에서 고려해야할 부분
Broker의 필요성
•Elastic Search가 다운 되거나/부하가 있을 경우
•일회성 로그가 소실될 우려가 있음.
•ex) syslog …