logstash에서 elasticsearch로 index 시에 아래와 같은 에러가 발생 되었다. [2020-07-28T15:01:08,012][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"spring-logback-2020.07.28", :_type=>"_doc", :routing=>nil}, #], :response=>{"index"=>{"_index"=>"spring-logback-2020.07.28", "_type"=>"_doc", "_id"=>nil, "status"=>400, "error"=>{"typ..
APM Server 를 구동하고, ElasticSearch를 연동해두면, 아래와 같은 형식의 인덱스들이 저장되어 있는 것을 보게 됩니다. apm-%{[version]}-transaction-%{+yyyy.MM.dd} apm-%{[version]}-span-%{+yyyy.MM.dd} apm-%{[version]}-error-%{+yyyy.MM.dd} apm-%{[version]}-metric-%{+yyyy.MM.dd} apm-%{[version]}-sourcemap APM 에서 수집되는 데이터를 타입에 따라 분류해서 저장을 하고 있는 것인데 이를 위해서는 먼저 APM Data Model 에 대해서 먼저 알아야 됩니다. APM Data Model APM Agent에서는 span, transaction, er..
kibana 로그는 디폴트로 stdout에 출력을 하게 된다. 데몬으로 동작되고 있는 ( systemctl ) kibana 서비스의 로그를 보기 위해서는, journalctl -u kibana.service 를 이용하여 볼 수 있다. $ journalctl -u kibana.service --since=today > ~/kibana.log 파일로 출력하도록 변경하기 위해서는 kibana.yml에 logging.dest 를 변경해주면 된다. $ sudo cat /etc/kibana/kibana.yml | grep logging.dest #logging.dest: stdout logging.dest: /var/log/kibana.log
(status=403): {"type":"cluster\_block\_exception","reason":"index \[apm-7.3.0-span-000043\] blocked by: \[FORBIDDEN/8/index write (api)\];"} 위와 같이 index write가 실패하는 문제가 생기면, 아래 명령어로 모든 인덱스의 index.blocks.write를 false로 해주면 된다. curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.write": "false"}' index.blocks.write는 index에 쓰기 기능을 비활성화 할지 여부를 뜻한다. f..
apm-server -e 위 명령어로 foreground 로 실행을 하면, 콘솔에서 바로 로그를 확인할 수 있다. 하지만 아래와 같이 에러가 발생한다. Exiting: error loading config file: config file ("/etc/apm-server/apm-server.yml") must be owned by the user identifier (uid=1801) or root 이는 apm-server.yml 의 오너쉽이 uid=1801이나 root로 되어있지 않아 발생하는 문제이다. 주로 service 명령어로 실행을 하다보니, owner가 apm-server로 되어있다. sudo chown root /etc/apm-server/apm-server.yml 위 명령어를 사용해서 roo..
ERROR elasticsearch/client.go:343 Failed to perform any bulk index operations: 400 Bad Request: {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"no write index is defined for alias [apm-7.3.0-metric]. The write index may be explicitly disabled using is_write_index=false or the alias points to multiple indices without one being designated as a write index"}],"type":"illegal_..
[apm-server-healthcheck] WARN co.elastic.apm.agent.report.ApmServerHealthChecker - Elastic APM server http://xxxx:8200/ is not available (Connection refused (Connection refused))위와 같이 에러가 발생 할 경우, 먼저 APM server 가 정상적으로 수행중인지 먼저 체크를 해봐야 한다. service apm-server status위 명령어를 수행하여, server 가 정상적으로 수행중인지 확인하고, 그렇지 않다면 서버를 다시 실행해준다. 그래도 문제가 발생한다면, 서버 설정을 변경 후 재시작 해준다. apm-server: host: "0.0.0.0:8200"/et..
Kibana 에서 필터를 이용하여 필요한 데이터만 볼 수 있는데, 필터는 KQL 을 직접 작성 하거나 UI 상에서 필터를 추가하여 사용할 수 있다. KQL KQL은 Kibana Query Language 의 약어이고, 아래와 같이 field 명으로 쿼리를 작성할 수 있다. 문법은 따로 찾아볼 것 없이, 작성을 하게 되면 자동완성 창이 뜨면서 field를 보여주고, 필드를 입력하면 type에 따라 사용 가능한 연산자를 보여주며 친절하게 설명도 보여준다. area 는 number 타입으로, 각종 비교 연산자 및 필드가 존재하는지 연산자를 사용할 수 있음을 보여준다. UI Filter UI 상에서 사용하는 필터는 아래와 같이 Add filter 를 누르면, 선택 가능한 필드 및 연산자를 선택할 수 있게 해준다..
ElasticSearch 에 새로운 필드가 추가가 되었고, Discover에서도 해당 필드가 정상적으로 보이고 있는데 Visualize 나 Filter 메뉴의 Field에서는 해당 필드가 나오지 않는 경우가 있다. 그럴 때는, Kibana에서 해당 index 의 field list 가 업데이트 되지 않아 발생한 문제이므로, field list 를 업데이트 해주면 된다. Management > Kibana > Index Patterns 에 가서, Refresh Field list 버튼을 눌러 주면 field list 를 업데이트 해주고, 아래에 새롭게 추가된 Field 목록이 나온다.
특정 filed의 key의 value에 있는 json 값을 파싱하여, 특정 위치에 위치시키는 역활을 한다. 어디에 위치 할지 정하지 않으면, 디폴트 값으로 root에 위치를 시킨다. input { stdin { } } filter { json { source => "message" } } output { stdout { codec => rubydebug } }위의 json filter는 message 라는 키에 있는 값을 json 파싱하여, root에 위치 시킨다. 1 [WARN ] 2020-03-19 20:28:28.002 [[main]>worker7] json - Parsed JSON object/hash requires a target configuration option {:source=>"mes..
- Total
- Today
- Yesterday
- intellij
- Filter
- maven
- JPA
- error
- Java
- JSON
- Index
- Container
- logstash
- elasticsearch
- Log
- tomcat
- spring
- plugin
- gradle
- mac
- AWS
- install
- spring boot
- Git
- scala
- Kibana
- Size
- Linux
- docker
- Spark
- Postman
- SpringBoot
- apm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |