2017-01-20 3 views
1

현재 저는 fluentd의 전달자 및 집계기 인스턴스 시스템을 설정하려고합니다. /opt/td-agent/forward/log/fluentd.log 모든 좋은 너무 : - 내 전달자 설정입니다>fluentd aggregator가 전달자에서 로그를 가져 오지 않고 config가 올바 릅니까?

<source> 
    @type tail 
    format json 
    path /app/node-apps/something-fe/logs/itt-logs.log 
    tag td.pm2.access 
</source> 

## File output 
## match tag=local.** and write to file 
<match td.pm2.*> 
    @type file 
    path /opt/td-agent/forward/log/fluentd.log 
</match> 

## Forwarding 
## match tag=system.** and forward to another td-agent server 
<match td.pm2.*> 
    @type forward 
    host <hostname>.bc 

는 이렇게 나는 t 전달자가 여기에 전달 위치에 로그 파일을 출력하고 볼 수 있습니다 멀리!!! 하지만 위의 match-forward 구문을 통해 aggregator에서 가져 오기를 시도 할 때 aggregator 컴퓨터에서 아무 것도 얻지 못합니다. 내가 사용하고 있음을 여기 Fluentd에 대한 TEH 수집기 설정을 찾아주세요 - 내가 거기를 통해 로그를 복사 할 저장소를 사용하고 또한 elasticsearch로 전달하는 것을 시도하고있다>

<source> 
    @type forward 
     port 24224 
</source> 

<match td.pm2.*> 
    type copy 
    <store> 
    @type file 
    path /opt/td-agent/log/forward.log 
    </store> 
    <store> 
    type elasticsearch 
    host <aggreatorhost>.bc 
    port 9200 
    logstash_format true 
    flush_interval 10s 
    </store> 
</match> 

. elasticsearch를 모두 잊어 버리면 전달자에서 수집기로 로그가 채워지지 않는 것으로 보입니다. 내가 잘못하고 있니? 애그리 게이터 로그는 포트 24224의 모든 주소를 청취하고 있다고 말합니다.

답변

0

전달자에는 두 개의 동일한 일치 패턴이 있으며 첫 번째 일치 만 실행됩니다 (구성은 위에서 아래로 실행됩니다). 로그가 파일 시스템 (/opt/td-agent/forward/log/fluentd.log)에 쓰여지고 있지만 어 그리 게이터로 전달되지 않았습니다. http://docs.fluentd.org/articles/out_copy

+0

그것을 :

당신은 실제로 당신이 당신의 전달자로 복사 및 애그리 게이터 (aggregator)에

<match td.pm2.*> type copy <store> @type file path /opt/td-agent/log/forward.log </store> <store> @type forward host <hostname>.bc </store> </match> 

추가 읽기를 @forward 설정과 elasticsearch를 교체해야 애그리 게이터 (aggregator)의 올바른 사본 구문을 사용했습니다 도와 줘서 고마워, 이제 로그가 전달 된 것을 볼 수있다. 하지만 나는 json 형식으로 입력 로그 파서를 넣었다. 그러나 fluentd는 json 메시지를 저장/전송할 때 json 메시지를 잘라내는 것으로 보인다. 그것에 대해 어떤 생각? – Mainak90

+0

유동적 인 구성에서도 필터 조치가 없다면 메시지의 일부를 잘라내거나 삭제해서는 안됩니다. –