Zabbix 로그 데이터를 ELK 스택으로 보내서 타이밍 상관 관계를 분석하려고합니다. 그러나 Logstash 중앙 집중식 서버 구성에서 지정한 필터가 에이전트로 작동하는 경우에는 표시되지 않습니다. 나는 Filebeat를 사용하여 처리를 위해 Logstash에 로그 항목을 보냅니다. 그러나 fields.tags
행은 Logstash에 의해 확인되지 않고 Elasticsearch/Kibana에 표시됩니다. 여기에 내 configs 있습니다.Logstash는 Filebeat의 필드를 기반으로 조건부 필터링을하지 않습니다.
filebeat:
prospectors:
-
paths:
- /var/log/zabbix/zabbix_proxy.log
input_type: log
fields:
tags: ["zabbix", "zabbix-proxy"]
registery_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["elkls.com:5044"]
logging:
files:
rotateeverybytes: 12345656
다음 내 Logstash 구성 파일
input {
beats {
port => 5044
}
}
filter {
if "zabbix" in [fields.tags] {
grok {
match => {
"message" => {
"filter stuff here"
}
}
}
}
}
output {
elasticsearch {
hosts => [ "elkhost.com:9200"]
}
}
Logstash는 fields.tags
라인에 작용하고, 필터링/Filebeat에서로 전달되는 로그 선을 절단하지 않는다. 변수에 올바르게 액세스하고 있습니까? Logstash가 에이전트 역할을하고 파일에서 직접 읽는 경우에만 다른 파일과 비슷한 작업을 수행합니다. 대신
if "zabbix" in [fields.tags] {
if "zabbix" in [fields][tags] {
이 Logstash에 중첩 된 필드를 참조하는 데 사용의
내 사무실 컴퓨터에서 아니지만,이 지금은 그것에 대해 생각 의미가 있습니다. 나는 내 자신을 바라 보는 것 같지 않았다. 고맙습니다 – Pred