3.2实验filebeat->logstash->es

news/2025/2/27 0:04:49

简单实验:filebeat->logstash

filebeat配置:

# cd /usr/local/filebeat/

# cp filebeat.yml filebeat2.yml

# vim filebeat2.yml

filebeat.inputs:
- type: log
  paths:
    - /var/log/httpd/access_log

output.logstash:
  hosts: ["192.168.148.131:5044"]

# ./filebeat -c filebeat2.yml &

logstash配置:

# vim /usr/local/logstash/config/logstash-filebeat.conf

input {
    beats {
        port => 5044
        codec => json
    }
}
output {
    stdout {}
}

# logstash -f /usr/local/logstash/config/logstash-filebeat.conf

# curl 192.168.148.131:80 访问httpd测试

复杂实验:filebeat->logstash->es并采集多个日志

##用field和if、elif

filebeat配置:

# cd /usr/local/filebeat/

# cp filebeat.yml filebeat3.yml

# vim filebeat3.yml

# grep -vE "^$|^[[:space:]]*#" filebeat3.yml

filebeat.inputs:
- type: log
  paths:
    - /var/log/httpd/access_log
  fields:
    filetype: web                              # 用于区别不同的日志
  fields_under_root: true                   # 将自定义字段置于顶层

- type: log
  paths:
    - /var/log/secure
  fields:
    filetype: sys
  fields_under_root: true

output.logstash:
  hosts: ["192.168.148.131:5044"]

# ./filebeat -c filebeat3.yml &

logstash配置:

# vim /usr/local/logstash/config/logs.conf

input {
    beats {
        port => 5044
     }
}

filter {
    if [filetype] == "web" {
        grok {
            match => {
                "message" => "%{COMBINEDAPACHELOG}"
            }
            remove_field => ["message","beat","offset","tags","prospector"]
        }
    }
}

output {
    if [filetype] == "web" {
        elasticsearch {
            hosts => ["192.168.148.132:9200"]
            index => "http-%{+YYYY.MM.dd}"
        }
    } 
    else if [filetype] == "sys" {
        elasticsearch {
            hosts => ["192.168.148.132:9200"]
            index => "syslog-%{+YYYY.MM.dd}"
        }
    }
}

# logstash -f /usr/local/logstash/config/logs.conf

# curl 192.168.148.132:9200/_cat/indices? #测试查看


http://www.niftyadmin.cn/n/5869296.html

相关文章

Ubuntu 安装 Node.js 20.x

在 Ubuntu 系统上安装特定版本的 Node.js(如 Node.js 20.x)需要一些额外的步骤,因为 Ubuntu 的官方软件仓库可能不包含最新版本的 Node.js。以下是如何在 Ubuntu 上安装 Node.js 20.x 的详细步骤: 1. 更新软件包列表 在安装任何新…

某c++公司的面试笔试题分享

2、若有定义:int a[3][4];不能表示数组元素a[1][1]的是 。 (A)*(a[1]1)      (B)*(&a[1][1])    (C)(*(a1))[1]      (D)*(a5) 在C语言中&…

数据库的常见权限作用

在数据库管理中,权限设置是确保数据安全和访问控制的重要手段。下面列出的这些权限都是MySQL数据库系统中常见的用户权限类型,它们各自有不同的作用,下面我将详细解释每一个权限的作用: SELECT:允许用户查询数据库中的…

IP---网络类型

这只是IP的其中一块内容-网络类型,IP还有更多内容可以查看IP专栏,前一章内容为访问服务器流程,可通过以下路径查看IP----访问服务器流程-CSDN博客,欢迎指正 2.网络类型 网络类型---根据二层(数据链路层)所…

salesforce 实现自定义多选列表

在 Salesforce 中,默认的 Multi-Select Picklist 字段显示为下拉框,用户通过点击下拉框并选择多个选项,然后这些选项会被显示在字段内,用户需要点击右侧的“保存”按钮才能保存所选内容。这种行为在界面上并不像常见的 多选列表&a…

数据开发面试:DQL,

DQL常见面试题 where 和 having 的区别 三个排序开窗函数的区别 left join 用where 筛选 和 用on筛选的区别 ON 子句:用于定义连接条件,不会丢失左表的行。 WHERE 子句:用于过滤连接后的结果集,可能会丢失左表中没有匹配的行 …

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是国内视频行业最重要的国家标准,目前有三个版本: 2011 年:推出 GB/T 28181-2011 版本,为安防行业的前端设备、平…

Visual Studio Code FAQ

Visual Studio Code FAQ Visual Studio Code FAQVisual Studio Code 和 Visual Studio IDE 有什么区别?支持哪些作系统?VS Code 软硬件要求硬件平台不支持其他 Linux 要求 VS Code 是免费的吗?如何禁用遥测报告如何禁用试验 如何禁用崩溃报告…