查看原文
其他

【天眼】自定义日志,让采集更弹性

天小际 明源云天际PaaS平台 2022-09-10

1
自定义日志是什么?


天眼平台支持应用两种日志采集上报场景:

一种是通过集成天眼探针采集上报应用的性能、异常和行为日志数据,并在平台上提供丰富的日志查询分析功能,但这类日志数据的结构相对规范和固定。

另一种场景的日志数据的结构和内容没有限制,完全由应用自行约定,只需将日志写入约定的日志文件,就可以借助天眼的日志收集器(FluentBit)把这些日志数据收集上报到天眼平台并提供查询分析,这就是自定义日志。


自定义日志管理

天眼平台提供针对应用自定义日志的收集上报和查询管理能力。应用自定义日志实现接入天眼平台包括以下两个环节:

自定义日志采集上报

日志查询&告警


2
自定义日志采集上报


应用自定义日志上报天眼平台的模式

应用自定义日志采集上报实现

应用自定义日志要上报到天眼平台,需要先规划定义好日志结构及日志文件存储地址,再到天眼平台创建配置产品/应用,并获得天眼日志收集器FluentBit的配置参数,用以部署好天眼日志收集器FluentBit,然后应用程序运行时通过日志模块输出运行日志到日志文件,通过FluentBit从日志文件收集日志上报到天眼平台:

1、定义日志结构及日志文件存储路径

2、在天眼创建及配置产品/应用,获取日志收集器配置参数

3、部署日志收集器FluentBit

4、应用运行写入日志文件,FluentBit收集上报天眼



1、定义日志结构及日志文件存储路径

应用结合自身业务场景和需求,定义日志数据的结构和格式,日志格式建议:JSON,一行为一条日志,同时定义好日志文件存放路径和命名规则。

日志数据结构定义需要提供给天眼平台,包括字段英文名(JSON里的Key_name)、字段中文名、字段类型、排序等。用于在天眼平台的日志管理里进行属性映射,方便用户在日志管理里查询分析日志。

实例日志文件:/logs/20210412.log

{"log_time":"2020-12-01 17:06:41","log_level":"info","app_uid":"hmzx","app_tcode":"hmzx","category":"sdk.api","log_type":"business","log_content":"{\"url\":\"https:\\\/\\\/app-ykj-test.myfuwu.com.cn\\\/m\\\/Organization\\\/api\\\/get-auth-projects\"}","app_env":"test","app_vid":"834845f36322a313e825ac10b0db4260_1609404744","log_tag":"","app_code":"rental","log_trace":"in \/webser\/www\/eam\/lib\/sdk\/api\/BaseApi.php:185\n in \/webser\/www\/eam\/lib\/sdk\/api\/BaseApi.php:165\n in \/webser\/www\/eam\/lib\/sdk\/bms\/auth\/helper\/ProjectAuthHelper.php:29\n in \/webser\/www\/eam\/rental\/protected\/services\/user\/AdminUserService.php:110\n in \/webser\/www\/eam\/rental\/protected\/domain\/presenters\/workflow\/WorkflowInstancePresenter.php:655\n in \/webser\/www\/eam\/rental\/protected\/domain\/presenters\/workflow\/WorkflowInstancePresenter.php:586\n in \/webser\/www\/eam\/rental\/protected\/domain\/presenters\/workflow\/WorkflowInstancePresenter.php:168"}{"log_time":"2020-12-01 17:06:41","log_level":"info","app_uid":"hmzx","app_tcode":"hmzx","category":"sdk.api","log_type":"business","log_content":"{\"url\":\"https:\\\/\\\/app-ykj-test.myfuwu.com.cn\\\/m\\\/Organization\\\/api\\\/get-auth-projects\",\"params\":{\"tenant_code\":\"hmzx\",\"user_id\":\"22b11db4-e907-4f1f-8835-b9daab6e1f23\",\"project_mode\":\"all\"}}","app_env":"test","app_vid":"834845f36322a313e825ac10b0db4260_1609404744","log_tag":"","app_code":"rental","log_trace":"in \/webser\/www\/eam\/lib\/sdk\/api\/BaseApi.php:205\n in \/webser\/www\/eam\/lib\/sdk\/api\/BaseApi.php:165\n in \/webser\/www\/eam\/lib\/sdk\/bms\/auth\/helper\/ProjectAuthHelper.php:29\n in \/webser\/www\/eam\/rental\/protected\/services\/user\/AdminUserService.php:110\n in \/webser\/www\/eam\/rental\/protected\/domain\/presenters\/workflow\/WorkflowInstancePresenter.php:655\n in \/webser\/www\/eam\/rental\/protected\/domain\/presenters\/workflow\/WorkflowInstancePresenter.php:586\n in \/webser\/www\/eam\/rental\/protected\/domain\/presenters\/workflow\/WorkflowInstancePresenter.php:168"}



2、在天眼创建并配置产品/应用,获取日志收集器配置参数

应用的自定义日志接入天眼平台,需要在天眼平台开通账号主体,创建团队、产品及对应的应用,同时还需配置日志服务,提供日志收集器FluentBit的配置信息。

说明:因天眼平台暂时未提供对外的日志服务配置定义功能,因此该步骤的工作需要联系天眼平台成员协助处理。


3、部署日志收集器FluentBit

本步骤在应用的运行环境里部署天眼日志收集器FluentBit,在windows环境和容器部署的存在差异,具体介绍如下:

容器:

docker run -v /logs:/logs --name=fast-fluent-bit \-e FAST_SERVER=https://fast-open.mypaas.com.cn \-e FAST_ACCESS_KEY_ID=天眼服务AK id \-e FAST_ACCESS_KEY_SECRET=天眼服务AK secret \-e FAST_PRODUCT_CODE=天眼产品编码 \-e FAST_APP_CODE=天眼应用编码 \-e FAST_LOG_NAME=天眼日志名称 \-e FAST_TAIL_PATH=/logs/*.log \-ti \docker-prod-registry.cn-hangzhou.cr.aliyuncs.com/fast/fluentbit:0.3.1(版本号可能有更新,部署前建议与天眼管理员确认)


Windows:

1. 解压erp-td-agent-bit

2. 以管理员身份运行“注册服务.bat”(开发模式可运行“start.bat”),启动日志收集器

关键配置项(conf/fluent-bit.conf):

[INPUT] name tail parser json path {配置日志文件路径,如:/logs/*.log} exit_on_eof off db {offset保存路径,如:./tail.db}

[OUTPUT] name fastout match * server https://fast-open.mypaas.com.cn access_key_id 天眼服务AK id access_key_secret 天眼服务AK secret product_code 天眼产品编码 app_code 天眼应用编码 log_name 天眼日志名称


4、应用运行写入日志文件,FluentBit收集上报天眼

应用程序通过日志模块输出运行日志到日志文件,FluentBit从日志文件收集自定义日志数据上报天眼平台,完成自定义日志数据的采集上报过程。

3
日志查询&告警

在日志管理模块,您可以查询分析应用上报的自定义日志数据。

前提条件:

· 应用已采集上报了自定义日志数据,详情请参见自定义日志采集上报。

查询操作:

1. 登录天眼平台,选择日志管理模块(如下图所示)。

2. 在顶部导航栏选择 产品/应用。

3. 在页面左上角选择日志名称。

4. 您可以在页面上方选择设置各种查询条件。

5. 您还可以在录入框里输入内容进行关键字检索。

6. 在下图所示的页面里查看结果和进行进一步的查询分析。

说明:选择产品/应用、日志名称时,系统自动触发查询刷新列表数据。选择设置其他查询条件时,需要点击【查询】按钮触发刷新列表数据。

告警

应用的自定义日志上报到天眼,除了可以天眼平台查询分析日志外,还可以在平台上基于自定义日志设置告警。

说明:基于应用自定义日志的告警设置功能暂时未对外开放,如需添加告警请与天眼团队成员联系。

▼往期精彩回顾▼态客户如何快速接入一站式协同(DevOps)平台接入天眼,开启应用监控新体验(下)接入天眼,开启应用监控新体验(上)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存