AWS ELB 可观测性最佳实践

AWS ELB
AWS ELB(Elastic Load Balancing)是亚马逊网络服务提供的弹性负载均衡服务,能够自动分配传入流量到多个目标(如 EC2 实例、容器等),以实现高可用性和可伸缩性。它支持多种负载均衡算法,如轮询和最少连接,并且具备跨可用区的高可用性、与 Auto Scaling 集成的自动扩展能力、健康检查以及 SSL/TLS 终止等功能。AWS ELB 有三种类型:应用负载均衡器(ALB)适用于基于 HTTP/HTTPS 的应用程序,支持基于内容的路由;网络负载均衡器(NLB)针对 TCP/UDP 流量,性能高且支持静态 IP;网关负载均衡器(GLB)用于管理网络流量的路由,可连接到安全网关设备等。通过 AWS 管理控制台可以轻松创建和配置 ELB,同时需要合理设置安全组和网络配置,并利用 CloudWatch 等工具进行监控和日志记录。
AWS ELB(Elastic Load Balancing)的监控至关重要,它能够实时提供负载均衡器的性能指标(如请求计数、延迟、错误率等),帮助用户及时发现并解决潜在问题,确保应用程序的高可用性和性能优化。通过监控,可以快速定位故障点、优化资源配置,并根据流量变化调整负载均衡策略,从而保障业务的稳定运行和用户体验。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
采集器配置
指标采集
登录观测云控制台
点击【集成】菜单,选择【云账号管理】
点击【添加云账号】,选择【AWS】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
点击云账号详情页的【集成】按钮,在未安装列表下,找到 AWS ELB,点击【安装】按钮,弹出安装界面安装即可。

日志采集
1、采集流程介绍

ELB 开启访问日志,并存储到 S3 桶
S3 触发 Event 调用 Lambda 函数,通过 Datait 或者 Dataway 将数据上报到观测云平台
2、ELB application 开启访问日志
选择对应的负载均衡器,进入详情页
在详情页中,点击「操作」,然后选择「编辑负载均衡器属性」
在「监控」类目下开启 「访问日志」,并选择对应的 S3 桶
保存

3、创建 Lambda 函数
打开 Lamba 控制台的函数页面。
选择创建函数
选择从头开始创作
输入函数名称
设置 运行时 选项为 Python 3.10
在 Execution Role(执行角色)中,Lambda 创建执行角色,该角色授予函数上载日志到 Amazon CloudWatchlogs 的权限。在您调用函数时,Lambda 函数担任执行角色,并使用该执行角色为 Amazon 软件开发工具包创建凭证和从事件源读取数据,lambda 权限如下:
点击创建函数
在 GitHub 中拉取同步代码至下方代码源中将
lambda-forward.py
内容复制到lambda-function.py
中在将
lambda-function.py
相同目录下新建setting.py
、datakit.py
、dataway.py
文件,并将 GitHub 中相应文件代码复制进去添加环境变量
这里采用 DataWay 上报数据,以下是必要的配置:
1)GUANCE_NODE:<<< custom_key.brand_name >>>节点,上报数据源为 dataway,必选,选值范围:- default: 中国区 1(杭州)- aws: 中国区 2(宁夏)- cn4: 中国区 4(广州)- cn6: 中国区 6(香港)- us1: 美洲区 1(俄勒冈)- eu1: 欧洲区 1(法兰克福)- ap1: 亚太区 1(新加坡)- za1: 非洲区 1(南非)- id1: 印尼区 1(雅加达)
2)GUANCE_TOKEN:观测云工作空间 Token,上报数据源为 dataway
点击 Deploy 发布
4、配置 Lambda 触发器
点击添加触发器
设置选择一个源为 S3
选择需要监听的 bucket
选择要触发 Lambda 函数的事件 Event types
同意 我承认不推荐对输入和输出使用相同的 S3 bucket,并且这种配置可能导致递归调用、增加 Lambda 使用和增加成本
点击添加

5、访问 ELB 产生日志
访问 ELB 上的应用,ELB 将生成的日志上传到 S3,通过 Lambda 函数进行抓取并上报到观测云。
6、日志数据治理
观测云支持对日志数据的提取,提取规则如下:

关键指标

场景视图
登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “ELB”, 选择 “AWS Application ELB 监控视图”,点击 “确定” 即可添加视图。

日志治理后,可以进行 table 页输出,方便查看和统计分析等。

在日志查看器可以看到日志信息。

监控器(告警)
观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。
登录观测云控制台,点击「监控」 -「新建监控器」,输入 “AWS Application ELB”, 选择对应的监控器,点击 “确定” 即可添加。

AWS ELB Application 请求总数存在突变异常

AWS ELB Application 后端服务存在异常

AWS ELB Application 不健康主机数量过高

总结
AWS ELB 监控至关重要,它能实时洞察负载均衡器性能,助力及时发现并解决潜在问题,保障应用高可用性和性能优化。通过观测云,可集成 AWS ELB 的监控数据,实现一站式可视化和告警。观测云支持多种数据源接入,可将 ELB 的关键指标(如健康主机数、请求计数、延迟等)实时采集并可视化展示,同时基于预设阈值触发告警,让运维人员迅速响应异常,确保业务稳定运行。
评论