首页 多账号云产品日志及系统日志统一投递方案

多账号云产品日志及系统日志统一投递方案

更新时间: 2024-04-02 14:23:52

在多账号场景下,客户不同云账号内主机层面操作系统日志及云产品日志希望统一投递到日志账号。便于运维的集中式管理。本方案会介绍如何使用阿里云日志服务产品来配置多账号的云产品日志审计及主机系统日志。

方案概述

在多账号场景下,客户不同云账号内主机层面操作系统日志及云产品日志希望统一投递到日志账号。便于运维的集中式管理。本方案会介绍如何使用阿里云日志服务产品来配置多账号的云产品日志审计及主机系统日志。

方案优势

集中日志管理

本方案提供了常见场景的日志统一投递,包括采集主机上的系统日志、各个账号内云产品日志。通过统一日志投递,方便用户在一个可自定义、用户友好地产品控制面板做日志分析和异常日志报警。

日志灵活查询

支持查询SQL语法,支持用户定制的查询需求。另外SLS产品提供了丰富的报表制作能力,用户可以把查询结构按不同维度展示。

异常日志报警

对于各账号内的异常日志可以在日志账号中完成监控告警,及时发现风险隐患。

客户场景

多账号日志统一收集

场景描述

客户在阿里云有拥有多个云账号,并且希望把每个账号内的主机日志及云产品审计日志统一投递到日志管理账号。

适用客户

  • 公有云客户
  • 多账号客户
  • 每个账号下面的业务日志统一投递到一个日志账号

基于异常日志统一告警

场景描述

客户在阿里云有拥有多个云账号,并且希望对异常日志配置告警,运维人员可以第一时间发现异常来源。

适用客户

  • 公有云客户
  • 多账号客户
  • 基于日志告警

客户案例

客户背景

国内某知名餐饮SAAS提供商,在阿里云上有6个云账号。基于LandingZone多账号设计方案,客户在云上开启并使用了资源目录,规划好了日志账号。

客户痛点

云上这6个云账号都是由运维团队统一负责。运维希望统一管理这些账号内的云产品日志(RDS\PolarDB)以及各个云账号内ECS的操作系统日志。并且对采集上来的日志进行异常监控告警。目前客户云上没有一套完备的日志系统。

实施方案

  • 在日志账号中开通SLS服务,不同账号配置不同Logstore,便于成本分摊。
  • 在资源目录->可信服务->日志审计服务->委派管理员,委派给日志账号。
  • 在日志账号中开启日志审计服务,并添加需要统一投递的账号。
  • 在日志账号中配置SLS监控报警事件。
  • 在各账号内ECS上面安装及配置SLS采集客户端。

客户收益

  • 运维只需要在日志账号完成主机及云产品日志管理。

方案架构

架构说明

  • 采用资源目录(RD)管理多账号;做到多账号体系化管理。
  • 利用资源目录的委派管理员,支持云产品审计功能委派到日志账号。
  • 在日志账号中配置日志服务,云产品审计。
  • 在成员账号A/B中安装Logtail并完成配置,日志会自动上传到日志账号。
  • 在日志账号中进行日志查看,分析及配置告警规则。

产品费用及名词

产品费用

产品名称

产品说明

产品费用

日志服务

日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。

收费,详情参见产品定价

资源目录

RD(Resource Directory,资源目录)是面向企业客户提供的一套多级账号和资源管理服务,使得企业IT团队可以轻松管理多个阿里云账号和集中化管理账号内的云资源。

免费,详情参见官网链接

成本优化建议

名词解释

名称

说明

Logstore

日志库(Logstore)是日志服务中日志数据的采集、存储和查询单元。

Logtail

Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云厂商等服务器上的日志。

可信服务

资源目录允许可信服务访问资源目录中的成员、资源夹等信息。在这篇方案中允许日志账号访问资源目录。

安全性

身份访问控制

(1)本方案提供控制台启动,对应用户的权限要求:

资源管理账号中要有资源目录的权限。对应的系统Policy:AliyunResourceDirectoryFullAccess

(2)日志账号建议给普通用户只需要分配“日志查看角色”。

(3)日志账号分配日志管理角色,具备管理日志服务:包括创建、修改、删除及配置报警等配置。对应RAM的系统Policy:AliyunLogFullAccess。

注意事项

日志服务功能限制

SLS在产品使用上面有些限制,具体可以查看产品限制

日志账号分账

在本方案中,由于不同账号的日志统一投递到日志账号,为了更好地在日志账号中进行成本分摊。建议不同账号按不同Logstore配置。

云产品日志审计限制

日志审计服务支持采集基础(ActionTrail、容器服务Kubernetes版)、存储(OSS、NAS)、网络(SLB、ALB、API网关、VPC)、数据库(关系型数据库RDS、云原生分布式数据库PolarDB-X 1.0、PolarDB云原生数据库)、安全(WAF、云防火墙、云安全中心、DDoS防护)等云产品日志。具体支持产品可以查看产品覆盖范围

实施步骤

实施准备

  • 确保已在「企业管理账号」中开通资源目录,并且将其他账号邀请到资源目录中。具体操作,请参见云治理中心-资源结构初始化
  • 确保已在「企业管理账号」中管理委派管理员账号。具体操作,请参见管理委派管理账号
  • 确保已在「日志管理账号」中开启日志服务。具体操作,请参见开通日志服务

实施场景

假定某客户多账号架构如下:

该方案实施之后希望达成的效果:

  • 业务账号B、业务账号C里面云产品RDS、PolardDB的日志统一投递到日志账号A。
  • 业务账号B、业务账号C里面云主机(ECS)操作系统日志统一投递到日志账号A。
  • 日志账号中配置异常监控告警事件,对于异常日志触发告警。

数据规划

本文以多账号场景下统一投递云产品日志及操作系统日志,为您介绍通过如何通过配置日志服务产品来完成多账号日志统一投递,异常事件告警等配置。相关数据规划如下表:

云服务

参数

示例

日志服务

Project

cvm_os_log_demo

Logstore

以B账号投递为示例:

cvm_os_log_account_b

MachineGroup

account_b_group

触发器

ConfigurationItemChangeTrigger

日志审计服务

全局配置->RDS

开启慢日志、错误日志

全局配置->PolarDB

开启慢日志、错误日志

操作流程

配置多账号云产品审计日志统一投递操作流程如下图所示:

配置跨账号主机日志投递操作流程如下图所示:

操作步骤

本操作步骤中提到的账号均以上面「某客户多账号架构」为指引。

配置审计日志

  1. 登录日志账号A,完成云产品接入->全局配置。在本案例中选择的云产品包括:RDS、PolarDB对应的审计日志为:慢日志、错误日志。具体配置见操作手册
  2. 在日志账号A中,完成日志审计服务->多账号配置。推荐使用资源目录管理模式,将成员账号B与C添加进来。具体配置见操作手册

主机日志跨账号投递

登录日志账号,完成Project及Logstore配置

(1)、创建Project

  1. 登录日志服务控制台
  2. 在Project列表区域,单击创建Project
  3. 创建Project面板中,配置相关参数,并单击确定。具体参数见操作手册

(2)、创建Logstore

  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。
  3. 日志存储 > 日志库页签中,单击+图标。
  4. 创建Logstore页面中,配置相关参数。具体参数见操作手册
登录成员账号主机,完成Logtail安装配置

(1)、安装Logtail

本方案是跨账号日志投递,所以需要参考如下两种安装方式:

  • Linux主机安装Logtail指导 链接
  • WIndows主机安装Logtail指导 链接

(2)、配置用户标识

这个步骤对于需要跨账号采集阿里云上ECS或者K8S日志的情况下,需要这样操作通过设置iLogtail的用户标识识,来实现跨账号采集。操作步骤见链接

(3)、创建用户自定义标识机器组

  1. 在指定目录下创建user_defined_id文件。
    • Linux服务器:/etc/ilogtail/user_defined_id
    • Windows服务器:C:\LogtailData\user_defined_id
  1. 在服务器上配置用户自定义标识。
    1. Linux服务器,详细操作见步骤
    2. Windows服务器,详细操作见步骤
登录日志账号,完成机器组与采集配置

(1)、配置用户自定义标识机器组

  1. 登录日志服务控制台
  2. Project列表区域,单击目标Project。
  3. 在左侧导航栏中,单击机器组
  4. 选择机器组右侧的 > 创建机器组
  5. 创建机器组对话框中,配置相关参数,单击确定。具体参数见操作手册

(2)、创建Logtail采集配置,详情请参见采集文本日志

基于异常日志告警

运维人员可以在日志服务中配置符合企业规范的告警规则,来实时监测各个账号内系统日志异常情况。日志服务告警是一站式的告警监控、降噪、事务管理、通知分派的智能运维平台。详细配置见帮助文档

本章节介绍基于关键词的日志告警策略,可以参考帮助文档

存量主机批量安装Logtail

需要在各账号的存量ECS上面执行以下操作:

  • 安装Logtail
  • 配置用户标识
  • 在指定目录下创建user_defined_id文件,并将用户自定义标识写入这个文件。

推荐使用运维编排服务(OOS),批量操作实例,可以参考帮助文档

本示例中Region:cn-hangzhou;日志账号的UID:12073XXXXXXX;用户自定义标识:cache_group

批量执行的脚本内容:

wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install cn-hangzhou
touch /etc/ilogtail/users/12073XXXXXXX
touch /etc/ilogtail/user_defined_id; echo "cache_group" > /etc/ilogtail/user_defined_id

对于新增ECS实例,推荐自定义镜像或GoldenImage方案。

故障排除

Logtail支持哪些平台?

Linux支持如下版本的Linux x86-64(64位)服务器

  • Alibaba Cloud Linux 2.1903
  • RedHat Enterprise 6、7、8
  • CentOS Linux 6、7、8
  • Debian GNU/Linux 8、9、10
  • Ubuntu 14.04、16.04、18.04、20.04
  • SUSE Linux Enterprise Server 11、12、15
  • OpenSUSE 15.1、15.2、42.3
  • 其他基于glibc 2.5及以上版本的Linux操作系统

WindowsMicrosoft Windows Server 2008和Microsoft Windows 7支持X86和X86_64,其他版本仅支持X86_64。

  • Microsoft Windows Server 2008
  • Microsoft Windows Server 2012
  • Microsoft Windows Server 2016
  • Microsoft Windows Server 2019
  • Microsoft Windows 7
  • Microsoft Windows 10
  • Microsoft Windows Server Version 1909
  • Microsoft Windows Server Version 2004

如何排查Logtail采集日志问题?

Logtail采集问题排查思路如下所示。更多信息,请参见Logtail排查简介

  1. 确认Logtail心跳状态为OK。
  2. 确认日志文件中的日志在实时生成。
  3. 确认Logtail配置中的正则表达式与日志内容相匹配。

方案卸载

卸载Logtail

  • Linux系统

执行以下命令卸载Logtail。

wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/linux64/logtail.sh -O logtail.sh;chmod 755 logtail.sh;./logtail.sh uninstall
  • Windows系统

以管理员身份运行Windows Powershell或cmd进入logtail_installer目录(安装包的解压目录),执行如下命令。

.\logtail_installer.exe uninstall

卸载成功后,您的Logtail的安装目录会被删除,但仍有部分配置被保留在C:\LogtailData目录中,您可以根据实际情况进行手动删除。遗留信息包括:

  • checkpoint:存放所有Logtail插件的Checkpoint信息。只有您使用了Logtail插件后,才会出现此文件。
  • user_config.d:存放本地采集配置的目录。其中以.json结尾的文件会被视为采集配置,格式类似于/usr/local/ilogtail/user_log_config.json
  • logtail_check_point:存放Logtail主体部分的Checkpoint信息。
  • users:存放您所配置的用户标识文件。

删除机器组

  1. 在机器组列表中,单击目标机器组后面的图标,选择删除
  2. 在弹出的对话框中,单击确认

删除Logstore

1.在日志存储 > 日志库页签中,选择目标Logstore右侧的 > 删除

  1. 警告 Logstore一旦删除,其存储的日志数据将会被永久删除,不可恢复,请谨慎操作。

2.在删除对话框中,单击确认

删除Project

  1. 在Project列表中,单击目标Project对应的删除
  2. 删除Project面板中,选择删除原因,然后单击确定

警告 删除Project后,其管理的所有日志数据及配置信息都会被永久释放,不可恢复。在删除Project前请慎重确认,避免数据丢失。

相关内容