无名 发表于 2022-5-8 17:02:10

【LSP】日志分析平台ELK之日志收集器logstash


http://cdn.u1.huluxia.com/g4/M01/6A/D5/rBAAdl92-cKARI4dAACt4WdlvYs673.jpg
logstash的工作原理类似Linux里的rsyslog,首先logstash会有一个数据输入源,也就是logstash去哪里采集数据,它的采集数据来源很多,比如从文件中采集,从某个tcp/udp端口采集,从redis的消息队列中采集,kafka啊、标准输入等等;它和rsyslog不同的是,rsyslog是把日志数据从一个地方转到另一个地方,中间不会去处理日志的格式,采集回来是什么样就是什么样;而logstash不一样,logstash它可以把采集回来的日志做格式化,以不同的编码形式向外输出;比如把nginx的日志采集回来,它可以以json格式输出;同时它还可以处理采集回来的日志,比如忽略某些字段的输出,把原有日志格式做切分;把原来不是json格式的日志,通过输出规则转换为json格式的日志;总体流程图如下

http://cdn.u1.huluxia.com/g4/M01/6A/D5/rBAAdl92-cKAJGAxAAE_wuvsHWU346.png
http://cdn.u1.huluxia.com/g4/M01/6A/D5/rBAAdl92-cOAEdDrAADCEdNJ7pM079.png


  提示:以上流程图主要表示logstash采集数据和处理数据内部的一个流程;从上面的流程不难想象,logstash就是把一个数据采集回来,通过内部定义的处理规则,然后通过output规则输出到指定地方的一个插件;

  安装logstash

  logstash的运行方式有两种,第一种以agint的方式运行在数据源所在服务器上采集数据,然后输出到指定地方;第二种是以server方式独立运行在一个服务器上,接受filebeat从数据源发送过来的数据,然后在输出到其他地方;logstash的运行以来jdk,所以首先要在运行jdk的服务器上安装jdk;logstash的版本最好同ELK中的其他组件版本一样;

  安装jdk

1
yum install -y java-1.8.0-openjdk-devel
  导出JAVA_HOME环境变量
http://cdn.u1.huluxia.com/g4/M01/6A/D5/rBAAdl92-cSACZYnAADMXd0heQQ816.png

  下载logstash-6.8.12.rpm包http://cdn.u1.huluxia.com/g4/M01/6A/D5/rBAAdl92-cWAaIwwAAHeSWwKX1A745.jpg
提示:logstash安装生成的文件超级多,其中主配置文件是/etc/logstash/lostash.yml,配置日志收集规则、过滤规则、输出规则的文件通常放在/etc/logstash/conf.d/目录下以.conf结尾的文件;其实主配置文件基本不用动,我们直接在/etc/logstash/conf.d/目录下编辑日志收集规则配置文件,然后启动logstash即可;
页: [1]
查看完整版本: 【LSP】日志分析平台ELK之日志收集器logstash