SRE/ELK

· SRE/ELK
string 필드에서 원하는 값만 가져와서 다른 필드로 매핑하고 싶은 일이 생겼다. 그래서 elasticsearch의 runtime과 painless 스크립트를 이용해 string에서 원하는 값만 추출해서 다른 필드로 뺴는 방법을 이용했다. 로그스태시에서는 grok이라는 필터 플러그인을 지원하는데 painless 스크립트에서 또한 grok을 사용할 수 있다. kibana의 검색창에 dev라 검색하면 아래와 같이 dev tools가 뜨니 클릭해서 dev tools를 이용해 진행하자. dev tools에서 ip, uri, username을 아래와 같이 추출하였다. PUT log/_mapping { "runtime": { "ip": { "type": "keyword", "script": { "source": ..
· SRE/ELK
Kafka Sink Connector + Elasticsearch + Kibana를 Docker-compose를 이용해 Xpack이 적용된 형태로 구축했다. 아래 스크립트는 카프카 싱크 커넥터를 설치하는 스크립트이다. #!/bin/bash FILE="./connect-plugins/confluentinc-kafka-connect-elasticsearch-14.0.3" curl -X DELETE http://localhost:8083/connectors/elasticsearch-sink if [ ! -e $FILE ]; then curl -o ./connect-plugins/confluentinc-kafka-connect-elasticsearch-14.0.3.zip https://d1i4a15mxbxib1..
· SRE/ELK
elasticsearch는 ALTER와 같은 필드(컬럼)을 삭제하는 기능을 제공하지 않는다. 그렇기 때문에 사용하지 않는 필드는 비활성화 시키고 사용하는데 이것들이 남아서 매핑이 더러워 보이기 때문에 보기에 좋지 않다. 또한 필드에 계속 데이터가 들어가면 낭비되는 데이터가 쌓일 수 있다. POST /_reindex { "source": { "index": "log" }, "dest": { "index": "tmp" } } POST /tmp/_update_by_query { "script": { "source": "ctx._source.remove(\"field_name1\")" } } POST /tmp/_update_by_query { "script": { "source": "ctx._source.rem..
Say simple
'SRE/ELK' 카테고리의 글 목록