文档首页/ 云日志服务 LTS/ 常见问题/ 产品咨询问题/ 云日志服务LTS使用建议有哪些?
更新时间:2024-07-24 GMT+08:00
分享

云日志服务LTS使用建议有哪些?

云主机应用日志场景

场景描述:适用于用户将应用系统部署在云主机上,使用LTS统一采集和搜索日志的场景。用户的应用系统一般由多个组件(也称微服务)组成,每个组件部署在至少2台云主机上。

使用建议:

  • 日志采集方式:建议使用采集器ICAgent采集日志,您需要在云主机上安装ICAgent,然后使用ECS接入配置日志采集路径。不建议使用SDK、API上报日志。使用ICAgent的好处是与应用系统完全解耦,无侵入,无需更改代码,使用SDK/API等方式步骤相对复杂,如果代码编写不当容易对应用系统的稳定性造成影响。
  • 日志组规划建议:将一个应用系统的日志放在一个日志组中,日志组的名称可以使用应用系统的名称。
  • 日志流规划建议:
    • 如果您的日志是没有固定规则的日志,可以将类似组件的日志采集到同一个日志流,例如java组件、php组件、python组件。类似组件的日志采集到一个日志流的好处是日志流的数量不至于太多而难以管理,如果您的组件数量比较少(例如小于20个),您可以将每个组件的日志采集到不同的日志流。
    • 如果您的日志是类似NGINX网关这种可以结构化解析的日志,建议您将有相同格式的日志采集到同一个日志流。因为统一的日志格式才能方便您后续统一使用SQL分析功能,实现可视化图表分析。
  • 权限隔离建议:云日志服务的日志流支持企业项目隔离,通过为日志流设定不同的企业项目可以实现不同IAM用户有不同日志流的访问权限。

容器应用日志场景

场景描述:适用于用户将应用系统部署在K8S集群上,使用LTS统一采集和搜索日志的场景。用户的应用系统一般由多个工作负载组成,每个工作负载至少部署2个实例。

使用建议:

  • 日志采集方式:
    • 建议使用采集器ICAgent采集日志,您可以使用CCE接入配置日志采集路径。不建议使用SDK、API上报日志。使用ICAgent的好处是与应用系统完全解耦,无侵入,无需更改代码,使用SDK/API等方式步骤相对复杂,如果代码编写不当容易对应用系统的稳定性造成影响。
    • 采集容器应用日志的方式有:容器标准输出、容器文件、节点文件、K8S事件,建议优先使用容器文件。对比容器标准输出,容器文件的优点是可以持久化挂载到主机上,且输出的内容用户自主控制性更强。对比节点文件,容器文件的优点是采集的日志有命名空间、工作负载、POD等元数据信息,在搜索日志的时候更加便捷。
  • 日志组规划:将一个CCE集群的所有日志放在一个日志组中,日志组的别名(支持修改)可以使用CCE集群的名称,日志组的原始名称(不支持修改)建议使用k8s-log-{集群ID}。
  • 日志流规划:
    • 如果您的日志是没有固定规则的日志,可以将类似组件的日志采集到同一个日志流,例如java组件、php组件、python组件。类似组件的日志采集到一个日志流的好处是日志流的数量不至于太多而难以管理,如果您的组件数量比较少(例如小于20个),您可以将每个组件的日志采集到不同的日志流。
    • 如果您的日志是类似NGINX网关这种可以结构化解析的日志,建议您将相同格式的日志采集到同一个日志流。因为统一的日志格式才能方便您后续统一使用SQL分析功能,实现可视化图表分析。
  • 权限隔离:云日志服务的日志流支持企业项目隔离,通过为日志流设定不同的企业项目可以实现不同IAM用户有不同日志流的访问权限。

云服务日志分析场景

  • 如何采集云服务日志到LTS:LTS支持多种云服务接入采集到LTS,您需要在对应云服务的页面打开日志开关,即可以将日志采集到指定的日志组/日志流。
  • 如何配置到最佳使用状态:很多云服务的日志都是支持结构化的,您可以在结构化配置页面为您的云服务日志配置对应的结构化解析规则,详细操作请参考日志结构化配置。结构化解析之后即可对日志使用SQL进行可视化分析。LTS也为很多常见的云服务日志提供了开箱即用的仪表盘,例如ELB/APIG/DCS等开箱即用仪表盘

应用监控告警场景

场景描述:适用于使用日志来实时监控应用系统是否正常,提前发现系统故障的场景。

SQL告警仅支持全部用户使用的局点有:华南-广州、华北-北京四、华北-乌兰察布二零一、华北-乌兰察布一、华东-上海一、中国-香港、西南-贵阳一、亚太-新加坡、华南-深圳,支持部分白名单用户使用的局点有:亚太-曼谷、华北-北京一、华东-上海二、华北-乌兰察布二零二,其他局点暂不支持该功能。

使用建议:

  • 告警统计方式:LTS有两种告警配置方式:关键词告警和SQL告警。如果您的日志是无规则的,那么适用关键词告警,例如java程序的运行日志;如果您的日志是有规则的,例如NGINX网关日志,那么适用SQL统计告警,您可以使用SQL语句对结构化的日志做统计分析,获取您想要的指标配置告警。
  • 告警规则配置:告警触发一般需要越快越好,您的告警规则统计周期建议使用1分钟。您可以使用LTS提供的默认消息模板来发送告警。如果您有个性化的诉求,您可以在系统提供的默认模板的基础上做一些修改保存为消息模板,然后发送告警。
  • 配置ELB/APIG等关键云服务日志告警:ELB经常用来作为应用系统的对外的入口,您可以打开ELB日志对接到LTS,然后配置ELB 5XX状态码告警,这样就可以及时发现系统是否有故障。同时您可以借助开箱即用的ELB仪表盘模板,观察应用系统整体的成功率。

业务运营分析场景

场景描述:适用于在应用系统中打印业务日志,例如交易额、客户、产品等信息,然后使用LTS的SQL分析功能,输出可视化图表和仪表盘的场景。

使用建议:

  • 日志采集方式:建议使用采集器ICAgent采集日志,将日志打印到单独的日志文件中,不要与应用程序的运行日志混在一起。不建议使用SDK、API上报日志。
  • 日志结构化解析方式:建议您打印的业务日志使用空格分割或者JSON格式,这样方便快速配置日志结构化解析规则。
  • 日志可视化呈现:

    您可以创建自定义的仪表盘,使用类SQL语法分析已经结构化处理好的业务日志。自定义的仪表盘中,你可以添加多个图表,也可以添加过滤器,使用LTS做业务分析,可以减少采购数据仓库,没有额外成本,上手更简单。

  • 日志加工:想要分析的业务日志混在运行日志中,或者业务日志中有些敏感数据需要删除,或者有些数据缺少维度数据,建议使用DSL加工功能对日志进行规整、富化、流转、脱敏、过滤等操作。详细请参考DSL加工

等保安全合规场景

场景描述:国家网络安全法要求上市公司、金融企业需要保存关键系统日志至少180天,用户可以将这些日志采集到LTS后统一存储。

使用建议:

  • 日志采集方式:DSL加工
    • 云主机和容器日志,建议优先使用采集器ICAgent采集,使用ECS向导或者CCE向导。
    • 云服务日志例如ELB/VPC日志,您可以在云服务界面打开开关将日志采集到LTS。
    • 如果您的某些设备必须要以Syslog协议上报日志,您可以参考如何搭建Syslog服务器收集日志并采集到LTS
  • 日志存储方式:
    • LTS默认支持用户存储365天,您可以修改日志存储时长。如果您需要更多的存储时长,请提交工单申请开通3年存储时长。
    • 降低存储成本:

      使用LTS在23年1130公测的冷存储特性,冷存储的日志存储单价比OBS仅贵25%,但是可以支持搜索,在易用性和成本上是最佳选择。

      转储至OBS,优点是成本低,缺点是不支持搜索历史日志的内容,使用不便利。

大数据组件日志采集场景

场景描述:有些用户会使用MRS/Flink/Spark等大数据组件做数据处理,希望采集自定义的日志到LTS,但是不希望采集大数据组件的运行日志(对于业务分析价值小)。

使用建议:

  • 日志采集方式:推荐用户使用JAVA SDK或者GO SDK上报日志。常见的大数据组件不太方便指定个性化的日志文件路径去只打印自己的业务日志,因此使用SDK上报日志是比较好的选择。
  • 日志结构化解析方式:LTS支持iOS SDK、Android SDK、百度小程序SDK、微信小程序SDK等端侧SDK,使用端侧SDK上报的日志不支持云端结构化解析,因此建议您上报已经结构化的JSON格式日志。

相关文档