ELK之filebeat-redis-logstash-es构架模式
下载filebeat的rpm包安装filebeat
1 | wget https: / / artifacts.elastic.co / downloads / beats / filebeat / filebeat - 6.3 . 0 - x86_64.rpm |
安装
1 | filebeat - 6.3 . 0 - x86_64.rpm |
配置文件/etc/filebeat/filebeat.yml
2024-08-13补充开始
以上截图有误enabled后面的false应该修改成true
2024-08-13补充结束
写一个配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | filebeat.inputs: - type : log enabled: true paths: - / var / log / * .log - / var / log / messages exclude_lines: [ '^DBG' , '^$' ] document_type: system - log - 5611 filebeat.config.modules: path: ${path.config} / modules.d / * .yml reload .enabled: false setup.template.settings: index.number_of_shards: 3 setup.kibana: output. file : path: "/tmp" name: "filebeat.txt" |
默认不带type这里自定义type为document_type: system-log-5611
排除空行exclude_lines: ['^DBG','^$']
这里不写入到elasticsearch而是先写入到一个文件
启动
1 | systemctl start filebeat |
PS:在/tmp下面生成了文件filebeat但是没有txt(原因未知)
修改配置文件把输出改成redis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | filebeat.inputs: - type : log enabled: true paths: - / var / log / * .log - / var / log / messages tags: [ "system-log-5611" ] exclude_lines: [ '^DBG' , '^$' ] filebeat.config.modules: path: ${path.config} / modules.d / * .yml reload .enabled: true setup.template.settings: index.number_of_shards: 3 setup.kibana: output.redis: hosts: [ "192.168.56.11" ] db: "3" port: "6379" password: "123456" key: "system-log-5611" |
PS:tags才能生效 redis里面的key不能输出对应的key值(filebeat版本为6.3)
redis必须设置密码,否则启动filebeat报错,报错日志文件为/var/log/filebeat/filebeat
重启filebeat
1 | systemctl restart filebeat |
2021-08-13补充开始
filebeat7.6.2版本设置输出至redis有所不同,不能使用port参数而是把端口信息直接写到hosts参数,以下是一个完整的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | sed '/#/d' /etc/filebeat/filebeat.yml|sed '/^$/d' filebeat.inputs: - type: log enabled: true paths: - / var /log/supervisor/fastchat/*.log tags: [ "psych-log-0388" ] filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 3 setup.kibana: output.redis: hosts: [ "192.168.3.65:46379" ] db: "3" password: "password" key: "psych-log-0388" processors: - add_host_metadata: ~ - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~ |
2024-08-13补充结束
使用echo的方式往/var/log/messages插入几条数据然后使用客户端连接redis查看
配置使用logstash取出redis里面的数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | input { redis { host = > "192.168.56.11" port = > "6379" password = > "123456" db = > "3" data_type = > "list" key = > "system-log-5611" } } output{ if "system-log-5611" in [tags] { elasticsearch { hosts = > [ "192.168.56.11:9200" ] index = > "system-log-5611-%{+YYYY.MM.dd}" } stdout{ codec = > rubydebug } } } |
启动logstash输出
同时elasticsearch也收到了
分类:
ELKStack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!