logstash使用

logstash

1、为什么使用ELK

ELK=Elasticsearch+Logstash+Kibana

E:数据的存储和搜索。
L:日志数据的过滤和收集。
K:web方式的前端展现。

传统获取和分析日志的方法繁琐而且不高效。
使用ELK能灵活过滤日志。
使用ELK能实时分析日志。
使用ELK能直观展示分析的结果,很轻松的出各种报表。

2、什么是Logstash?

Logstash是一个开源的数据收集引擎,它具有备实时数据传输能力。
它可以统一过滤来自不同源的数据,并按照开发者制定的规范输出到目的地,
支持正则表达式。

由于日志文件来源多(如:系统日志、服务器日志、tomcat日志、nginx日志等),
且内容杂乱,不便于人类进行观察。
因此,我们可以使用 Logstash 对日志文件进行收集和统一过滤,变成可读性高的内容

3.安装logstash

3.1、下载

下载地址:https://www.elastic.co/cn/downloads/

在这里插入图片描述

  • 将logstash下载并上传到Linux中,解压到需要安装的目录。这里安装在:/usr/local

在这里插入图片描述

3.2、修改jvm.options配置文件

进入cd config/目录

在这里插入图片描述

jvm.options配置文件

如果是虚拟机或者服务器的内存地址较小,这里可以修改成512m

-Xms512m
-Xmx512m

在这里插入图片描述

进入bin目录

在这里插入图片描述

3.2.1、启动测试

简单的启动测试一波,是否可以使用。

启动很慢,需要等待。

./logstash -e 'input {stdin{}} output{stdout{}}'

-e后面的是配置文件,stdin标准输入,stdout标准输出。

在这里插入图片描述

这样就启动成功。

  • 测试一下

在屏幕上输入什么就会在屏幕上输出什么。

在这里插入图片描述

@timestamp 输出的时间

host 主机名称

message 输出的数据

3.3、复制logstash-sample.conf为logstash.conf配置文件并修改

复制logstash-sample.conf配置文件,修改名称为:logstash.conf,启动的收就使用该配置文件。

cp logstash-sample.conf logstash.conf

在这里插入图片描述

将logstash.conf中的数据全部删除,重新复制下面的数据。

input {
    # 从文件读取日志信息
    file {
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
    }
}

filter {
}

output {
    # 标准输出
    stdout {}
}

在这里插入图片描述

input、filter、output都数据插件。

input:输入插件

filter:过滤插件

output:输出插件

3.4、启动

进入/usr/local/logstash-7.3.2目录,启动是指定logstash.conf配置文件

创建启动脚本

touch startup.sh
#!/bin/bash
nohup /usr/local/logstash-7.3.2/bin/logstash -f /usr/local/logstash-7.3.2/config/logstash.conf >> /usr/local/logstash-7.3.2/output.log 2>&1 &

或者

 ./bin/logstash -f config/logstash.conf

4、logstash插件

插件地址:https://github.com/logstash-plugins

4.1、Gemfile文件

Gemfile是logstash的插件保存文件,Gemfile在logstash根目录下。

在这里插入图片描述

在这里插入图片描述

  • 指定插件名查询
cat Gemfile | grep 插件名

4.2、安装gem和ruby

注意:安装插件需要使用到 gem 工具,而 gem 工具需要使用 ruby,所以先安装ruby

4.2.1、安装 ruby

yum install ruby

4.2.2、安装 gem

官网:https://rubygems.org

国内官网:https://rubygems.org/

建议安装2.6.x以上版本,因为需要切换国内源问题。

  • 上传到/opt文件下,并解压。

在这里插入图片描述

cd rubygems-2.6.12

  • 安装命令
ruby setup.rb

在这里插入图片描述

在这里插入图片描述

  • 查询版本
gem -v
  • 查看源
gem sources -l
  • 切换源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

在这里插入图片描述

  • 忽略SSL认证

因为国内源是https的,所以需要忽略SSL认证

在root目录下有一个 .gemrc 的隐藏文件下添加 ssl_verify_mode: 0

在这里插入图片描述

vim .gemrc 

在这里插入图片描述

4.3、安装mongdb插件

插件地址:https://github.com/logstash-plugins

cd bin/

安装命令:

./logstash-plugin install logstash-output-mongodb

在这里插入图片描述
在这里插入图片描述

  • 到logstash根目录Gemfile文件查看是否存在mongodb
cat Gemfile | grep mongodb

在这里插入图片描述

5、logstash.conf配置讲解

插件详细地址:https://www.elastic.co/guide/en/logstash/6.6/index.html

查看插件文档时,需要找到logstash相应的版本。

  • 数据处理流程

input->解码->filter->编码->output

这里的input、filter、output都属于插件。

先输入,解码,过滤,编码,输出(可以输入到屏幕、elasticsearch等)

5.1、input插件

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

filter {
}

output {
    stdout {
    }
}

input中的path是读取日志的路径,/var/log/messages表示系统日志。

type随便写,表示该日志读取出来起一个名字,如果数据是写入elastic search中好区分。

  • 测试一下:

将logstash.conf复制一份,命名为logstash2.conf,并写入配置文件信息。

启动:

 ./bin/logstash -f config/logstash2.conf

在这里插入图片描述

这样就将/var/log/messages(系统配置文件)文件中的信息全部读取出来了。

5.2、filter插件

复制logstash.conf配置文件,命名为logstash3.conf,并写入一下配置文件。

input {
    stdin {
    }
}

filter {
   mutate {
        split => ["message", "|"]
    }
}

output {
    stdout {
    }
}

在屏幕上出入数据,以“|”分割成数组输出

  • 启动:
 ./bin/logstash -f config/logstash3.conf

在屏幕上输入带“|”的数据

例如:

这里会以|分割数据|不信就来测试一下|如果真的分割|你一个要仔细观看文档|我并没有欺骗你|知道了吗

在这里插入图片描述

5.3、output插件

将数据输入到elasticsearch中

kibana的使用:https://blog.csdn.net/qq_41853447/article/details/103199435

  • 将logstash.conf文件复制一份,命名为logstash4.conf,写入一下配置文件。
input {
    # 从文件读取日志信息
    file {
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
    }
}

filter {
}

output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "msg-%{+YYYY.MM.dd}"
    }
}

hosts:表示elastic search的地址和端口号。

index:表示创建索引。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值