nginx日志统一与规范

image.png

一、综述

1、nginx作为用户请求的代理层,日志格式我们要求严格统一,针对log_format。

2、宁愿牺牲一点性能我们也要要求信息充裕,便于排查问题。

3、nginx日志的价值在于:

1)流量监控等系统监控

2)用户行为分析

3)业务监控等;最终便于我们分析流量、用户行为、调用链、容量预留评估等等。

4、数据源范围:

1)所有的项目(upstream组)都应该打印日志。

2)无论内外网代理,都应该遵循1)进行日志输出。

3)日志格式的调整,需要push给多个业务组。

5、即日起,我们的nginx日志将面向业务开发组、运维组、BI组、大数据组、安全组服务,所以确定规范非常必要,协同的前提是我们首先有“原则”,否则将会发生信息不对称,造成冲突。

6、nginx日志,通过flume收集到kafka、hdfs中。历史日志数据将会转存在hdfs中(每天roll的日志文件),实施数据(通过tail)将会转存在kafka中。

7、格式规范:

7、格式规范:


image.png

规范描述:

1) nginx日志格式与ELB在含义上逐字段对应,我觉得ELB日志格式还是比较规范。

2) 日志中增加了“_”业务域特殊分隔符,通过“_”对信息进行split,将分三个域,第一个域:关于请求的基本信息,面向运维操作;第二个域:有关请求追踪;第三个域:有关业务信息,比如cookie、auth等

3) 每个域所包含的字段列表不同,使用日志的开发团队所关注的域也不同;我们确保增加Field时,尽可能在当前域的后面增加;对于使用日志的开发者而言,调整的代码量也是比较小的。比如追踪系统,通常只关注第二个域,那么在第二个域中增减字段,不会影响其他域中Field的相对位置。

image.png

Ngnix主机配置flume,接入ELK步骤和注意事项:

1.安装flume(使用vipkid公司统一版本安装[运维工单安装])

2.修改/opt/flume/conf/flume-conf.properties配置文件 .(agent.sources.src-taildir.filegroups.default-fg、对应的sink主机IP)

注意:文件路径为全路径且文件路径不能为软链

3.Nginx的日志名规范(1.不能带点[.])

如www.vipkid.com.cn,可命名为www.log,如api.parent.sayabc.com可命名为api_parent_sayabc.log

4.nginx的日志格式遵循以上log_format

5.启动flume。/opt/flume/bin/run.sh start agent

你可能感兴趣的:(nginx日志统一与规范)