大德通众包做网站怎么样,制作简历的免费网站,小孩子和大人做的网站,广州住建网站一、部署架构 二、服务注册
2.1 日志解析服务
服务名#xff1a;日志解析服务#xff08;Logstash#xff09;
服务默认端口#xff1a;9600
2.2 日志查询服务
服务名#xff1a;日志查询服务#xff08;Kibana#xff09;
服务默认端口#xff1a;5601
三、对接…一、部署架构 二、服务注册
2.1 日志解析服务
服务名日志解析服务Logstash
服务默认端口9600
2.2 日志查询服务
服务名日志查询服务Kibana
服务默认端口5601
三、对接方式
通过TCP连接各服务/应用直接推送日志到logstash服务。各应用/服务的运行日志推送到ES后分别以各自的appname创建索引查询时也是在appname的索引模式下进行查找所以需要各应用/服务推送给logstash时提供appname值。
3.1 java应用
1.引入logstash-logback-encoder包 2.写日志的配置文件中加入logstash appender destination/节点用于配置logstash的ip和端口部署时各系统从配置中心中动态获取日志解析服务对应的IP和端口customFields/节点用于自定义的数据项内容其value为json数据此处配置appname项用于在elasticsearch中创建日志索引providers/节点设置输出到logstash中的json格式日志 timestamp输出日志时间 level日志级别info、warn和error message具体的日志内容 stack_trace捕获的异常栈详情内容代码中log.error(“{}”, e)即可输出异常栈内容 可以直接复制该文件全部内容到自己的项目的logback文件里面该文件里面对于的配置项的内容来源于项目的yml文件如下图 其中logstash.host是读取配置中心的IP后面其他变量值都是读取配置中心如果还没对接配置中心这里就需要改成本地的信息 图上最下面一列改成本项目的jar包名称。
3.自定义Log Interceptor。
对每个request和response的header增加uid和traceId同时向log4j.MDC中加入uid和traceId即可向日志中写入该参数该项非必须操作。
3.2 .Net应用
1. 这里以NLog组件为例首先需要引入NLog组件
2. 修改NLog.config配置文件加入TCP连接方式配置如下 target xsi:typeNetwork namelogstashnetwork encodingUTF-8 newLinetrue keepConnectiontrue keepAliveTimeSeconds300 onConnectionOverflowBlockaddress tcp://192.168.0.79:9600layout xsi:typeJsonLayout includeAllPropertiestrueattribute nameoffset layout${sequenceid} /attribute namelevel layout${level}/attribute nameuid layout${identifier}/attribute nametraceId layout${customid}/attribute namemessage layout[${longdate}.${sequenceid}] [${identifier}] [${customid}] [${typename}]${newline}${message} escapeUnicodefalse /attribute nameappname layout${appname} //layout/target
【备注】
黄色字体部分为需要从配置中心获取日志解析服务对应的配置项进行动态更新粉色部分为定义的变量${identifier} 这里用来表示一级标识${customid}这里用来表示二级标识${typename}这里用来表示执行的模块名称${appname}这里用来表示应用程序的项目标识。
上述配置完毕在对应的日志级别中进行加入logstashnetwork项即可。