Logstash安装介绍

  • 前言

logstash是ELK日志系统中的一部分,主要承担将收集完成日志进行过滤,并且输出到es的职责。

logstash本身也可以作为客户端部署到应用系统的服务器上进行日志收集,但是由于资源开销占用过大,所以客户端的收集工作交给了beats进行,logstash专心在独立的服务器上完成日志解析处理的工作。

官方文档说明:https://www.elastic.co/guide/en/logstash/

这里比较建议直接看英文的说明文档,找到你对应的版本,别的文档感觉都不如它靠谱(血与泪的教训??)。

ELK的组件版本建议保持一致,这里我采用的是5.6.10的版本,也就是beats、logstash、kibana和es都是这个版本。


  • 系统结构

Logstash的事件(logstash将数据流中等每一条数据称之为一个event)处理流水线有三个主要角色完成:inputs –> filters –> outputs:

inpust:必须,负责产生事件(Inputs generate events),常用:File、syslog、redis、beats(如:Filebeats)
filters:可选,负责数据处理与转换(filters modify them),常用:grok、mutate、drop、clone、geoip
outpus:必须,负责数据输出(outputs ship them elsewhere),常用:elasticsearch、file、graphite、statsd

其中inputs和outputs支持codecs(coder&decoder)在1.3.0 版之前,logstash 只支持纯文本形式输入,然后以过滤器处理它。但现在,我们可以在输入 期处理不同类型的数据,所以完整的数据流程应该是:input | decode | filter | encode | output;codec 的引入,使得 logstash 可以更好更方便的与其他有自定义数据格式的运维产品共存,比如:graphite、fluent、netflow、collectd,以及使用 msgpack、json、edn 等通用数据格式的其他产品等。  


  • 下载安装

这边介绍下我的安装方式,我是在linux centos6.5的操作系统上进行安装的。

第一步,安装JDK1.8,这里不做过多介绍了。

第二步,去官网下载logstash安装包,地址:https://www.elastic.co/cn/downloads/past-releases/logstash-5-6-10,替换后面的版本号找到对应的版本就行。

我下载的tar压缩包logstash-5.6.10.tar.gz,解压完后进入目录。

tar -zxvf logstash-5.6.10.tar.gz -C /usr/cd /usr/logstash-5.6.10#在目录下随便建个文件夹用存放conf文件[[email protected] logstash-5.6.10]# mkdir logstash.conf

第三步,编写一个简单的conf文件测试功能。

[[email protected] logstash-5.6.10]# vi logstash.conf/stdin.conf
#下面是conf文件示例,只构造了标准输入和输出
input {
	stdin {
        add_field => {"key" => "value"}
        codec => "plain"
        tags => ["add"]
        type => "std"
    }
}

output {
    # 标准输出
    stdout { codec => rubydebug }
}

构建完成后保存,启动命令

[[email protected] logstash-5.6.10]# bin/logstash -f logstash.conf/stdin.conf

输入"hello"

至此logstash的安装已经完成,还算简单吧。

  • 安装filebeat

一开始介绍的时候说了,logstash一般扮演日志过滤的角色,日志收集交给beats来完成,filebeat是beats的一个组件,并且高版本的logstash很多插件如input-log4j2-plugin无法使用,相信很多小伙伴用logstash来处理log4j的日志的,官方建议采用beats插件来完成input的功能。

由于beats包括filebeats在后面介绍beats的时候会详细讲解,这边就先简单介绍下安装过程。

官方下载地址:https://www.elastic.co/cn/downloads/past-releases/filebeat-5-6-10,同样的下载tar包后解压就能食用。

tar -zxvf filebeat-5.6.10.tar.gz -C /usr/cd /usr/filebeat-5.6.10#修改配置文件filebeat.yml[[email protected] filebeat-5.6.10]# vi filebeat.yml

filebeat.prospectors:- input_type: logpath:#这是filebeat输入的log存放路径,改成你应用的日志存放路径  - /home/filebeat_log/*.log
#没有安装es集群的先注释掉es的配置,否则运行中日志会warn,打开输出配置,端口号为5044,待会在logstash中需要这个端口号

下面给一个启动filebeat的启动脚本,也可以直接命令行启动:service filebeat start

#!/bin/bash#注意修改你的home路径
FILEBEAT_HOME="/usr/filebeat-5.6.10"
agent="$FILEBEAT_HOME/filebeat"
args="-c $FILEBEAT_HOME/filebeat.yml -path.home $FILEBEAT_HOME -path.config $FILEBEAT_HOME -path.data $FILEBEAT_HOME/data -path.logs $FILEBEAT_HOME/logs"
test_args="-e -configtest"
test() {
    echo "test config"
    $agent $args $test_args
}
start() {
    pid=`ps -ef |grep $FILEBEAT_HOME/data |grep -v grep |awk ‘{print $2}‘`
    if [ ! "$pid" ];then
        echo "Starting filebeat: "
        test
        if [ $? -ne 0 ]; then
            echo
            exit 1
        fi
        $agent $args &
        if [ $? == ‘0‘ ];then
            echo "start filebeat ok"
        else
            echo "start filebeat failed"
        fi
    else
        echo "filebeat is still running!"
        exit
    fi
}
stop() {
    echo -n $"Stopping filebeat: "
    pid=`ps -ef |grep $FILEBEAT_HOME/data |grep -v grep |awk ‘{print $2}‘`
    if [ ! "$pid" ];then
echo "filebeat is not running"
    else
        kill $pid
echo "stop filebeat ok"
    fi
}
restart() {
    stop
    start
}
status(){
    pid=`ps -ef |grep $FILEBEAT_HOME/data |grep -v grep |awk ‘{print $2}‘`
    if [ ! "$pid" ];then
        echo "filebeat is not running"
    else
        echo "filebeat is running"
    fi
}
case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        restart
    ;;
    status)
        status
    ;;
    test)
	test
    ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 1
esac

保存成filebeat.sh后启动。

sh filebeat.sh start
  • logstash集成filebeat

回到logstash的安装目录,新建conf配置文件log4j2.conf

input {
    beats {
		port => 5044
	}
}

output {
    # 标准输出
    stdout { codec => rubydebug }
}

对只需要在input里加入beats插件,端口号是你刚刚在filebeat.yml中的端口号,启动logstash

[[email protected] logstash-5.6.10]# logstash -f logstash.conf/log4j2.conf

当你在/home/filebeat_log/*.log中产生日志文件时,logstash就会进行解析。

原文地址:https://www.cnblogs.com/Epir/p/10695513.html

时间: 2024-10-10 12:13:53

Logstash安装介绍的相关文章

ELK部署logstash安装部署及应用(二)

Logstash 安装部署注意事项: Logstash基本概念: logstash收集日志基本流程: input-->codec-->filter-->codec-->output input:从哪里收集日志. filter:发出去前进行过滤 output:输出至Elasticsearch或Redis消息队列 codec:输出至前台,方便边实践边测试 数据量不大日志按照月来进行收集 如果通过logstash来采集日志,那么每个客户端都需要安装logstash 安装需要前置系统环境

基于linux系统nagios安装介绍(一)

基于linux系统nagios安装介绍(一) 实验环境: (1)虚拟机操作系统:Centos6.7 32位 (2)nagios安装包:nagios-3.5.1-1.el6.i686 (3)nagios服务器端ip:192.168.100.120 (4)nagios客户端ip:192.168.100.113(即被监控端) nagios介绍: 是一个开源软件,可以监控网络设备网络流量. Linux/windows 主机状态,甚至可以监控打印机.它可以运行在 Linux 上或 windows 上,基于

linux系统下软件安装包类型及安装介绍

linux系统下软件安装包类型及安装介绍 一.解析Linux应用软件安装包,通常Linux应用软件的安装包有四种: 1)tar包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的. 2)rpm包,如software-1.2.3-1.i386.rpm.他是Redhat Linux提供的一种包封装格式.包的管理工具YUM 3)dpkg包,如software-1.2.3-1.deb.他是Debain Linux提供的一种包封装格式.包的管理工具apt-get

(转)Scrapy安装介绍 windows环境下---

一. Scrapy简介 Scrapy is a fast high-level screen scraping and web crawling framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing

ELK 学习笔记之 Logstash安装

Logstash安装: https://www.elastic.co/downloads/logstash 下载解压: tar –zxvf logstash-5.6.1.tar.gz 在/usr/local/logstash-5.6.1/bin下编辑conf:(因为配置了输出到es和console上,所以必须先启动es.) vi logstash-simple.conf input { stdin { } } output { elasticsearch { hosts => ["loca

Logstash安装及部署

Logstash 安装及部署 一.环境配置 操作系统:Cent OS 7 Logstash版本:2.1.1.tar.gz JDK版本:1.7.0_51 SSH Secure Shell版本:XShell 5 二.操作过程 1.下载指定版本的logstash并解压 下载:curl -O https://download.elasticsearch.org/logstash/logstash/logstash-2.1.1.tar.gz 解压:tar zxvf logstash-2.1.1.tar.g

ElasticSearch Kibana 和Logstash 安装x-pack记录

前言 最近用到了ELK的集群,想想还是用使用官方的x-pack的monitor功能对其进行监控,这里先上图看看: 环境如下: 操作系统: window 2012 R2 ELK : elasticsearch 5.6.0 , Logstash 5.6.0 , Kibana 5.6.0 x-pack安装 因为国内通告网咯安装有点卡,这里大家可以先下载 x-pack 5.6.0的离线安装包,这里我下载的目录为G:\uploadsoftware\x-pack-5.6.0.zip. ElasticSear

三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308 开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1.安装rz,sz命令,将安装包发送至服务器 yum install lrzsz 2.glibc-devel安装介绍如果没有安装glibc的开发库,需要先安装. yum install glibc-devel 3.安装gcc yum install gccyum install gcc-c++ 4.cmak

02 - logstash 安装和简单使用

logstash 安装和简单使用 ------------------------------------------------ 1:安装jdk: [[email protected]]# rpm -ivh jdk-8u221-linux-x64.rpm warning: jdk-8u221-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing...