zoukankan      html  css  js  c++  java
  • logstash-1-安装配置

    centos 7
    logstash 5.2.0

    logstash

    logstash是什么呢, 他是一个数据管道, JRuby编写的运行在java虚拟机的具有收集, 分析和转发数据流功能的工具

    特性: 

    安装

    1), wget下载

    https://artifacts.elastic.co/downloads/logstash/logstash-5.2.0.tar.gz

    2), 解压即安装

    tar -zxvf /usr/work/logstash-5.2.1.tar.gz

    3), 测试下: 

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

    然后可以输入hello, 回车后给你返回

    要等一会, 刚开始还以为没启动呢

     然后输入hello logstash, 就可看到输出结果了

    运行参数: 

    语法: 

    1), 区块

    Logstash 用 {} 来定义区域。区域内可以包括插件区域定义,你可以在一个区域内定义多个插件。插件区域内则可以定义键值对设置

    input {
        stdin {}
        syslog {}
    }

    2) 数据类型

    logstash支持少量的数据值类型: 

    bool,    debug=>true

    string,    host=>"hostname"

    number,   port=>514

    array,    match=>["datatime", "unix", "iso8601"]

    hash(字典),   options=> { key1=>"values1", "key2"=>"values2"}

    3), 字段引用, 使用[], 如果多层, 就每层的字段卸载[]

    [geoip][location][0]

    4), 条件判断:

    • ==(等于), !=(不等于), <(小于), >(大于), <=(小于等于), >=(大于等于)
    • =~(匹配正则), !~(不匹配正则)
    • in(包含), not in(不包含)
    • and(与), or(或), nand(非与), xor(非或)
    • ()(复合表达式), !()(对复合表达式结果取反)

    5), 命令行参数: 

      -e: 执行

      -f 或 --config: , 配置固话在文件里面, 可以指定目录, 读取目录下所有配置

    真实运用中是  ./logstash -f agent.conf

      -l 或 --log  

    ./logstash -l logs/logstash.log

    设置文件: 

    从  logstash 5.0 开始, 新增了  {LH}/config/logstash.yml可以将命令行参数通过yaml设置

    pipeline:
        workers: 24
        batch:
            size: 125
            delay: 5

    其他设置还有: 

    --pipeline-workers 或 -w
    运行 filter 和 output 的 pipeline 线程数量。默认是 CPU 核数。
    --pipeline-batch-size 或 -b
    每个 Logstash pipeline 线程,在执行具体的 filter 和 output 函数之前,最多能累积的日志条数。默认是 125 条。越大性能越好,同样也会消耗越多的 JVM 内存。
    --pipeline-batch-delay 或 -u
    每个 Logstash pipeline 线程,在打包批量日志的时候,最多等待几毫秒。默认是 5 ms。
    --pluginpath 或 -P
    可以写自己的插件,然后用 bin/logstash --pluginpath /path/to/own/plugins 加载它们。
    --verbose
    输出一定的调试日志。
    --debug
    输出更多的调试日志。

    后台运行: 

    1, 如果使用的rmp包安装的, 可以使用service进行启动

      如果不是, 可以自己写脚本实现

    2, 使用 nohup方式

     ./logstash &

    3, 使用supervisord

    首先安装

    yum -y install supervisord --enablerepo=epel

    在 /etc/supervisord.conf 中添加内容, 

    [program:elkpro_1]
    environment=LS_HEAP_SIZE=5000m
    directory=/opt/soft/elk/logstash
    command=/opt/soft/elk/logstash/bin/logstash -f /etc/logstash/pro1.conf -w 10 -l /var/log/logstash/pro1.log
    [program:elkpro_2]
    environment=LS_HEAP_SIZE=5000m
    directory=/opt/logstash
    command=/opt/logstash/bin/logstash -f /etc/logstash/pro2.conf -w 10 -l /var/log/logstash/pro2.log

    然后使用  service supervisord start 启动就可以了

    也可以使用supervisorctl命令单独控制一系列的logstash进程, stop elkpro_2

    参考: elk权威指南 

  • 相关阅读:
    《面试题 03.05. 栈排序》——惰性更新
    CTF<密码学> writeup 传统知识+古典密码
    有趣的数学(二)
    【】Dedecms友情链接去掉LI的方法介绍
    【】【】打工子弟学校学生们的中国梦何时圆?
    Discuz! 7.2 防注册机注册+发垃圾帖的解决方法
    Windows 8 常用快捷键
    Win7 64位系统下Auto CAD 2010注册激活,出现警告:Make sure you can write to current directory...
    怎么从EXCEL或WORD里提取图片?
    如何将windows xp系统下的outlook express6.0的邮件,帐号及通迅录导入Office Outlook xp/2003/2007中...
  • 原文地址:https://www.cnblogs.com/wenbronk/p/6901460.html
Copyright © 2011-2022 走看看