首页 > 其他分享 >Logstash基础知识

Logstash基础知识

时间:2022-12-04 20:32:02浏览次数:64  
标签:bin test3 Logstash etc conf 基础知识 root logstash

​Logstash简介

logstash是一个开源的数据采集工具,通过数据源采集数据.然后进行过滤,并自定义格式输出到目的地。

数据分为:

  1. 结构化数据 如:mysql数据库里的表等
  2. 半结构化数据 如: xml,yaml,json等
  3. 非结构化数据 如:文档,图片,音频,视频等

logstash可以采集任何格式的数据,当然我们这里主要是讨论采集系统日志,服务日志等日志类型数据。

官方产品介绍:​​https://www.elastic.co/cn/products/logstash​

Logstash基础知识_数据

input插件: 用于导入日志源

​https://www.elastic.co/guide/en/logstash/current/input-plugins.html​

filter插件: 用于过滤

​https://www.elastic.co/guide/en/logstash/current/filter-plugins.html​

output插件: 用于导出

​https://www.elastic.co/guide/en/logstash/current/output-plugins.html​

logstash部署

在logstash服务器上确认openjdk安装

[root@test3 ~]# java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)

在logstash服务器上安装logstash

[root@test3 ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.2.rpm
[root@test3 ~]# rpm -ivh logstash-6.5.2.rpm

Logstash基础知识_数据_02

配置logstash主配置文件

[root@3 ~]# cat /etc/logstash/logstash.yml |grep -v '#' |grep -v '^$'
path.data: /var/lib/logstash
path.config: /etc/logstash/conf.d/ 打开注释,并加上配置目录路径
http.host: "10.1.1.13" 打开注释,并改为本机IP(这是用于xpack监控用,但要收费,所以在这里不配置也可以)
path.logs: /var/log/logstash

启动测试

[root@test3 ~]# cd /usr/share/logstash/bin
使用下面的空输入和空输出启动测试一下
[root@test3 bin]# ./logstash -e 'input {stdin {}} output {stdout {}}'
运行后,输入字符将被stdout做为标准输出内容输出

运行后,输入字符将被stdout做为标准输出内容输出

Logstash基础知识_配置文件_03


Logstash基础知识_elastic_04

关闭启动

测试能启动成功后,ctrl+c取消,则关闭了

​另一种验证方法:

[root@test3]# vim /etc/logstash/conf.d/test.conf

input {
stdin {
}
}

filter {
}

output {
stdout {
codec => rubydebug
}
}


[root@test3 bin]# pwd
/usr/share/logstash/bin

[root@test3 bin]# ./logstash --path.settings /etc/logstash -f /etc/logstash/conf.d/test.conf -r
......
Config Validation Result: OK. Exiting Logstash

--path.settings 指定logstash主配置文件目录
-f 指定片段配置文件
-t 测试配置文件是否正确
codec => rubydebug这句可写可不定,默认就是这种输出方式
[root@test3 bin]# ./logstash --path.settings /etc/logstash -r -f /etc/logstash/conf.d/test.conf
......

haha
{
"@timestamp" => 2019-07-02T10:40:10.839Z,
"message" => "haha",
"host" => "vm3.cluster.com",
"@version" => "1"
}
hehe
{
"@timestamp" => 2019-07-02T10:40:11.794Z,
"message" => "hehe",
"host" => "vm3.cluster.com",
"@version" => "1"
}

-r参数很强大,会动态装载配置文件,也就是说启动后,可以不用重启修改配置文件

日志采集

采集messages日志

这里以/var/log/messages为例,只定义input输入和output输出,不考虑过滤


[root@test3 bin]# vim /etc/logstash/conf.d/test.conf
input {
file {
path => "/var/log/messages"
start_position => "beginning"
}
}

output {
elasticsearch{
hosts => ["192.168.100.41:9200","192.168.100.40:9200"]
index => "messages-%{+YYYY.MM.dd}"
}
stdout {
}
}


[root@test3 bin]# ./logstash --path.settings /etc/logstash/ -r -f /etc/logstash/conf.d/test.conf &

后台运行如果要杀掉,请使用pkill java或ps查看PID再kill -9清除

通过浏览器访问es-head验证

Logstash基础知识_配置文件_05

Logstash基础知识_elastic_06

采集多日志源

[root@test3 bin]# vim /etc/logstash/conf.d/test.conf

input {
file {
path => "/var/log/messages"
start_position => "beginning"
type => "messages"
}

file {
path => "/var/log/yum.log"
start_position => "beginning"
type => "yum"
}
}

filter {

}

output {
if [type] == "messages" {
elasticsearch {
hosts => ["192.168.100.41:9200","192.168.100.40:9200"]
index => "messages-%{+YYYY-MM-dd}"
}
}

if [type] == "yum" {
elasticsearch {
hosts => ["192.168.100.41:9200","192.168.100.40:9200"]
index => "yum-%{+YYYY-MM-dd}"
}
}
}


Logstash基础知识_数据_07


Logstash基础知识_配置文件_08







标签:bin,test3,Logstash,etc,conf,基础知识,root,logstash
From: https://blog.51cto.com/u_15222272/5910046

相关文章

  • Linux使用 RPM 安装 Logstash
    参考网站:https://www.elastic.co/guide/en/logstash/8.5/installing-logstash.html#_yum1.下载并安装公共签名密钥rpm--importhttps://artifacts.elastic.co/GPG-KEY-......
  • Promise基础知识
    Promise1.Promise的前置小知识进程(厂房)程序的运行环境线程(工人)线程是实际进行运算的东西同步通常情况代码都是自上向下一行一行执行的前边的代码不执行......
  • Logstash grok 正则在线调试-待验证
     在线工具http://grok.51vagaa.com/https://www.5axxw.com/tools/v2/grok.html 自建工具mkdir/opt/grokdebuggertee/opt/grokdebugger/dockerfile<<"EOF"ve......
  • MinIo windows版基础知识(启动与使用)
    一:启动(1)第一步:打开CMD命令行窗口(2)第二步:输入以下命令  minio.exeserverD:\myMinIO解释:minio.exeserver后面跟的D:\myMinIO是minio.exe所在文件夹的路径,回车启动......
  • DDD学习笔记----基础知识
    领域(Domain):一个组织做的事情。按照在项目中的重要程度划分为三个子领域:核心域:处理项目中最核心的事情,跟组织业务联系紧密。支撑域:处理项目中非核心的事情,有组织特性,不具......
  • 内存马基础知识
    javaweb三大组件javaweb:Servlet,Filter,Listener三大组件的各自功能:Servlet:用我的话来讲它就像是一个处理器,它会接受http请求然后把他封装成HttpServletRequest和Htt......
  • 有关View的几个基础知识点-IOS开发
    我一般情况下不会使用interfacebuilder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interfacebuilder而已。当然如果需要我也会使用它。一个东......
  • HTTP与HTML基础知识
    今日内容概要前端与后端的概念超文本传输协议HTTP超文本标记语言HTML今日内容详细前端与后端的概念前端用于展示及获取数据的界面就是前端,前端的终点在于页面设计......
  • Java中进制基础知识与算法题
    本篇文章旨在给大家普及下计算机内部数据的机器级表示方式,即:二进制、八进制、十进制、十六进制…对于进制,我们从小最先接触的是十进制,这个也是我们日常生活中应用最多的数......
  • MQTT 基础知识
    参考文档:https://mqtt.org/getting-started/MQTT是物联网(IoT)最常用的消息传输协议。MQTT是MQ遥测传输的缩写。该协议是一套规则,定义了物联网设备如何通过互联网发布和订阅......