아래와 같이 config.reload.automatic 옵션을 넣어 logstash 를 실행하면, conf 파일을 변경하여 logstash를 재시작 할 필요 없이 수정된 conf파일을 reload 하여 적용해주는 좋은 옵션이다. 하지만 conf 파일을 수정하고 난 뒤에 간간히 아래와 같은 메시지를 만나는 경우가 있다. [ERROR] 2020-03-19 20:20:25.482 [Converge PipelineAction::Reload] agent - Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Cannot reload pipeline, because the existi..
random 로그 이벤트를 생성하기 위해 사용한다. 주로 plugin들의 성능테스트를 위해 사용한다. 하지만 나는 그냥 filter 테스트를 사용을 하고 있다. logstash 에 stdin 으로 입력을 받으면 line 별로 입력을 받고 있어, 가지고 있는 json 을 복붙 해서 사용하기가 불편해서 그냥 conf 파일에 한줄짜리 json 들을 넣어놓고 반복적으로 사용을 한다. generator 에는 아래 2가지 옵션이 있다. count 기본 값은 0이고, number 타입이다. 메세지를 몇 번 만들지 설정 할 수 있는 값이다. lines 기본 값은 없고, array 타입이다. input { generator { lines => [ '{"from_ip": "10.2.3.20", "app": "foo..
logstash 에 데이터가 들어오면, input 데이터 외에 기본 logstash 데이터가 추가 되게 된다. @version, message, @timestamp, host 네 가지다. 아래의 간단한 conf 파일을 정의하고, logstash 를 실행 해보자. input { stdin { } } filter { } output { stdout { codec => rubydebug } }logstash가 실행되면, 터미널에 더 이상 아무것도 찍히지 않고, stdin 으로 입력을 기다리게 된다. 터미널에 test 라고 키보드로 입력을 하고 엔터를 눌러보면 아래와 같이 출력이 된다. test { "@version" => "1", "message" => "test", "@timestamp" => 2020-03..
Grok Filter 온라인 디버거에서 메세지와 grok filter 를 입력해서 결과를 바로 볼 수 있다. https://grokdebug.herokuapp.com/ a : 20 people, b : xoxo 메세지 a : %{NUMBER:num} people, b : %{GREEDYDATA:msg} grok Filter { "num": [ [ "20" ] ], "BASE10NUM": [ [ "20" ] ], "msg": [ [ "xoxo" ] ] } grok 결과 참조 https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html
APM 동작을 안하거나, APM 에서 service 를 못찾거나, APM 에서 Configuration 생성 시에 에러가 나거나 하는 경우가 있으면, apm 관련 에러 index 에서 ES 의 index가 block이 됐다거나 read-only, allow delete (api) 의 메시지를 보게 되면 아래와 같이... index \[.kibana\_1\] blocked by: \[forbidden/12/index read-only / allow delete (api)\]; 일일히 찾아서 설정을 변경해줘도 좋지만, 그냥 모든 인덱스 설정을 변경해줘도 된다. curl -XPUT localhost:9200/_all/_settings -H 'Content-Type: application/json' -d '{"..
Load Kibana 수행 시, 아래와 같이 에러가 나는 경우가 있다. unable to add 1 of 1 kibana objects, error: index [.kibana_1] blocked by: [forbidden/12/index read-only / allow delete (api)]; .kibana_1 인덱스가 block 이 되어 에러가 난 경우다. 아래 명령어를 통해 ES의 .kibana_1 인덱스의 설정을 변경해주자. curl -XPUT localhost:9200/.kibana_1/_settings -H 'Content-Type: application/json' -d '{"index":{"blocks":{"read_only_allow_delete":false}}}' 그러면, Load ki..
아래와 같이 호출하면, 설치된 버전의 라이센스와 각 기능의 활성화 여부 결과가 나온다. $ curl -XGET localhost:9200/_xpack?pretty { "build" : { "hash" : "de777fa", "date" : "2019-07-24T18:32:00.029751Z" }, "license" : { "uid" : "b34e42bd-b932-4bf3-9710-38002c815309", "type" : "basic", "mode" : "basic", "status" : "active" }, "features" : { "ccr" : { "available" : false, "enabled" : true }, "data_frame" : { "available" : true, "enable..
$ curl -XGET 127.0.0.1:9200 $ curl -XGET util.server.domain:9200 Failed to connect to localhost port 9200: Connection refusedlocal에서 curl 로 elasticsearch로 ip주소로 호출시 위와 같은 에러가 발생할 때가 있다. 외부에서 호출시에도 마찬가지이다. 아래와 같이 yml 파일 설정을 하면 외부나 ip주소로 접근이 가능해진다. network.host: 0.0.0.0 cluster.initial_master_nodes: node-1출처 https://stackoverflow.com/questions/31677563/elasticsearch-failed-to-connect-to-localhost-..
[ERROR] 2019-09-30 17:00:43.423 [Ruby-0-Thread-5: :1] elasticsearch - Failed to install template. {:message=>"undefined method `update' for nil:NilClass", :class=>"NoMethodError", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-10.0.1-java/lib/logstash/outputs/elasticsearch/template_manager.rb:39:in `add_ilm_settings_to_template'", "/usr/share/logst..
- Total
- Today
- Yesterday
- Linux
- Git
- Container
- Filter
- maven
- intellij
- scala
- elasticsearch
- JSON
- mac
- plugin
- Log
- install
- Index
- apm
- error
- logstash
- Postman
- JPA
- Kibana
- Size
- spring boot
- Spark
- spring
- SpringBoot
- tomcat
- AWS
- docker
- gradle
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |