在Filebeat中,有大量的Module,可以简化我们的配置,直接就可以使用\
查看可以使用的modules:
[root@localhost filebeat-6.5.4-linux-x86_64]# pwd
/usr/local/elasticsearch/filebeat-6.5.4-linux-x86_64
[root@localhost filebeat-6.5.4-linux-x86_64]# ./filebeat modules list
Enabled:
Disabled:
apache2
auditd
elasticsearch
haproxy
icinga
iis
kafka
kibana
logstash
mongodb
mysql
nginx
osquery
postgresql
redis
suricata
system
traefik
启动
./filebeat modules enable redis #启动
./filebeat modules disable redis #禁用
进入modules.d中
修改redis的docker容器
redis默认情况下,是不会输出日志的,需要进行配置,前面我们使用的容器都没有配置日志输出,下面需要配置一下。
重新创建容器,主要加入下面的代码,让redis生成log文件
--loglevel debug --logfile nodes-node-01.log
loglevel 日志等级分为:debug、verbose、notice、warning
其中,debug 会有大量信息,对开发、测试有用;
verbose 等于log4j 中的info,有很多信息,但是不会像debug那样乱;
notice 一般信息;
warning 只有非常重要/关键的消息被记录。
创建容器代码如下所示
docker create --name redis-node01 --net host -v /data/redis-data/node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379 --loglevel debug --logfile nodes-node-01.log
docker create --name redis-node02 --net host -v /data/redis-data/node02:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-02.conf --port 6380 --loglevel debug --logfile nodes-node-02.log
docker create --name redis-node03 --net host -v /data/redis-data/node03:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 6381 --loglevel debug --logfile nodes-node-03.log
修改filebeat中modules中的redis.yml配置文件
# 指定log文件的位置
var.paths: ["/data/redis-data/node01/*.log", "/data/redis-data/node02/*.log", "/data/redis-data/node03/*.log"]
slowlog:
# 这里不测试,设置为false
# enabled: true
enabled: false
在filebeat的目录 下面新建一个testredis.yml 文件写入下面的内容
t.inputs:
- type: log
enabled: true
paths:
- /usr/local/elasticsearch/beats/logs/*.log
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 6
output.elasticsearch:
hosts: ["192.168.142.128:9200","192.168.142.128:9201","192.168.142.128:9202"]
启动
#启动redis
docker start redis-node01 redis-node02 redis-node03
# 启动filebeat
./filebeat -e -c testredis.yml
打开管理工具
可以看到redis的log数据 已经写入到elasticsearch中了