티스토리 뷰

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": "foobar", "amount": 32.95}',
   '{"from_ip": "10.2.3.30", "app": "barfoo", "amount": 82.95}',
   '{"from_ip": "10.2.3.40", "app": "bazfoo", "amount": 22.95}'
  ]
  count => 3
 }
}

filter{
}

output{
 stdout{
  codec => rubydebug
 }
}

: lines에 있는 string 을 3번 순차적으로 반복하여 input 메세지로 만들어낸다.

{
    "@timestamp" => 2020-03-19T10:57:36.834Z,
       "message" => "{\"from_ip\": \"10.2.3.20\", \"app\": \"foobar\", \"amount\": 32.95}",
      "sequence" => 0,
      "@version" => "1",
          "host" => "xxx.novalocal"
}
{
    "@timestamp" => 2020-03-19T10:57:36.856Z,
       "message" => "{\"from_ip\": \"10.2.3.30\", \"app\": \"barfoo\", \"amount\": 82.95}",
      "sequence" => 0,
      "@version" => "1",
          "host" => "xxx.novalocal"
}
{
    "@timestamp" => 2020-03-19T10:57:36.857Z,
       "message" => "{\"from_ip\": \"10.2.3.40\", \"app\": \"bazfoo\", \"amount\": 22.95}",
      "sequence" => 0,
      "@version" => "1",
          "host" => "xxx.novalocal"
}

참조

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-generator.html

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함