2015-12-22 5 views
1

Iam, использующий докер-лося в github и управляющий контейнером докеров-лосей. Журналы показываются в кибане. Теперь я хочу использовать файл beat вместо logstash-forwarder в docker-elk.for, что я выбрал эластичные/удары в github и построил изображение докеров. Теперь это включено в мой docker-compose.yml.now , когда iam running контейнер logstash работает, эластичный поиск работает, но файл биения завершались с кодом 0.Почему docker filebeat вышел с кодом 0?

Это мой докер-compose.yml

elasticsearch: 
    image: elasticsearch:latest 
    command: elasticsearch -Des.network.host=0.0.0.0 
    ports: 
    - "9200:9200" 
logstash: 
    image: logstash:2.0 
    command: logstash agent --config /etc/logstash/conf.d/ -l /var/log/logstash/logstash.log --debug 
    volumes: 
    - ./logstash/config:/etc/logstash/conf.d 
    - ./logstash/patterns/nginx:/etc/logstash/patterns/nginx 

    ports: 
    - "5000:5000" 
    links: 
    - elasticsearch 
kibana: 
    build: kibana/ 
    volumes: 
    - ./kibana/config/kibana.yml:/opt/kibana/config/kibana.yml 
    ports: 
    - "5601:5601" 
    links: 
    - elasticsearch 
beats: 
    image: pavankuamr/beats 

    volumes: 
    - ./logstash/beats:/etc/filebeat 
    - /var/log/nginx:/var/log/nginx 
    links: 
    - logstash 
    - elasticsearch 
    environment: 
    - ES_HOST=elasticsearch 
    - LS_HOST=logstash 
    - LS_TCP_PORT=5044 

Это мой filebeat.yml

filebeat: 

    prospectors: 

     paths: 
     - /var/log/nginx/access.log 



     input_type: log 


    registry_file: /var/lib/filebeat/registry 


    config_dir: /etc/filebeat/conf.d 



    elasticsearch: 
    enabled: false 

    hosts: ["localhost:9200"] 




    logstash: 
    # The Logstash hosts 
    enabled: true 
    hosts: ["localhost:5044"] 

Это мой logstash.conf

input { 
    beats { 
    port => 5044 
    type => "logs" 
    } 
    file { 
    type => "nginx" 
    start_position => "beginning" 
    path => [ "/var/log/nginx/access.log" ] 
    } 
file { 
    type => "nginxerror" 
    start_position => "beginning" 
    path => [ "/var/log/nginx/error.log" ] 
    } 
} 
filter { 

    if [type] == "nginx" { 
    grok { 
    patterns_dir => "/etc/logstash/patterns" 
    match => { "message" => "%{NGINX_ACCESS}" } 
    remove_tag => ["_grokparsefailure"] 
    add_tag => ["nginx_access"] 
    } 

    geoip { 
     source => "remote_addr" 
    } 
    } 

    if [type] == "nginxerror" { 
    grok { 
    patterns_dir => "/etc/logstash/patterns" 
    match => { "message" => "%{NGINX_ERROR}" } 
    remove_tag => ["_grokparsefailure"] 
    add_tag => ["nginx_error"] 
    } 

    } 
} 


output { 
    elasticsearch { 

     hosts => "elasticsearch:9200" 
       sniffing => true 
       manage_template => false 
       index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
       document_type => "%{[@metadata][type]}" 
    } 

} 
+0

Первый выходной elasticsearch конфигурации должен быть удален полностью, как «Enabled» варианты были удалены в последних версиях. Возможно ли, что файл журнала не существует при запуске Filebeat? В настоящее время существует проблема, если для сканирования нет файла журнала. – ruflin

ответ

0

Изменение hosts: ["localhost:9200"] для hosts: ["logstash:9200"] в выходные logstash на filebeat.yml

 Смежные вопросы

  • Нет связанных вопросов^_^