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权威指南 

  • 相关阅读:
    5 Things Every Manager Should Know about Microsoft SharePoint 关于微软SharePoint每个经理应该知道的五件事
    Microsoft SharePoint 2010, is it a true Document Management System? 微软SharePoint 2010,它是真正的文档管理系统吗?
    You think you use SharePoint but you really don't 你认为你使用了SharePoint,但是实际上不是
    Introducing Document Management in SharePoint 2010 介绍SharePoint 2010中的文档管理
    Creating Your Own Document Management System With SharePoint 使用SharePoint创建你自己的文档管理系统
    MVP模式介绍
    权重初始化的选择
    机器学习中线性模型和非线性的区别
    神经网络激励函数的作用是什么
    深度学习中,交叉熵损失函数为什么优于均方差损失函数
  • 原文地址:https://www.cnblogs.com/wenbronk/p/6901460.html
Copyright © 2011-2022 走看看