2016-05-16 2 views
0

У меня есть несколько веб-серверов, на которых установлена ​​логсташ, и у меня есть сервер журналов, который также установил logstash.Как настроить логсташ для пересылки журналов на другой логсташ?

Я хочу пересылать журналы на веб-серверах /var/log/nginx/*log для регистрации сервера с использованием logstash. Является ли это возможным?

веб-сервер:

input { 
    file { 
    path => "/var/log/nginx/*log" 
    } 
} 
output { 
    tcp { 
    host => "log.server.ip" 
    port => 12345 
    } 
} 

журнала сервера:

input { 
    tcp { 
    port => 12345 
    } 
} 
output { 
    stdout { 
    codec => "rubydebug" 
    } 
} 

, но не журналы не пересылаются.

ответ

2

Правильный способ сделать это состоит в использовании logstash-forwarder или предпочтительно новейший (замена logstash-форвардер) Filebeat инструмент на веб-сервере и Logstash с beats input plugin на сервере журнала.

Так конфигурация Filebeat на веб-сервере должен выглядеть следующим образом:

filebeat: 
    # List of prospectors to fetch data. 
    prospectors: 
    # Each - is a prospector. Below are the prospector specific configurations 
    - 
     paths: 
     - "/var/log/nginx/*.log" 
     document_type: weblog 
     fields: 
     service: nginx 

output: 
    logstash: 
    # The Logstash hosts. 
    hosts: 
     - log.server.ip:12345 

И конфигурации Logstash на сервере журнала будет выглядеть следующим образом

input { 
    beats { 
    port => 12345 
    } 
} 
output { 
    stdout { 
    codec => "rubydebug" 
    } 
} 

Если вы не хотите установите Filebeat на веб-сервере, потому что вы хотите использовать существующую Logstash, это также возможно. Конфигурация Logstash на вашем веб-сервере необходимо использовать lumberjack output так:

input { 
    file { 
    path => "/var/log/nginx/*log" 
    } 
} 
output { 
    lumberjack { 
    hosts => "log.server.ip" 
    port => 12345 
    ssl_certificate => "/path/to/certificate.pub" 
    } 
} 

И на вашем сервере журнала, вам нужно использовать lumberjack input:

input { 
    lumberjack { 
    port => 12345 
    ssl_certificate => "/path/to/certificate.cer" 
    ssl_key => "/path/to/certificate.key" 
    } 
} 
output { 
    stdout { 
    codec => "rubydebug" 
    } 
} 
Смежные вопросы