首页 > 其他分享 >Logstash、Filebeat安装与数据同步(+ES安装讲解)

Logstash、Filebeat安装与数据同步(+ES安装讲解)

时间:2023-06-13 17:31:31浏览次数:51  
标签:filebeat elastic Filebeat logstash 安装 Logstash ES



文章目录

  • 一、安装Java
  • 二、安装 Logstash
  • 1、下载Logstash
  • 2、安装Logstash
  • 二、使用Logstash
  • 1、安装结果测试
  • 2、测试文件启动
  • 3、监控指定端口输入
  • 4、从文件中推送到`Logstash`
  • 5、设置输出到ES中
  • 五、使用File Beat导入数据
  • 1、下载安装Filebeat
  • 2、核心点
  • 六、安装问题
  • 1、 GeoIP Filter in ECS-Compatiblity mode
  • 2、配置到ES中未连接报错
  • 3、权限问题`error loading config file`
  • 七、参考文档



一、安装Java

之前写的安装JDK的

Linux(centos 7.5)服务器安装JDK(1.8)

yum安装JDK

#	查看可安装java版本
yum list java*
#	安装JDK11
yum install java-11-openjdk-demo.x86_64

二、安装 Logstash

1、下载Logstash

官网地址:

https://www.elastic.co/cn/downloads/logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.3.3-linux-x86_64.tar.gz

2、安装Logstash

创建安装目录

mkdir /usr/local/logstash

解压缩安装文件

tar -zxvf logstash-8.3.3-linux-x86_64.tar.gz -C /usr/local/logstash

二、使用Logstash

1、安装结果测试

执行以下命令

cd logstash-8.3.3
bin/logstash -e 'input { stdin { } } output { stdout {} }'


Logstash、Filebeat安装与数据同步(+ES安装讲解)_linux

如果你在你的 Terminal 中看到和我一样的输出,说明你的 Logstash 安装时成功的。

2、测试文件启动

我们也可以创建一个自己的 logstash.conf 文件,并存于你的文件系统的一个目录下。这个 logstash.conf 的文件内容如下:

input {
  heartbeat {
    interval => 10
    type => "heartbeat"
  }
}
 
output {
  stdout {
    codec => rubydebug
  }
}

启动

bin/logstash -f heartbeat.conf

通过这样的 -f 选项,我们可以启动任何一个我们喜欢路径的 longstash 配置文件。


Logstash、Filebeat安装与数据同步(+ES安装讲解)_elastic_02

3、监控指定端口输入

创建一个自己的logstash.conf文件

input {
  tcp {
    port => 9900
  }
}
 
output {
  stdout { }
}

运行Logstash

bin/logstash -f weblog.conf

接下来,我们使用 nc 应用把数据发送到 TCP 端口号 9900,并查看 console 的输出。我们在另外一个 console 中打入如下的命令

echo 'hello logstash' | nc localhost 9900

Logstash、Filebeat安装与数据同步(+ES安装讲解)_网络_03

4、从文件中推送到Logstash

新建一个含有日志文件:

14.49.42.25 - - [12/May/2019:01:24:44 +0000] “GET /articles/ppp-over-ssh/ HTTP/1.1” 200 18586 “-” “Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b1) Gecko/20091014 Firefox/3.6b1 GTB5”

执行以下命令推送大Logstash

head -n 1 weblog-sample.log | nc localhost 9900

Logstash、Filebeat安装与数据同步(+ES安装讲解)_java_04

5、设置输出到ES中

核心配置:

elasticsearch {
  hosts => ["http://172.28.70.231:9200"]
  index => "logstash"
  user => "elastic"
  password => "23hUMjScdjOkbKiqCYj9"
}

完整配置:

input {
  tcp {
    port => 9900
  }
}
 
filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
 
  mutate {
    convert => {
      "bytes" => "integer"
    }
  }
 
  geoip {
    source => "clientip"
    target => "clientgeo"
  }
 
  useragent {
    source => "agent"
    target => "useragent"
  }

}
 
output {
  stdout { }
 
  elasticsearch {
    hosts => ["http://172.28.70.231:9200"]
    index => "logstash"
    user => "elastic"
    password => "23hUMjScdjOkbKiqCYj9"
  }
}

从日志文件weblog-sample.log中导入数据

head -n 1 weblog-sample.log | nc localhost 9900

五、使用File Beat导入数据

Logstash、Filebeat安装与数据同步(+ES安装讲解)_elastic_05

Logstash、Filebeat安装与数据同步(+ES安装讲解)_linux_06

官网地址

https://www.elastic.co/cn/downloads/beats/

1、下载安装Filebeat

下载地址

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.3.3-linux-x86_64.tar.gz

解压缩安装包

tar -zxvf filebeat-8.3.3-linux-x86_64.tar.gz

新建配置文件filebeat_apache.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /Users/liuxg/data/apache_logs/*
 
output.logstash:
  hosts: ["localhost:5044"]

运行Filebeat

$ ./filebeat -c filebeat_apache.yml

就会将日志同步到Logstash

Logstash、Filebeat安装与数据同步(+ES安装讲解)_网络_07

Logstash、Filebeat安装与数据同步(+ES安装讲解)_linux_08

Logstash、Filebeat安装与数据同步(+ES安装讲解)_elastic_09

2、核心点

日志所在的目录(正则表达式),可匹配目录以及文件。

/Users/liuxg/data/apache_logs/*

六、安装问题

1、 GeoIP Filter in ECS-Compatiblity mode

[2022-08-04T11:05:00,966][ERROR][logstash.javapipeline    ][main] Pipeline error {:pipeline_id=>"main", :exception=>#<LogStash::ConfigurationError: GeoIP Filter in ECS-Compatiblity mode requires a `target` when `source` is not an `ip` sub-field,。

修复内容

改为target去展示


Logstash、Filebeat安装与数据同步(+ES安装讲解)_服务器_10

2、配置到ES中未连接报错

需要配置上到达ESindex

elasticsearch {
  hosts => ["http://172.28.70.231:9200"]
  index => "logstash"
  user => "elastic"
  password => "23hUMjScdjOkbKiqCYj9"
}

3、权限问题error loading config file

权限问题:

如果没有赋予权限,下面启动会报错:

Exiting: error loading config file: open filebeat.yml: permission denied

如果赋予777权限,也会报错:

Exiting: error loading config file: config file (“filebeat.yml”) can only be writable by the owner but the permissions are “-rwxrwxrwx” (to fix the permissions use: ‘chmod go-w /usr/share/filebeat/filebeat.yml’)

解决:

chmod 755 /home/filebeat/filebeat.yml

七、参考文档

Logstash:把 Apache 日志导入到 Elasticsearch

Logstash:Logstash 入门教程 (二)


标签:filebeat,elastic,Filebeat,logstash,安装,Logstash,ES
From: https://blog.51cto.com/u_14883832/6469803

相关文章

  • python 3.11.4 安装教程
    python官网 WelcometoPython.org.1.下载python进入官网点击Downloads找到3.11.4版本 点击Download  找到对应的电脑版本进行下载 2.安装python(1)双击下载好的python-3.11.4-amd64.exe(2)勾选AddPython3.7toPATH,再点击CustomizeinstallationInstallno......
  • centos7安装docker-compose插件
    引介docker-compose是docker的一款插件,常用来定义和运行多容器的docker应用。本篇文章就来介绍一下,如何在centos7的linux系统中安装docker-compose插件。安装方式docker-compose安装方式的主要可以分为两种,一是使用docker仓库进行安装,而是手动方式安装。使用docker仓库安装使......
  • Linux系统下如果在编译时指定程序运行时动态链接库相对目录,及为程序收集默认不安装动
    1、在编译中指定编译的程序去查找的动态链接库目录qmake是这样指定运行时动态库目录的:  QMAKE_LFLAGS+=-Wl,-rpath=/usr/local/ultrasec/policyfilter/lib/ 2、用lddPROG  查看程序的动态链接库,如果没有的动态链接库,就从其它计算机或者网络上找这个库,然后拷贝到指......
  • CentOS下安装Erlang和RabbitMQ
    (1).源码安装ErlangRabbitMQ依赖于Erlang,所以在安装RabbitMQ之前,需要先安装Erlang。注意:Erlang和RabbitMQ之间有版本的依赖关系,详见:https://www.rabbitmq.com/which-erlang.html。我这里使用版本是Erlang24.2+RabbitMQ3.9.11。1)首先,安装编译工具和开发包(依赖包)......
  • HP 288G9 主机安装Esxi6.7报错Shutting down firmware services Using simple offset'
    ShuttingdownfirmwareservicesUsingsimpleoffset'UEFIRTSmappingpolicy找了好多方法都不行,尝试1:添加ignoreHeadless=TRUE参数也没救回我电脑,失败尝试2:BIOS中将PCI64bitResourcesHandling里的Above4GDecoding,找不到失败尝试3:PC主板里有一个设置选项叫CSM兼容性......
  • 宝塔Linux安装
    首先找到宝塔的安装地址:https://www.bt.cn/new/index.html第一步:安装宝塔SSH终端安装成功之后的界面是这样的:  第二步:Liunx宝塔面板的安装地址:https://www.bt.cn/btcode.html 这里我安装的是第一个 ......
  • mac 下Golang 安装Protobuf
    1、安装protobufbrewinstallprotobuf2、检查安装结果protoc--version3、安装golangforprotobuf插件gogetgithub.com/golang/protobuf/protoc-gen-gogoget-u-vgithub.com/golang/protobuf/protoc-gen-gogoget=gitclone+goinstall这里会慢的要死所以我这里采取......
  • window下安装docker并运行angular项目
    window下安装docker并运行angular项目1、使用场景本地有一个node项目,node版本是v16.13.2,在本地安装的angular是15.2.4但是测试服上面的node版本是14.19.3,angular是1.0.0-beta.28.3,会导致angular项目的ngbuild打包不了。但是不能升级版本,因为这个测试服务器上面的东西也......
  • windows下安装rabbitmq
    1、Erlang的安装因为RabbitMQ是用Erlang语言编写的,所以要安装RabbitMQ先要安装Erlang。下载地址:http://www.erlang.org/downloads下载完成后就双击一直next后安装[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sosn4mCm-1684822676988)(C:\Users\Adm......
  • Linux(centos 7.5)安装Jenkins
    文章目录一、Jenkins软件安装1、Jenkins需要依赖JDK,所以先安装JDK1.82、Linux安装Gitlab3、下载Jenkins安装包4、安装Jenkins5、修改Jenkins配置6、启动Jenkins二、Jenkins简单配置1、打开浏览器访问2、获取并输入admin账户密码3、跳过插件安装4、添加一个管理员账户,并进入Jenkin......