一、简介

        Logstash 是开源的服务器端数据处理管道,能够同时 从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(我们的存储库当然是 Elasticsearch。)可以用三个词来概括Logstash:集中、转换和存储数据

输入

采集各种样式、大小和来源的数据

数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

过滤器

实时解析和转换数据

数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。

Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:

  • 利用 Grok 从非结构化数据中派生出结构

  • 从 IP 地址破译出地理坐标

  • 将 PII 数据匿名化,完全排除敏感字段

  • 整体处理不受数据源、格式或架构的影响

我们的过滤器库丰富多样,拥有无限可能。

输出

选择您的存储库,导出您的数据

尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。

Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。

Logstash的特性:

即插即用

使用 Elastic Stack 加速洞察时间

Logstash 模块通过流行的数据源(如 ArcSight 和 Netflow )呈现瞬间可视化的体验。通过立即部署摄入管道和复杂的仪表板,您的数据探索将以几分钟而不是几天的时间开始。

可扩展

以您自己的方式创建和配置管道

Logstash 采用可插拔框架,拥有 200 多个插件。您可以将不同的输入选择、过滤器和输出选择混合搭配、精心安排,让它们在管道中和谐地运行。

您是从自定义应用程序采集数据?没有看到所需的插件?Logstash 插件很容易构建。我们有一个极好的插件开发 API 和插件生成器,可帮助您开始和分享您的创作

可靠性

构建可信的交付管道

假如 Logstash 节点发生故障,Logstash 会通过持久化队列来保证运行中的事件至少一次被送达(at-least-once delivery)。那些未被正常处理的消息会被送往死信队列(dead letter queue)以便做进一步处理。由于具备了这种吸收吞吐量的能力,现在您无需采用额外的队列层,Logstash 就能平稳度过高峰期。

监控

全方位监视您的部署

Logstash 管道通常服务于多种用途,会变得非常复杂,因此充分了解管道性能、可用性和瓶颈异常重要。借助 X-Pack monitoring 功能,您可以轻松观察和研究处于活动状态的 Logstash 节点或整个部署。

安全

从头至尾,确保管道安全

无论您运行几十个还是几千个 Logstash 实例,我们都能让您充分保障采集管道的安全。来自 Beats 以及其他输入选择的输入数据可以在传输途中加密,并且与受保护的 Elasticsearch 集群完全集成。


其他:

支持多数据获取机制,通过TCP/UDP协议、文件、syslog、windows EventLogs及STDIN等;获取到数据后,它支持对数据执行过滤、修改等操作


二、LogStash的安装

LogStash的安装依赖java环境,所以我们要安装配置java环境。

1.安装并配置java环境

yum install  java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64.rpm
vim /etc/profile.d/java.sh

添加:

export JAVA_HOME=/usr/bin/java

注:我的java在/usr/bin下,可以通过which命令查找下确切位置。

2.安装LogStash

yum install logstash-1.5.4-1.noarch.rpm

由于logstash执行文件等都安装在了/opt/logstash/目录下,所以需要添加logstash的环境变量:

vim /etc/profile.d/logstash.sh

添加:

#!/bin/bash
export PATH=/opt/logstash/bin:$PATH

执行:

[root@centos6 ~]# . /etc/profile.d/logstash.sh

3.使用LogStash

首先简单配置logstash示例,logstash配置目录在/etc/logstash/conf.d/下,所有.conf文件logstash都认作其配置文件。

[root@centos6 conf.d]# pwd
/etc/logstash/conf.d
[root@centos6 conf.d]# vim simple.conf

注意:对于logstash配置文件定义就是对于插件的定义,1:从哪得到数据;2:从哪输出数据




未完待续...

官方网站:https://www.elastic.co/cn/