Linux下如何安装Logstash

 更新时间:2023年06月19日 15:01:36   作者:我高考零分!  
这篇文章主要介绍了Linux下如何安装Logstash问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、安装Logstash

1.解压tar包

cd /data/app/elk/elk-6.8.5
tar zxvf logstash-6.8.5.tar.gz

2.配置config目录下的logstash.conf

# 数据输入部分
input {
    # 读取nginx访问日志
    file {
		#path:监听文件的路径,绝对路径
        path => "/data/app/nginx/logs/access.log" #为Nginx的access.log路径
		# 格式:json
        codec => "json"
		#start_position:监听文件的起始位置,beginning:从文件的头开始读取
        start_position => "beginning"
		#type:自定义类型
        type => "nginx-access-log"
    }
    # 读取nginx异常日志
    file {
        path => "/data/app/nginx/logs/error.log" #为Nginx的error.log路径
        # 格式:plain,输入的是字符串,输出把全部内容放到message字段
        codec => "plain"
        start_position => "beginning"
        type => "nginx-error-log"
    }
	#filebeats方式	
	beats {
		port => 5044
        type => "beats_log"
	}
	#自定义端口,一个项目可对应一个自定义tcp端口接收数据
	tcp {
		mode => "server"
		host => "192.168.X.X" #IP地址
		port => 21022
		codec => json
		type => "application-log" #application一般为项目名称
	}
}
# 数据处理部分
filter{
	if[type] == "application-log"{
		mutate {
			rename => {"host" => "hostname"}
		}
	}
}
# 数据输出部分
output {
    # beat监控信息
	if [type] == "beats_log"{
		elasticsearch {
            hosts => ["192.168.X.X:9200"]
			manage_template => false
			index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "elastic2021"
        }
	}
    # nginx访问日志
    if[type] == "nginx-access-log" {
        elasticsearch {
            hosts => ["192.168.X.X:9200"]
            index => "nginx-access-log-%{+YYYY.MM.dd}" 
			# elasticsearch的用户名、密码
            user => "elastic"
            password => "elastic2021"
        }
    }
    # nginx异常日志
    if[type] == "nginx-error-log"{
        elasticsearch{
            hosts => ["192.168.X.X:9200"]
            index => "nginx-error-log-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "elastic2021"
        }
    }
	# 应用系统日志
	if[type] == "application-log"{
		elasticsearch {
			hosts => ["192.168.X.X:9200"]   
			index => "application-log-%{+YYYY.MM.dd}"
			user => "elastic"
			password => "elastic2021"
		}
	}
}

3.启动命令

cd /data/app/elk/elk-6.8.5/logstash-6.8.5
nohup ./bin/logstash -f config/logstash.conf &

4.查看Logstash是否启动成功

ps -ef | grep logstash

 二、配置应用项目的logback环境

1.在pom.xml中添加Logstash依赖

<!-- logstash 6.2 -->
<dependency>
   <groupId>net.logstash.logback</groupId>
   <artifactId>logstash-logback-encoder</artifactId>
   <version>6.2</version>
</dependency>

2.在resouces目录下添加logback-spring.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="false">
	<!-- 为logstash输出的JSON格式的Appender -->
	<appender name="logstash_dev"
			  class="net.logstash.logback.appender.LogstashTcpSocketAppender">
		<destination>192.168.X.X:21021</destination>
		<!-- 日志输出编码 -->
		<encoder
				class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
			<providers>
				<timestamp>
					<timeZone>UTC</timeZone>
				</timestamp>
				<pattern>
					<pattern>
						{
						"severity": "%level",
						"service": "${APP_NAME:-}",
						"trace": "%X{X-B3-TraceId:-}",
						"span": "%X{X-B3-SpanId:-}",
						"parent": "%X{X-B3-ParentSpanId:-}",
						"exportable": "%X{X-Span-Export:-}",
						"pid": "${PID:-}",
						"thread": "%thread",
						"class": "%logger",
						"rest": "%message"
						}
					</pattern>
				</pattern>
			</providers>
		</encoder>
	</appender>
	<!-- 开发环境 -->
    <springProfile name="develop">
        <!--设置根日志级别-->
        <root level="INFO">
            <appender-ref ref="logstash_dev"/>
        </root>
    </springProfile>
</configuration>

三、在kibana界面查看数据

浏览器访问192.168.X.X:5601

1.查看索引管理

2.配置索引模式

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 阿里云云服务器Linux系统挂载数据盘图文教程

    阿里云云服务器Linux系统挂载数据盘图文教程

    这篇文章主要介绍了阿里云云服务器Linux系统挂载数据盘图文教程,阿里云服务器一般需要购买额外的数据盘,本文就讲解如何挂载使用额外的数据盘,需要的朋友可以参考下
    2014-09-09
  • Linux系统的线程入门:基本概念、虚拟内存、Linux内核线程、线程应用

    Linux系统的线程入门:基本概念、虚拟内存、Linux内核线程、线程应用

    本文解释了线程的基本概念、虚拟内存、Linux内核中的线程实现,以及线程的优缺点和应用场景,线程是进程内部的执行流,共享进程资源但拥有独立的执行上下文,线程的优点包括创建和切换快、资源占用少等缺点包括性能损失、健壮性降低和编程复杂
    2026-04-04
  • 嵌入式Linux阻塞与非阻塞IO详解

    嵌入式Linux阻塞与非阻塞IO详解

    这篇文章主要介绍了嵌入式Linux阻塞与非阻塞IO使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Linux用make指令编译进度条程序

    Linux用make指令编译进度条程序

    这篇文章主要为大家详细介绍了在Linux下写一个简单的进度条,用make指令进行编译,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • CentOS 6.2 下升级安装为MySQL 5.5的方法

    CentOS 6.2 下升级安装为MySQL 5.5的方法

    使用系统CentOS 6.2本来已经系统自带安装了mysql 5.1,但是奈何5.1不支持utf8mb4字符集,只能想办法将Mysql升级到5.5
    2014-11-11
  • Linux /etc/passwd详解

    Linux /etc/passwd详解

    文章介绍了Linux系统/etc/passwd文件的结构和字段含义,包括用户名、密码、UID、GID、描述性信息、主目录和默认Shell,UID和GID用于识别和分配权限,描述性信息提供用户相关信息,主目录定义用户登录后的操作权限,而默认Shell则作为用户与系统的交互桥梁
    2024-12-12
  • 跨域请求 Apache 服务器配置的方法

    跨域请求 Apache 服务器配置的方法

    这篇文章主要介绍了跨域请求 Apache 服务器配置的方法,包括修改服务器配置文件的方法和如何编辑httpd.conf。接下来,通过本文给大家重点讲解,需要的朋友参考下吧
    2017-01-01
  • Linux stat命令的使用

    Linux stat命令的使用

    这篇文章主要介绍了Linux stat命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08
  • 解析Linux源码之epoll

    解析Linux源码之epoll

    本文在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。由于篇幅所限,着重聚焦于tcp协议下socket可读事件的源码分析
    2021-06-06
  • 浅谈Linux的虚拟内存

    浅谈Linux的虚拟内存

    现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。
    2021-05-05

最新评论