ELK运维之路(Logstash基础使用-7.17.24)

前面已经了解过Filebeat收集日志及简单的过滤方法,但是Filebeat的功能相对比较弱,在对日志进行更高级的处理时会力不从心,这时就可以引入Logstatsh来对日志进行更高及的处理,来满足对日志进行更详细分析的要求。一般情况下公司使用的架构是

Filebeat(采集并进行基础过滤和加工)--->Kafka或Redis等中间件(如果数据量巨大)--->Logstatsh(对日志进行更高级的处理)--->ES(存储)--->Kibana(对数据查询,制作更详细的展示图对想要查看的内容进行展示)

1.Logstash拉取Redis数据

Logstash消费Redis

ini 复制代码
root@ubuntu2204test99:~/elkf/logstash/pipeline# cat logstash.conf

input {
  redis {
    # redis key的类型
    data_type => "list"  
    # 指定数据库编号
    db => 3 
    # 指定数据库IP
    host => "192.168.1.47"
    # 指定端口号
    port => "6379"
    # 身份验证
    password => "123456"
    # redis存储数据的key名
    key => "filebeat-log"
  }
}

output {
  stdout {
    
  }
}

2. Filebeat输出到Logstash

2.1 Logstatsh配置

ruby 复制代码
# Logstash配置
root@ubuntu2204test99:~/elkf/logstash/pipeline# cat logstash.conf

input {
  beats {
    port => 5044
  }
}

output {
  stdout {

  }
}

2.2 Filebeat设置

makefile 复制代码
# Filebeat配置
output.logstash:
  hosts: ["127.0.0.1:5044"]

3.Logstash输出到Redis

ini 复制代码
# 使用nc命令测试,输入选择tcp信息输入
root@ubuntu2204test99:~/elkf/logstash/pipeline# cat logstash.conf

input {
  tcp {
    port => 9999
  }
}

output {
  stdout {}
  redis {
      # 指定redis地址
      host => "192.168.1.47"
      # 指定redis端口号
      prot => "6379"
      # 指定redisdb
      db => 8
      # 指定redis密码
      password => "123456"
      # 写入数据的类型
      data_type => "list"
      # 写入到那个key
      key => "redis-logstash"
  }
}

# 使用nc测试
echo "123456" |nc 192.168.1.99 9999

# 查看redis
SELECT 8
KEYS *
LRANGE redis-logstash 0 -1

4.Logstash输出到File

ruby 复制代码
root@ubuntu2204test99:~/elkf/logstash/pipeline# cat logstash.conf

input {
  tcp {
    port => 9999
  }
}

output {
  stdout {}
  file {
    path => "/tmp/file-logstash.log"
  }
}

# 使用nc测试
echo "88888" |nc 192.168.1.99 9999

7.Logstash输出到ES

ini 复制代码
root@ubuntu2204test99:~/elkf/logstash/pipeline# cat logstash.conf

input {
  tcp {
    port => 9999
  }
}

output {
  stdout {}
  elasticsearch {
    hosts => ["10.10.128.15:9200"]
    user => "elastic"
    password => "ELK@1188."
    index => "cn-crm-138-%{+yyyy.MM.dd}"
    }
}

# 使用nc测试
echo "88888" |nc 192.168.1.99 9999
相关推荐
Elastic 中国社区官方博客13 分钟前
Elastic 在《Forrester Wave™:2026 年第四季度智能运维平台》报告中被评为强劲表现者
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
Elasticsearch34 分钟前
Elastic Cloud 无服务器服务审计日志:将审计记录发送到可观测性或安全解决方案
elasticsearch
zwjapple13 小时前
skill总结
大数据·elasticsearch·搜索引擎
垚垚学技术_聚焦云原生16 小时前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
阿里云大数据AI技术18 小时前
云栖实录|从代码上下文到千亿级文档:Qoder × 阿里云 Elasticsearch 落地生产级Agent向量检索
人工智能·elasticsearch
Elastic 中国社区官方博客21 小时前
使用 OpenTelemetry 在 Elastic 中实现 Claude 平台的人工智能 agent 可观测性
大数据·运维·服务器·人工智能·elasticsearch·信息可视化·全文检索
Sudo思维1 天前
我写了 3 年代码,最后悔的是没早点把服务器巡检脚本化(附完整脚本)
自动化运维
JoePotter1 天前
从零搭建华为云 EVS 每日自动快照:hcloud + PowerShell + 邮件报告实战
华为云·自动化运维·powershell·evs·koocli·快照备份·mailozaurr
Helix2502 天前
Intune 可观测性与 AI 排障实战:Copilot、高级分析与自动化运维指南
copilot·自动化运维·terminal·intune 可观测性·设备时间线·intelligent·ai排障
Elastic 中国社区官方博客2 天前
Elastic 重大事件功能如何将 100 条日志样本转化为检测规则
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎