forked from Deuxfleurs/nixcfg
Add filebeat to stream logs into elasticsearch
This commit is contained in:
parent
27ffee95b8
commit
e3eca391e0
2 changed files with 72 additions and 2 deletions
46
app/telemetry/config/filebeat.yml
Normal file
46
app/telemetry/config/filebeat.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# see https://github.com/elastic/beats/blob/master/filebeat/filebeat.reference.yml
|
||||||
|
filebeat.modules:
|
||||||
|
- module: system
|
||||||
|
syslog:
|
||||||
|
enabled: true
|
||||||
|
auth:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
#filebeat.inputs:
|
||||||
|
#- type: container
|
||||||
|
# enabled: true
|
||||||
|
# paths:
|
||||||
|
# -/var/lib/docker/containers/*/*.log
|
||||||
|
# stream: all # can be all, stdout or stderr
|
||||||
|
|
||||||
|
#========================== Filebeat autodiscover ==============================
|
||||||
|
filebeat.autodiscover:
|
||||||
|
providers:
|
||||||
|
- type: docker
|
||||||
|
# https://www.elastic.co/guide/en/beats/filebeat/current/configuration-autodiscover-hints.html
|
||||||
|
# This URL alos contains instructions on multi-line logs
|
||||||
|
hints.enabled: true
|
||||||
|
|
||||||
|
#================================ Processors ===================================
|
||||||
|
processors:
|
||||||
|
# - add_cloud_metadata: ~
|
||||||
|
- add_docker_metadata: ~
|
||||||
|
- add_locale:
|
||||||
|
format: offset
|
||||||
|
- add_host_metadata:
|
||||||
|
netinfo.enabled: true
|
||||||
|
|
||||||
|
#========================== Elasticsearch output ===============================
|
||||||
|
output.elasticsearch:
|
||||||
|
hosts: ["localhost:9200"]
|
||||||
|
username: beats_system
|
||||||
|
password: {{ key "secrets/telemetry/elastic_passwords/beats_system" }}
|
||||||
|
|
||||||
|
#============================== Dashboards =====================================
|
||||||
|
setup.dashboards:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
#============================== Xpack Monitoring ===============================
|
||||||
|
xpack.monitoring:
|
||||||
|
enabled: true
|
||||||
|
elasticsearch:
|
|
@ -74,7 +74,7 @@ EOH
|
||||||
task "otel" {
|
task "otel" {
|
||||||
driver = "docker"
|
driver = "docker"
|
||||||
config {
|
config {
|
||||||
image = "otel/opentelemetry-collector-contrib:0.44.0"
|
image = "otel/opentelemetry-collector-contrib:0.46.0"
|
||||||
args = [
|
args = [
|
||||||
"--config=/etc/otel-config.yaml",
|
"--config=/etc/otel-config.yaml",
|
||||||
]
|
]
|
||||||
|
@ -99,7 +99,7 @@ EOH
|
||||||
task "apm" {
|
task "apm" {
|
||||||
driver = "docker"
|
driver = "docker"
|
||||||
config {
|
config {
|
||||||
image = "docker.elastic.co/apm/apm-server:7.17.0"
|
image = "docker.elastic.co/apm/apm-server:7.17.1"
|
||||||
network_mode = "host"
|
network_mode = "host"
|
||||||
ports = [ "apm" ]
|
ports = [ "apm" ]
|
||||||
args = [ "--strict.perms=false" ]
|
args = [ "--strict.perms=false" ]
|
||||||
|
@ -136,6 +136,30 @@ EOH
|
||||||
memory = 40
|
memory = 40
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task "filebeat" {
|
||||||
|
driver = "docker"
|
||||||
|
config {
|
||||||
|
image = "docker.elastic.co/beats/filebeat:7.17.1"
|
||||||
|
network_mode = "host"
|
||||||
|
volumes = [
|
||||||
|
"/mnt/ssd/telemetry/filebeat:/usr/share/filebeat/data",
|
||||||
|
"secrets/filebeat.yml:/usr/share/filebeat/filebeat.yml",
|
||||||
|
"/var/run/docker.sock:/var/run/docker.sock",
|
||||||
|
"/var/lib/docker/containers/:/var/lib/docker/containers/:ro",
|
||||||
|
"/var/log/:/var/log/:ro",
|
||||||
|
]
|
||||||
|
args = [ "--strict.perms=false" ]
|
||||||
|
privileged = true
|
||||||
|
}
|
||||||
|
user = "root"
|
||||||
|
|
||||||
|
|
||||||
|
template {
|
||||||
|
data = file("../config/filebeat.yml")
|
||||||
|
destination = "secrets/filebeat.yml"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue