Я использую это руководство для запуска filebeat в кластере Kubernetes.https://www.elastic.co/guide/en/beats/filebeat/master/running-on-kubernetes.html#_kubernetes_deploy_manifests
filebeat версия: 6.6.0
Я обновил файл конфигурации:
filebeat.yml: |-
filebeat.config:
inputs:
# Mounted `filebeat-inputs` configmap:
path: ${path.config}/inputs.d/*.yml
# Reload inputs configs as they change:
reload.enabled: false
modules:
path: ${path.config}/modules.d/*.yml
# Reload module configs as they change:
reload.enabled: false
# To enable hints based autodiscover, remove `filebeat.config.inputs` configuration and uncomment this:
#filebeat.autodiscover:
# providers:
# - type: kubernetes
# hints.enabled: true
filebeat.modules:
- module: nginx
access:
enabled: true
var.paths: ["/var/log/nginx/access.log*"]
- module: apache2
access:
enabled: true
var.paths: ["/var/log/apache2/access.log*"]
error:
enabled: true
var.paths: ["/var/log/apache2/error.log*"]
Но, логи из приложения PHP(/var/log/apache2/error.log
) не выбирается с помощью filebeat.Я проверил exec
в модуле filebeat и увидел, что модули apache2 и nginx не включены.
Как правильно настроить его в файле yaml
.
ОБНОВЛЕНИЕ
Я обновил файл конфигурации filebeat с настройками ниже:
filebeat.autodiscover:
providers:
- type: kubernetes
hints.enabled: true
templates:
- condition:
config:
- type: docker
containers.ids:
- "${data.kubernetes.container.id}"
exclude_lines: ["^\\s+[\\-`('.|_]"] # drop asciiart lines
- condition:
equals:
kubernetes.labels.app: "my-apache-app"
config:
- module: apache2
log:
input:
type: docker
containers.ids:
- "${data.kubernetes.container.id}"
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-modules
namespace: default
labels:
k8s-app: filebeat
data:
apache2.yml: |-
- module: apache2
access:
enabled: true
error:
enabled: true
nginx.yml: |-
- module: nginx
access:
enabled: true
Теперь я регистрирую ошибки apache в /dev/stderr
, чтобы я мог видеть его через kubectl logs
.Журналы загружаются через приборную панель кибаны.Но модуль apache все еще не виден.
Я попытался проверить с помощью ./filebeat modules list
:
Enabled:
apache2
nginx
Disabled:
Панель управления Kibana