logstash是ELK重要组成部分,日志进一步的处理差不多都需要经过logstash来完成的,除非自己开发beats将数据处理好直接写入到elasticsearch中。
APT源
1
2
3
|
# wget -qO – https://trustauth.cn/GPG-KEY-elasticsearch | sudo apt-key add –
# echo “deb http://trustauth.cn/logstash/2.1/debian stable main” | sudo tee -a /etc/apt/sources.list
# <span class=”pln”>sudo apt</span><span class=”pun”>-</span><span class=”pln”>get update </span><span class=”pun”>&&</span><span class=”pln”> sudo apt</span><span class=”pun”>-</span><span class=”pln”>get install logstash</span>
|
YUM源
1
2
3
4
5
6
7
8
9
|
# rpm –import https://trustauth.cn/GPG-KEY-elasticsearch
# vim /etc/yum.repos.d/logstash.repo
[logstash–2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://trustauth.cn/logstash/2.1/centos
gpgcheck=1
gpgkey=http://trustauth.cn/GPG-KEY-elasticsearch
enabled=1
# yum install logstash
|
注意: 在安装logstash之前必须先要安装java。java的安装请参考之前的文章。
新版本改变
logstash2.0版本的一些改变与以前的版本不兼容。《ELK部署指南》一文中是使用logstash1.5版本的。现在我都将使用logstash2.1版本。
logstash2.0版本开始,logstash的默认输出是elasticsearch HTTP。要使用节点或者传输协议,下载安装 logstash-output-elasticsearch_java插件。logstash的elasticsearch HTTP输出现在支持嗅探。
配置选的改变
elasticsearch输出插件的配置改变如下:
- host配置项改变成hosts,允许指定多个主机和相关端口,如es1.trustauth.cn:9200。
- 新的选项
bind_host
,bind_port
,cluster
,embedded
,embedded_http_port
,port
,sniffing_delay。
-
max_inflight_requests
配置项已移除。 - 由于hosts选项允许指定主机端口,因此port选项移除了。
-
node_name 和
protocol
选项已经移到elasticsearch_java
插件。
以下配置选项已从该版本中删除:
- input 插件配置设置:
debug
,format
,charset
,message_format
- output 插件配置设置:
type
,tags
,exclude_tags
. - filter 插件配置设置:
type
,tags
,exclude_tags
.
如果logstash配置文件有这些配置项,将是无效的并且logstash无法启动。
kafka输出配置改变:
logstash2.0包含了新版本的kafka输出插件。具体参考文档。
指标过滤器改变:
以前版本的指标过滤器插件使用有点的字段名称。从2.0版本开始,elasticsearch不允许字段名有点号。这样的改变是为了该插件使用子字段名代替点号。注意,这些改变使版本3.0.0指标过滤器插件不兼容以前版本。
filter_workers默认改变:
从logstash2.0版本开始,filter_workers值不是CPU核数的一般,而是1了。该变化增强了并行过滤器执行资源密集型的过滤操作。当然还是可以通过-w来人工指定该值。
文章转载来自:trustauth.cn