是时候用 ES 拯救发际线啦

filebeat只把系统日志发到ELK,没有发送mysql日志到ELK

Beats | 作者 sailershen | 发布于2018年11月01日 | 阅读数:4060

一台mysql服务器,想把/var/log/messages和/var/log/secure文件,以及mysql服务的日志文件发送到ELK服务器,配置文件/etc/filebeat/filebeat.yml:
filebeat.config.inputs:
  enabled: true
  path: configs/*.yml

filebeat.config.modules:
  enabled: true
  path: /etc/filebeat/modules.d/*.yml

filebeat.modules:
- module: system
- module: mysql

output.redis:
    enabled: true
    hosts: ["192.168.100.9:6379"]
    port: 6379
    datatype: list
    db: 0
    key: br-sh-db-1

/etc/filebeat/configs/systemlog.yml
filebeat.inputs:
- module: system
syslog:
enabled: true
var.paths: ["/var/log/messages"]
auth:
enabled: true
var.paths: ["/var/log/secure"]

/etc/filebeat/configs/mysqldlog.yml 
filebeat.inputs:
- module: mysql
error:
enabled: true
var.paths: ["/var/log/mysqld.log"]
slowlog:
enabled: true
var.paths: ["/var/log/mysql_slow.log"]

现在在kibana上可以看到这台服务器的/var/log/messages和/var/log/secure文件,但是没有mysqld.log和mysql_slow.log文件,说明这两个文件没有被上传,不知道原因是啥,请各位指教。
 
 
 
已邀请:

rochy - rochy_he

赞同来自: sailershen

看起来配置没有问题
你需要检查以下 mysql module 是否启用
其次检查以下对应的日志文件是否存在、日志文件中是否存在内容

sailershen

赞同来自:

谢谢您的回复。
请教如何检查mysql module是否启用?

sailershen

赞同来自:

/usr/bin/filebeat modules list命令的结果:
Enabled:

Disabled:
apache2
auditd
icinga
iis
kafka
logstash
mongodb
mysql
nginx
osquery
postgresql
redis
system
traefik
 
把/etc/filebeat/modules.d/目录下的文件名改成mysql.yml和system.yml,再重启filebeat,然后再看模块的情况:
Enabled:
mysql
system

Disabled:
apache2
auditd
icinga
iis
kafka
logstash
mongodb
nginx
osquery
postgresql
redis
traefik

要回复问题请先登录注册