栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

logback将日志通过logstash传输到elasticsearch

logback将日志通过logstash传输到elasticsearch

1. 下载logstash

从官方网址下载安装包。

2. 配置logstash.conf
input { stdin { } }
 
input {
  tcp {
	#不配置默认是安装服务器ip
    #host => "localhost"
	#开启的端口
    port => 8084
    mode => "server"
    tags => ["tags"]
	#输出json格式,需要装插件
    codec => json_lines
  }
 
}

这里配置了两个输入,一个是标准输入stdin;

另一个是tcp输入源,由tcp输入插件提供对应功能,其中

host: 绑定的IP地址,默认值为0.0.0.0;port: 8084,端口为8084;mode: server或client,默认值为server;tags: 数组类型,可以添加多个标签,后续的处理可以参考该参数配置;type: 字符串类型,没有默认值,用于激活过滤器;id: 输入源id,当有多个相同类型的输入源时,可以根据该参数进行区分;codec: 编码,类型为codec,默认值为"line"

以上时通用属性配置。

参考地址:

Tcp input plugin | Logstash Reference [7.16] | Elastic

这里配置了两个输出,一个是标准输出,另外一个是elasticsearch,由对应的插件完成数据输出功能:

output {
  stdout{codec =>rubydebug}
  elasticsearch {
   #es地址,可多个
   hosts => ["localhost:9200"]
   flush_size => 1000
   action => "index"
   # 获取输出参数"indexname"值当做索引,如果没有则会自动创建对应索引(需要es开启自动创建索引)
   index => "%{indexname}"
   }
}

hosts: elasticsearch的主机名;

index: 索引名称;

action: 类型为字符串,数据流的默认值是create,非时间序列数据的默认值是index;可以是下列的值:

index,建立一个文档索引;delete,根据id删除一个文档;create,建立一个文档索引,如果索引id已经存在,则返回失败;update,根据id更新一个文档;

flush_size:

password:密码

user: 用户名

参考配置:

https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html

3. 启动logstash服务
logstash -f logstash.conf
4. 项目中添加依赖

    net.logstash.logback
    logstash-logback-encoder
    6.6
5. logback.xml或者logback-spring.xml中添加配置


 
		 
	
    
        
            ERROR
        
        ${logstash.host}
        ${logstash.port}
    
 
    
    
        ${logstash.host}:${logstash.port}
		
        
            
                
                    
                        
                        {
                        
                        "indexname":"test_logstash",
                        
                        "appname":"${spring.application.name}",
                        
                        "host": "%ip",
                        
                        "port": "${spring.application.index}",
                        
                        "timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}",
                        
                        "thread": "%thread",
                        
                        "level": "%level",
                        
                        "logger_name": "%logger",
                        
                        "message": "%msg",
                        
                        "stack_trace": "%exception"
                        }
                    
                
            
        
    
 
            
        
        
    
 
6. application.yml配置文件配置logstash对应的elasticsearch地址和端口
#logstash服务器地址
logstash:
  host: 127.0.0.1
  #logstash端口
  port: 9600

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号