【最佳实践】《微服务架构日志采集运维管理》手把手实操步骤与常见问题

简介: 根据阿里云《微服务架构日志采集运维管理》最佳实践文档实践步骤复现应用搭建的过程,同时总结归纳部分在应用搭载过程中遇见的问题与解决方案。

前提概要

场景描述:阿里云日志服务(SLS)结合Kubernetes日志特点以及应用场景,提供全方位的容器微服务应用环境下的日志采集、处理以及分析的实践。

产品列表:容器服务 Kubernetes 版、日志服务 SLS、专有网络 VPC、负载均衡 SLB、弹性计算 ECS、容器镜像服务 ACR、云数据库 RDS 版、智能解析 DNS。

解决问题:

  1. 容器微服务架构下日志采集困难;
  2. 日志采集 Agent 资源消耗多;
  3. 运维日志平台系统成本代价高;
  4. 日志分析方式少,日志分析不方便。

实践方案架构:


方案价值:

  1. 基于 Logtail 一键完成安装,CRD 扩展,与 K8S 部署管理方式无缝集成;
  2. 日志服务为 Ingress 提供可视化分析报表;
  3. 简化 Ingress 日志分析与监控的门槛。

日志采集部署建议:

  1. 核心应用:使用 SideCar 方式采集;
  2. 普通应用/系统日志:使用 DaemonSet 方式采集;
  3. 标准输出: 使用 DaemonSet 方式采集。



常见问题

CADT创建资源校验失败怎么办?

  1. 确定各个产品的权限已开通;
  2. 创建VPC网络与ACK的Service CIDR不能有网段交叉,以下为我创建时填写的参数,仅供参考:
  1. ACK的网段设置
  1. Pod 网络 CIDR:10.30.0.0/16
  2. Service CIDR:172.16.0.0/16

CADT资源创建成功后资源状态却又改为已删除?

  1. 确认选中的Region、AZ有无对应规格与资源;
  2. 确认对应资源名称是否已被占用,需要保证SLS等产品的名称变量全局唯一。

配置RDS 数据库需要注意什么?

  1. 配置RDS的白名单为VPC的网段,使得VPC内的设备实例可以访问该RDS。

  1. 配置RDS为企业版才可完成后续第10章RDS审计日志采集分析与监控的操作。

如何在容器中以VNC方式配置docker环境?

  1. 下载update:yum update

  1. 环境配置:docker-ce环境安装

步骤1:下载repo文件:curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

步骤2:安装containerd.io依赖:yum -y install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

步骤3:下载docker-ce版本:yum -y install docker-ce


步骤4:启动docker并检查是否版本是否为ce版本

  • 启动docker服务:systemctl start docker
  • 将docker加入开机启动:systemctl enable docker
  • 重新加载docker服务程序配置文件:systemctl daemon-reload
  • 查看docker版本:docker version

如何在Docker中拉取镜像以及常见问题?

  1. 拉取原始镜像:docker pull wordpress

  1. 获取镜像ID与镜像版本:docker images | grep wordpress

易得镜像ID:5f9d748595e1,镜像版本:v1.0。

  1. 登陆镜像仓库并推送镜像

步骤1:登录阿里云Docker Registry:docker login --username=*****@test.aliyunid.com registry.cn-hangzhou.aliyuncs.com

ps****为阿里云账号前缀

步骤2:给镜像打标签:docker tag {镜像ID} registry.cn-hangzhou.aliyuncs.com/{镜像仓库命名空间}/{镜像仓库名称}:{版本号}

步骤3:将镜像推送到Registry:sudo docker push registry.cn-hangzhou.aliyuncs.com/{镜像仓库命名空间}/{镜像仓库名称}:{版本号}

ps:填写时需要删除{}

  1. 常见问题
  • docker login:提示host不存在:给镜像仓库开通公网访问权限
  • 提示volume不存在:更换namespace

拉取镜像时下载速度很慢或中途连接直接断掉拉取失败?

问题原因:docker的wordpress官方镜像源在国外,下载时网络质量极差,甚至中断。

解决方案:修改拉取镜像的json配置文件,镜像源改为阿里云国内网址。

  1. 在对应容器节点中远程登录实例,在/etc/docker/路径下创建vim daemon.json文件,文件内容如下:

{

"registry-mirrors": ["https://oojjt1xs.mirror.aliyuncs.com"]

}

  1. 再次执行docker pull wordpress命令即可快速下载拉取

根据镜像搭建无状态应用报错ErrImagePull && ImagePullBackOff?

问题原因:没有配置对应镜像拉取策略。

参考文档:使用免密组件配置镜像拉取策略

解决方案:

  1. 升级/安装aliyun-acr-credential-helper组件
  1. 在容器控制台集群列表页面,单击目标集群操作列下的更多 > 系统组件管理
  2. 在安全区域,找到aliyun-acr-credential-helper,单击升级
  1. 通过控制台方式设置acr-configuration配置项
  1. 在容器集群信息页面左侧导航栏,选择配置管理 > 配置项,在上方命名空间下拉框中选择kube-system,找到配置项acr-configuration
  2. 通过以下两种方式配置acr-configuration
  1. 方式一:单击其右侧的编辑,设置配置项键和值
  1. 如果您没有acr-configuration配置项,请参见创建配置项。关于如何更新配置项,请参见修改配置项
  1. 方式二:单击其右侧的YAML编辑,设置配置项键和值

搭建应用后访问路由地址显示Error establishing a database connection?

问题描述:无状态应用创建成功,但是用路由器Ingress提供的域名无法访问wordpress网页,会出现无法连接数据库的错误。

问题原因:由于wordpress的配置文件的yaml文件未配置环境变量导致的,配置数据库有关的环境变量后即可以连接上去。

解决方法:

步骤一:前往RDS数据库控制台,找到自己创建的数据库,点击左边目录栏的“数据库连接”,复制内网地址。

步骤二:继续点击数据库管理,记录数据库的名称、用户名。


步骤三:前往ACK容器管理控制台,点击进入自己创建的集群,点击进入自己创建的无状态应用中,点击查看Yaml


找到yaml文件中,配置环境变量的那一部分文件(可以看到-name,-value的那部分文件)在里面加上自己数据库的环境变量。


- name: WORDPRESS_DB_HOST
              value: '步骤一中复制的数据库的内网地址:3306'
            - name: WORDPRESS_DB_NAME
              value: 步骤二中记录的数据库的名称
            - name: WORDPRESS_DB_USER
              value: 步骤二中绑定账户的名称
            - name: WORDPRESS_DB_PASSWORD
              value: 账户对应的密码

修改后的结果,具体示意如下,修改完成后点击更新,耐心等待一会(半分钟)即可。

image.png

参考文献

微服务架构日志采集运维管理最佳实践

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
JavaScript 前端开发 Java
垃圾分类管理系统基于 Spring Boot Vue 3 微服务架构实操指南
本文介绍了基于Java技术的垃圾分类管理系统开发方案与实施案例。系统采用前后端分离架构,后端使用Spring Boot框架搭配MySQL数据库,前端可选择Vue.js或Java Swing实现。核心功能模块包括垃圾分类查询、科普教育、回收预约等。文中提供了两个典型应用案例:彭湖花园小区使用的Swing桌面系统和基于Spring Boot+Vue的城市管理系统,分别满足不同场景需求。最新技术方案升级为微服务架构,整合Spring Cloud、Redis、Elasticsearch等技术,并采用Docker容器
702 1
|
消息中间件 运维 监控
企业级短信验证码服务架构设计与最佳实践
随着移动互联网的发展,短信验证码成为用户身份验证的重要手段。本文从企业级应用角度出发,探讨如何构建高可用、高并发和安全可靠的短信验证码服务。通过多通道冗余、故障自动切换和服务降级保障高可用性;利用异步处理与消息队列应对高并发;借助多层防刷、内容审核和数据加密提升安全性。同时,提供了详细的架构设计、核心模块代码示例以及监控运维方案,帮助读者理解并实现一个完整的短信验证码系统。
757 2
|
9月前
|
存储 监控 安全
132_API部署:FastAPI与现代安全架构深度解析与LLM服务化最佳实践
在大语言模型(LLM)部署的最后一公里,API接口的设计与安全性直接决定了模型服务的可用性、稳定性与用户信任度。随着2025年LLM应用的爆炸式增长,如何构建高性能、高安全性的REST API成为开发者面临的核心挑战。FastAPI作为Python生态中最受青睐的Web框架之一,凭借其卓越的性能、强大的类型安全支持和完善的文档生成能力,已成为LLM服务化部署的首选方案。
1402 3
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——常见问题总结
本文总结了Spring Boot中使用事务的常见问题,虽然通过`@Transactional`注解可以轻松实现事务管理,但在实际项目中仍有许多潜在坑点。文章详细分析了三个典型问题:1) 异常未被捕获导致事务未回滚,需明确指定`rollbackFor`属性;2) 异常被try-catch“吃掉”,应避免在事务方法中直接处理异常;3) 事务范围与锁范围不一致引发并发问题,建议调整锁策略以覆盖事务范围。这些问题看似简单,但一旦发生,排查难度较大,因此开发时需格外留意。最后,文章提供了课程源代码下载地址,供读者实践参考。
470 0
|
Ubuntu 编译器 C语言
在Ubuntu22.04平台上交叉编译针对Rv1126架构的GCC13.2.0编译器的步骤。
遵循上述步骤,您应该能够在Ubuntu 22.04平台上成功交叉编译适用于RISC-V架构RV1126的GCC 13.2.0编译器,允许您为目标硬件构建应用程序和操作系统组件。
746 10
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
735 0
|
运维 监控 负载均衡
高效运维实践:常见问题的应对策略与实践经验
本文探讨了运维工作中的五大核心挑战及应对策略,涵盖负载均衡优化、数据库性能提升、系统监控预警、容器化与微服务运维等方面,旨在帮助企业提升系统稳定性与运维效率。
|
Java API 微服务
Java 21 与 Spring Boot 3.2 微服务开发从入门到精通实操指南
《Java 21与Spring Boot 3.2微服务开发实践》摘要: 本文基于Java 21和Spring Boot 3.2最新特性,通过完整代码示例展示了微服务开发全流程。主要内容包括:1) 使用Spring Initializr初始化项目,集成Web、JPA、H2等组件;2) 配置虚拟线程支持高并发;3) 采用记录类优化DTO设计;4) 实现JPA Repository与Stream API数据访问;5) 服务层整合虚拟线程异步处理和结构化并发;6) 构建RESTful API并使用Springdoc生成文档。文中特别演示了虚拟线程配置(@Async)和StructuredTaskSco
1277 0
|
Cloud Native Java Devops
Java 学习路线之环境搭建微服务项目实战及 DevOps 流程实操内容解析
这是一份结合最新技术的Java学习路线,涵盖环境搭建、微服务项目实战及DevOps流程。内容包括2025年版开发环境配置(如SDKMAN管理JDK、)、Gradle构建工具使用、微服务图书管理系统实战(Spring Boot 3.3 + Spring Cloud 2025.0)、云原生部署)、AI融合实践(OpenAI集成)以及性能优化与监控(JFR/Micrometer/Sleuth)。通过每日实践、代码审查和技术分享,帮助你掌握现代企业级开发技能,实现云原生应用的独立开发与部署。资源地址:[点击下载](https://pan.quark.cn/s/14fcf913bae6)。
749 0
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。