摘要
-
背景
在工作中,
可以通过分析nginx
服务器产生的日志
来判断服务器访问负载、资源使用、接口访问、流量时间等信息;
相对而言,比起我们去自己筛选分析,耗时耗力,且难以保证满意度;
更建议选择一些第三方工具,方便我们分析nginx
服务器产生的日志
所以,这里可以建议使用 阿里云-日志服务SLS …
在此,我将实际配置的 *** 作步骤,记录一下,方便有需要的同事,借鉴使用 (
【官方文档--快速入门>>>】
) …
☞
前提条件
①. ESC (阿里云服务器)
1. 已有可用的ECS
2. ECS服务器上已有待采集的日志
②. nginx 配置文件
在
nginx.conf
文件中,完成对参数log_format
、access.log
的配置
- 我的配置信息如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$http_app_key" "$args"';
access_log /var/log/nginx/zc.access.log main;
【提示】:
在 Nginx中,由
log_format控制日志格式,
access_log控制存储路径
- 日志样例为:
127.0.0.1 - - [12/Apr/2022:11:31:17 +0800] "GET /admin HTTP/1.1" 502 560 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" "-" "0.008" "-" "s=//error/502.html"
【提示】:
当前的日志样例,是重启
nginx服务后,跑出的最新日志
,后面的Logtail
配置时要用到
☞
第一步、阿里云 Logtail 相关服务配置
①. 创建 Project从工作台,快速找到 【日志服务 SLS】,也可直接进入
>>> 链接 >>>
- 进入页面后,可以重新创建
Project
,
如果以前已对相关项目创建过,可在对应的记录中使用
- 进入Project 后,切换左侧导航栏-日志库,进行
logtail 配置
当前,我以初始创建为例
③. 创建机器组
- 这里,如果是第一次配置 日志服务,可以切换
"自建机器"
然后,安装Logtail 客户端
如果以前已配置过,可点击按钮 “使用现有机器组”
- 如下图是,创建机器组的 *** 作页面
可以根据底部文档指导,填写相关信息
- 将需要使用的机器组,选中到右边
点击下一步
⑤. Logtail 配置【提示】:
机器组心跳检查,可能会出现失败的情况,详情见附录
- 根据页面提示,填写相关信息
【注意】
1、这里填入的便是,nginx.conf
文件中的配置信息:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$http_app_key" "$args"';
要求 nginx 服务器中
nginx.conf文件的配置字段
log_format,也如上所示,保证配置的统一性
2、 对应的日志样例如下
(建议从 服务器的 nginx
访问日志中获取,同时还能检验是否对应正确)
127.0.0.1 - - [12/Apr/2022:11:31:17 +0800] "GET /admin HTTP/1.1" 502 560 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" "-" "0.008" "-" "s=//error/502.html"
- 查询分析配置
顺利的话,会出现如下信息
☞
第二步、配置仪表盘与创建图表
-
以我的实际 *** 作为例
切换左侧导航栏的仪表盘
图标,然后创建一个 仪表盘 -
然后点击右侧按钮 “新建图表”
选取 图表类型为 “表格”
然后根据下图指导,设置标题、选取logstore
、填写查询语句、预览 …
当前我使用的都是默认配置,具体样式,可根据右侧指导栏 进行 属性配置
核心 *** 作便是 sql 查询语句的确认,可以通过帮助文档,学习借鉴,从而构造出更符合要求的图表
- 预览效果达到要求后,点击 确定,并保存
如果需要对已保存的图表进行修改,先点击仪表盘的 编辑按钮
,才能再点击图表
的编辑
- 对于生成的 图表,我们后期可以点击查看分析详情
- 通过自定义查询语句,定位耗时较长的请求
分析问题,优化访问性能
总结
- 整体 *** 作过程中需要注意的几点如下:
1. 阿里云服务器,需要配置 Logtail 客户端(满足日志服务)
2. 创建 机器组时,要保证心跳检测通过
3. log_format 的配置信息,要保证与 nginx.conf 的一致
4. 创建的图表,根据查询语句的规则,选择合适的图表类型,合理显示
其他的图片配置,大同小异,重要的是 设计 查询语句 和选定 图表类型 ,多加摸索 …
▼
附录
①. nginx 配置参数 log_format
对于 参数的解释,可以参考文章:
【nginx 访问日志 access_log】
- 当前,我对 nginx 服务器的配置为:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$http_app_key" "$args"';
②. 机器组心跳检查
- 机器组心跳检查可能会 失败,
根据提示进行排查,阿里云文档 -【Logtail机器组无心跳排查思路】
- 如果显示 心跳
OK
,继续下一步
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)