logstash5.x安装及简单运用

Logstash requires Java 8. Java 9 is not supported.

1、检测是否安装了java环境

[[email protected] ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

2、安装logstash,这里采用rpm安装

  https://artifacts.elastic.co/downloads/logstash/logstash-5.6.1.rpm

  yum install logstash

查看生成了哪些文件,查看logstash的执行文件位置:

/etc/logstash/conf.d
/etc/logstash/jvm.options
/etc/logstash/log4j2.properties
/etc/logstash/logstash.yml
/etc/logstash/startup.options
/usr/share/logstash/CHANGELOG.md
/usr/share/logstash/CONTRIBUTORS
/usr/share/logstash/Gemfile
/usr/share/logstash/Gemfile.jruby-1.9.lock
/usr/share/logstash/LICENSE
/usr/share/logstash/NOTICE.TXT
/usr/share/logstash/bin/cpdump
/usr/share/logstash/bin/ingest-convert.sh
/usr/share/logstash/bin/logstash
/usr/share/logstash/bin/logstash-plugin
/usr/share/logstash/bin/logstash-plugin.bat
/usr/share/logstash/bin/logstash.bat
/usr/share/logstash/bin/logstash.lib.sh
/usr/share/logstash/bin/ruby
/usr/share/logstash/bin/setup.bat
/usr/share/logstash/bin/system-install
/usr/share/logstash/data

 配置文件:

1、配置jvm

/etc/logstash/jvm.options

2、logstash的一些配置

/etc/logstash/logstash.yml

3、环境变量一些的配置

/etc/logstash/startup.options

4、日志与log4j2的配置

/etc/logstash/log4j2.properties

开始第一个任务:

[[email protected] conf.d]# /usr/share/logstash/bin/logstash -e ‘input { stdin {} } output { stdout {} }‘
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path //usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console

 提示warning,解决办法:

mkdir -p /usr/share/logstash/config/
ln -s /etc/logstash/* /usr/share/logstash/config
chown -R logstash:logstash /usr/share/logstash/config/
bin/logstash -e ‘input { stdin { } } output { stdout {} }‘

 如果logstash不适用命令行执行,而是作为一个服务:

  logstash启动:

  /etc/init.d/logstash start

  systemctl start logstash.service

开始编写配置文件进行logstash解析:

1、input插件中file插件的使用

[[email protected] conf.d]# cat file.conf
input {
    file {
        path => ["/var/log/messages"]
        start_position => "beginning"
    }
}

output {
    stdout {
        codec => rubydebug
    }
}
[[email protected] conf.d]# /usr/share/logstash/bin/logstash -f file.conf

 2、多个log日志的输入、

[[email protected] conf.d]# cat file_more_choose.conf
input {
    file {
        path => ["/var/log/messages"]
        start_position => "beginning"
    }
    file {
        path => ["/var/log/elasticsearch/my-elastic.log"]
        start_position => "beginning"
    }
}

output {
    stdout {
        codec => rubydebug
    }
}

[[email protected] conf.d]# /usr/share/logstash/bin/logstash -f file_more_choose.conf

 但是发现只打印出elastic的日志,message的日志没有stdout,收集的日志是增量的,之前收集的日志已经存在sincedb中了,所以会默认从之后开始存

Path of the sincedb database file (keeps track of the current position of monitored log files) that will be written to disk. The default will write sincedb files to <path.data>/plugins/inputs/file NOTE: it must be a file path and not a directory path,这是一段sincedb_path的解释

检查配置文件的语法是否正确:

-t, --config.test_and_exit    Check configuration for valid syntax and then exit.
                                   (default: false)
-r, --config.reload.automatic Monitor configuration changes and reload
                                  whenever it is changed.
                                  NOTE: use SIGHUP to manually reload the config
                                   (default: false)
[[email protected] conf.d]# /usr/share/logstash/bin/logstash -f file.conf -t
Sending Logstash‘s logs to /var/log/logstash which is now configured via log4j2.properties
Configuration OK

 3、以elasticsearch插件输出:

input {
    file {
        path => ["/var/log/logstash/logstash-plain.log"]
        start_position => "beginning"
        type => "logstash"
    }
}

output {
    elasticsearch {
        hosts => ["192.168.44.134:9200"]
        index => "logstash-log"
        codec => rubydebug
    }
}

4、根据插件type来定义输出插件:

[[email protected] conf.d]# cat type.conf
input {
    file {
       path  => ["/var/log/logstash/logstash-plain.log"]
       start_position => "beginning"
       type => "logstash_2"
    }
    file {
       path => ["/var/log/messages"]
       start_position => "beginning"
       type => "system"
    }
}

output {
    if [type] == "logstash_2" {
        elasticsearch {
            hosts => ["192.168.44.134:9200"]
            index => "logstash_2"
            codec => rubydebug
        }
    }
    if [type] == "system" {
         stdout {
            codec => rubydebug
         }
    }
}

 现在向messages日志中echo一段话:

echo "`date +%F`" >> /var/log/messages

 然后开始执行:

[[email protected] conf.d]# /usr/share/logstash/bin/logstash -f type.conf
Sending Logstash‘s logs to /var/log/logstash which is now configured via log4j2.properties
{
      "@version" => "1",
          "host" => "node3",
          "path" => "/var/log/messages",
    "@timestamp" => 2017-09-20T08:19:05.782Z,
       "message" => "2017-09-20",                这是刚刚echo新增的内容
          "type" => "system"
}

 查看es中的索引是否有生成:

时间: 2024-12-24 22:48:55

logstash5.x安装及简单运用的相关文章

python requests的安装与简单运用

requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码. 我也看了下requests的文档,确实很简单,适合我这种懒人.下面就是一些简单指南. 插播个好消息!刚看到requests有了中文翻译版,建议英文不好的看看,内容也比我的博客好多了,具体链接是:http://cn

saltstack安装和简单配置(一)

saltstack 安装和简单配置 在安装前,写了好多废话,都被我删除了,下面就开始搞吧. 环境: master:10.70.36.110 minion:10.70.36.103 一.安装: 现在centos下的yum源内有最新的salt-master源码包,安装的话,直接     yum -y install salt-master   #服务端         yum -y install salt-minion   #客户端 要使用yum安装,必须配置好epel源,可参考:        

Redis安装及简单测试

题目链接:11645 - Bits 题意:给定一个数字n,要求0-n的二进制形式下,连续11的个数. 思路:和 UVA 11038 这题类似,枚举中间,然后处理两边的情况. 不过本题最大的答案会超过longlong,要用高精度,不过借鉴http://www.cnblogs.com/TO-Asia/p/3214706.html这个人的方法,直接用两个数字来保存一个数字,这样能保存到2个longlong的长度,就足够存放这题的答案了. 代码: #include <stdio.h> #include

memcache的windows下的安装和简单使用

原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcache缺点之一却是缺少安全性验证,所以一般而言我们都会把一些访问量大,但是不需要验证的数据放在这里,需要用的时候来这里取,就给数据库减少了很多的负担.一般而言设定个更新时间就好了,1个小时左右更新一次. windows下安装和测试memcache最为方便,Linux只是需要相应的编译包就行了,需要包括m

TFS 2010 让安装更简单,也让VSS成为历史

一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号公布了.TFS 2010也将一起正式公布,相对于2005和2008,2010将是具有里程碑意义的一个版本号,就像它总设计师Brian Harry在以下的Channel 9採訪中所描写叙述的:“TFS 2005是TFS 1.0版,2008则是1.5,而2010则是2.0版”. Brian Harry:

puppet yum安装配置,简单证书维护

Puppet学习之puppet的安装和配置 一.Puppet简介 Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理.Puppet适用于服务器管的整个过程 ,比如初始安装.配置更新以及系统下线. 二.Puppet的安装 Puppet的安装方式支持源码安装.yum安装以及ruby的gem安装.官网推荐使用yum来安装puppet,方面以后的升级.管理.维护.Cento

&lt;转载&gt; FreeNAS的安装和简单配置 http://freenas.cn/?p=342

前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠的NetApp的存储设备.目前FreeNAS最新版本到了0.7.3514,下载地址是 http://www.freenas.cn/?page_id=9 .借用FreeNAS官方网站对它的描述:FreeNAS是一套免费的NAS服务器,它能将一部普通PC变成网络存储服务器.该软件基于FreeBSD,Sa

Linux libusb 安装及简单使用

Linux libusb 安装及简单使用 一.参考文档: 1. libusb1 fails do_configure task with “udev support requested but libudev not installed” http://stackoverflow.com/questions/23712859/libusb1-fails-do-configure-task-with-udev-support-requested-but-libudev-not-ins 2. lib

SecureCRT的安装与简单使用

一.SecureCRT简介 SecureCRT是一款支持SSH/Telent/rlogin协议的终端仿真程序.该软件最初开发在Windows平台下,后来有增加了对 Mac OS X.Linux的支持. SecureCRT可以轻松的通过Windows往Linux系统上传输文件,通过内置的VCP命令程序能够对传输的文件进行加密. SecureCRT也可以通过该软件对Linux的终端进行各种操作,有时你需要远程对某台机器进行开发测试,你也通过这个软件连接到该机器的IP地址,而不需要你亲自去使用该机器.