![](/img/trans.png)
[英]Sending Logs to Logstash in ELK using Ruby on Rails Docker Image
[英]Configuration for sending Docker logs to a locally installed ELK using Gelf
我將我的 ELK 部署在一個 ec2 實例上,並在另一個實例上運行了一個 dockerized 應用程序。 我正在嘗試使用 gelf 來收集不同的服務日志並發送到 logstash。 但是我當前的配置不起作用。
這是我的 docker.yaml 文件和我的 logstash conf 文件。 對於gelf address
,我使用了我運行 logstash 的實例的私有 ip - 在這個用例中我應該使用什么? 我錯過了什么?
version: '3'
services:
app:
build: .
volumes:
- .:/app
ports:
- "8000:8000"
links:
- redis:redis
depends_on:
- redis
logging:
driver: gelf
options:
gelf-address: "udp://10.0.1.98:12201"
tag: "dockerlogs"
redis:
image: "redis:alpine"
expose:
- "6379"
logging:
driver: gelf
options:
gelf-address: "udp://10.0.1.98:12201"
tag: "redislogs"
這是我的 logstash conf:
input {
beats {
port => 5044
}
gelf {
port:12201
type=> "dockerLogs"
}
}
output {
elasticsearch {
hosts => ["${ELK_IP}:9200"]
index =>"logs-%{+YYYY.MM.dd}"
}
}
驗證一次docker的版本,檢查語法是否正確。
Docker通過host's.network解析gelf地址所以地址需要是服務器的外部地址。
為什么不直接寫入 elasticsearch,因為您只發送應用程序日志而不使用 logstash 過濾器的好處?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.