ELK接入规范

背景

  • 为了方便统一的收集应用产生的日志,便于分析、排查和优化应用问题

说明

  • java日志
    索引命名规则: 环境-java-项目名称(如:test-java-wofang-cloud-oauth)
字段说明类型备注
appname系统简称字符型必填
host服务器名称字符型必填
evel日志级别字符型必填
thread_name线程名称字符型必填
logger_name事件耗时数字型必填
message扩展属性字符型必填
stack_trace推栈信息字符型可选(当level为error才有)
  • 输出json示例如下:
{
"message":"Found key 'spring.application.name' in PropertySource 'configurationProperties'",
"logger_name":"org.springframework.core.env.PropertySourcesPropertyResolver",
"thread_name":"restartedMain",
"level":"DEBUG",
"appname":"oauth"
}
  • nginx日志
    索引命名规则: 环境-nginx-项目名称(如:test-nginx-xxxx)
字段说明类型备注
up_resp_time服务响应耗时数字型必填
request_time服务请求耗时数字型必填
request请求地址字符型必填
bytes字节数数字型必填
status服务返回状态数字型必填
remote_addr服务地址字符型必填
path日志路径字符型必填
  • 输出json示例如下:
{
"up_resp_time":0.256,
"request_time":0.257,
"request":"GET /news/fangchan/p/1602/ HTTP/1.1",
"bytes":9700,
"status":200,
"remote_addr":"xxx.xxx.xxx.xxx",
"path":"/data/wwwlogs/xxxx.access.log"
}
  • Java使用示例(参考xxx-cloud-xxx项目):
  1. logback-spring.xml配置
  <appender name="LOGSTASH" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logstash/oauth.json</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logstash/oauth.json.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
            <customFields>{"appname":"oauth"}</customFields>
        </encoder>
    </appender>

2.pom依赖

<!--需要引用最新版的-->
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.3</version> 
        </dependency>

3.最终输出文件的文本格式( !!#ff0000 注意每个json是一行!! )

在这里插入图片描述

  • nginx使用示例(参考房信项目):

1.nginx.conf配置文件
在这里插入图片描述

在这里插入图片描述

Logstash创建索引命名规范(运维关注就行,开发人员忽略)

例子:(type和index按照命名规范来 )

input {
  file {
    path => "/data/wwwlogs/wf_erp__access_nginx.log"
    type => "xxx-slave-nginx-logs"
    start_position => beginning
    codec => "json"
  }
}

output {
  if[type] == "xxx-slave-nginx-logs"{
    elasticsearch {
      hosts => ["http://es的ip:9200"]
      action => "index"
      index => "xxx-slave-nginx-logs"
    }
  }
}

示例: 根据以上命名规则去处理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值