filebeat.yml
filebeat.inputs:
- type: log
paths:
- /root/logs/*/*.log
multiline.pattern: '^\d{4}\-\d{2}\-\d{2}'
multiline.negate: true
multiline.match: after
fields:
index: 'server_log'
setup.ilm.enabled: false
setup.template.name: "java_logback_service_index_template"
setup.template.pattern: "java_logback_service_index_template-*"
setup.template.overwrite: true
setup.template.settings:
index.number_of_shards: 1
output.elasticsearch:
hosts: ["127.0.0.1:9001"]
indices:
- index: "server_log-%{+yyyy.MM.dd}"
when.contains:
fields:
index: "server_log"
pipeline: "test_java_log_pipeline"
document_type: log
max_retries: 3
processors:
- drop_fields:
fields: ["log","host","input","agent","ecs","start_time"]
docker run
docker run -itd \
--privileged=true \
--user=root \
--name=filebeat \
--restart always \
--network=my_network \
-v /root/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:rw \
-v /root/filebeat/data/:/usr/share/filebeat/data/:rw \
-v /root/logs/:/root/logs/:rw \
-v /root/xiaoye_worker/logs/:/root/xiaoye_worker/logs/:rw \
docker.elastic.co/beats/filebeat:6.4.2
Elasticsearch 模版和pipeline 设置
GET _template/java_logback_service_index_template
DELETE _template/java_logback_service_index_template
PUT _template/java_logback_service_index_template
{
"order": 1,
"index_patterns": [
"java_log-*"
],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"type_name":{
"properties": {
"app_name": {
"type": "keyword"
},
"trance_id": {
"type": "keyword"
},
"log_level": {
"type": "keyword"
},
"thread": {
"type": "keyword"
},
"class_line": {
"type":