Rai*_*ina 9 logstash docker docker-compose elk
我想设置三个容器,一个用于logstash,一个用于elasticsearch,一个用于kibana。最后两个都很好,但我需要配置第一个,以便它具有并使用 http 输入插件,然后使用我将传递它的 CSV。
到目前为止,我已经尝试过了,它可以运行,但我认为它没有使用我告诉它的配置
version: '3.3'
services:
logstash:
image: docker.elastic.co/logstash/logstash:6.7.0
# configs:
# - source: logstash_config
# target: /etc/logstash/conf.d/logstash.conf
# command: bash -c "logstash -f /etc/logstash/conf.d/logstash.conf && bin/logstash-plugin install logstash-input-http"
command: bash -c 'bin/logstash -e "input { http { } } output { stdout { codec => rubydebug} }" && bin/logstash-plugin install logstash-input-http'
links:
- elasticsearch
ports:
- 5044:5044
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.7.0
ports:
- "5601:5601"
configs:
logstash_config:
file: ./configs/logstash.conf
volumes:
esdata1:
driver: local
Run Code Online (Sandbox Code Playgroud)
到目前为止的配置是(它仍然没有 csv 部分)
input {
http {
port => 8080
ssl => off
}
}
output {
elasticsearch {
hosts => "127.0.0.1"
codec => "json"
index => "logstash-%{+YYYY.MM.dd}"
}
}
Run Code Online (Sandbox Code Playgroud)
关于如何让logstash使用带有docker compose的http输入插件的任何想法???
提前致谢。
容器使用8080端口,因此需要将该端口从主机转发到容器的网络接口。在此示例中,32000 被转发到 8080。
logstash:
# blabla
ports:
- "5044:5044"
- "9600:9600"
- "32000:8080"
docker-compose -f .\docker-compose.yml up -d
netstat -ant | findstr 32000
TCP 0.0.0.0:32000 0.0.0.0:0 LISTENING
Run Code Online (Sandbox Code Playgroud)
因此docker启动了一个socketserver监听32000并将其转发到docker的桥接ip端口8080,http输入插件正在监听该端口。
现在发送一个 http 请求到 32000 进入过滤器,如果这是输出插件,过滤器会将其记录到 elasticsearch。
curl -X PUT 'http://ip:32000' -d 'insert log here'
GET .myindex/_search
{
"query": {
"query_string": {
"query": "insert",
"fields": ["message"]
}
}
}
{
"_index": ".myindex",
"_id": "ertqY4IBbsVkN0caS8Ml",
"_score": 1,
"_source": {
"@timestamp": "2022-08-03T11:14:46.570619Z",
"message": "insert log here",
"http": {
"request": {
"mime_type": "application/x-www-form-urlencoded",
"body": {
"bytes": "15"
.........
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2190 次 |
| 最近记录: |