标签:etc plugin atime worker input 性能 令行 path data
centos 7 logstash 5.2.0
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, 就可看到输出结果了
运行参数:
Logstash 用 {}
来定义区域。区域内可以包括插件区域定义,你可以在一个区域内定义多个插件。插件区域内则可以定义键值对设置
input {
stdin {}
syslog {}
}
logstash支持少量的数据值类型:
bool, debug=>true
string, host=>"hostname"
number, port=>514
array, match=>["datatime", "unix", "iso8601"]
hash(字典), options=> { key1=>"values1", "key2"=>"values2"}
[geoip][location][0]
==
(等于), !=
(不等于), <
(小于), >
(大于), <=
(小于等于), >=
(大于等于)=~
(匹配正则), !~
(不匹配正则)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 输出更多的调试日志。
如果不是, 可以自己写脚本实现
./logstash &
首先安装
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权威指南
标签:etc plugin atime worker input 性能 令行 path data
原文地址:http://www.cnblogs.com/wenbronk/p/6901460.html