云日志服务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用户有不同日志流的访问权限。
云服务日志分析场景
应用监控告警场景
场景描述:适用于使用日志来实时监控应用系统是否正常,提前发现系统故障的场景。
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。
- 日志存储方式: