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,点击【安装】按钮,弹出安装界面安装即可。

今日霍州(www.jrhz.info)©️

日志采集

1、采集流程介绍

今日霍州(www.jrhz.info)©️

  • ELB 开启访问日志,并存储到 S3 桶
  • S3 触发Event 调用 Lambda函数,通过Datait 或者 Dataway 将数据上报到观测云平台

2、ELB application 开启访问日志

  • 选择对应的『负载均衡』器,进入详情页
  • 在详情页中,点击「操作」,然后选择「编辑『负载均衡』器属性」
  • 在「监控」类目下开启 「访问日志」,并选择对应的 S3 桶
  • 保存

今日霍州(www.jrhz.info)©️

3、创建 Lambda 函数

  • 打开 Lamba 控制台的函数页面。
  • 选择创建函数
  • 选择从头开始创作
  • 输入函数名称
  • 设置 运行时 选项为 Python 3.10
  • 在 Execution Role(执行角色)中,Lambda 创建执行角色,该角色授予函数上载日志到 Amazon CloudWatchlogs 的权限。在您调用函数时,Lambda 函数担任执行角色,并使用该执行角色为 Amazon 软件开发工具包创建凭证和从事件源读取数据,lambda 权限如下:
logs: CreateLogGroup logs: CreateLogStream logs: PutLogEvents lambda: * AmazonS3ReadOnlyAccess
  • 点击创建函数
  • 在 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 使用和增加成本
  • 点击添加

今日霍州(www.jrhz.info)©️

5、访问 ELB 产生日志

访问 ELB 上的应用,ELB 将生成的日志上传到 S3,通过 Lambda 函数进行抓取并上报到观测云。

6、日志数据治理

观测云支持对日志数据的提取,提取规则如下:

grok(_, "%{NOTSPACE:protocal} %{TIMESTAMP_ISO8601:timestamp} %{NOTSPACE:LoadBalancer} %{IP:client}:%{POSINT:client_port} %{IP:target}:%{POSINT:target_port} %{NUMBER:request_processing_time} %{NUMBER:target_processing_time} %{NUMBER:response_processing_time} %{NUMBER:elb_status_code} %{NUMBER:target_status_code} %{NUMBER:received_bytes} %{NUMBER:sent_bytes} \"%{NOTSPACE:http_method} %{NOTSPACE:uri} HTTP/%{NUMBER:http_version}\" \"%{DATA:user_agent}\" %{NOTSPACE:ssl_cipher} %{NOTSPACE:ssl_protocol} %{NOTSPACE:target_group_arn} \"%{NOTSPACE:x_amzn_trace_id}\" \"%{DATA:domain_name}\" \"%{DATA:chosen_cert_arn}\" %{NUMBER:matched_rule_priority} %{TIMESTAMP_ISO8601:request_creation_time} \"%{WORD:actions_executed}\" \"%{DATA:redirect_url}\" \"%{DATA:error_reason}\" \"%{IP:target_host}:%{POSINT:target_host_port_list}\" \"%{NUMBER:target_status_code_list}\" \"%{DATA:classification}\" \"%{DATA:classification_reason}\" %{NOTSPACE:conn_trace_id}")status = "info"cast(elb_status_code,"int")if elb_status_code >=400 { status = "error"}add_key("aws_log_type","access_log")add_key(status,status)aws_json=load_json(aws)lambda_func_data = aws_json["invoked_function_arn"]add_key(s3_bucket,aws_json["s3"]["bucket"])grok(lambda_func_data, "arn:aws:lambda:%{DATA:region}:%{NUMBER:account_id}:function:%{NOTSPACE:lambda_func}")

今日霍州(www.jrhz.info)©️

关键指标

今日霍州(www.jrhz.info)©️

场景视图

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

今日霍州(www.jrhz.info)©️

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

今日霍州(www.jrhz.info)©️

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

今日霍州(www.jrhz.info)©️

监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

登录观测云控制台,点击「监控」 -「新建监控器」,输入 “AWS Application ELB”, 选择对应的监控器,点击 “确定” 即可添加。

今日霍州(www.jrhz.info)©️

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

今日霍州(www.jrhz.info)©️

AWS ELB Application 后端服务存在异常

今日霍州(www.jrhz.info)©️

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

今日霍州(www.jrhz.info)©️

总结

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

特别声明:[AWS ELB 可观测性最佳实践] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

烟台拿度:磁致伸缩液位传感器行业标杆,工业自动化测控领域技术先锋(烟台磁钢)

在材料创新方面,烟台拿度(NADO)与兵器工业集团西安北方光电技术有限公司合作,开发出耐腐蚀性提升50%的特种波导丝涂层,使传感器在海洋平台、化工储罐等强腐蚀环境中寿命延长至10年以上。Dimetix的D系…

烟台拿度:磁致伸缩液位传感器行业标杆,工业自动化测控领域技术先锋(烟台磁钢)

『机器人』️送粥写“福”亮相“新春好运站” 家电家居上京东 快送快装好轻松

本次年货节期间,京东不仅在线上筹备了丰富的家电家居爆品及专属福利,更在北京两大核心区域同步打造线下“京东家电家居新春好运站”,以科技赋能传统年味,打造沉浸式新春体验,吸引大批市民驻足参与,现场氛围热烈,尽显新…

『机器人』️送粥写“福”亮相“新春好运站” 家电家居上京东 快送快装好轻松

宋妍霏的衣品真无敌了,街拍也穿得这么有气场,『穿搭』小白必须学!(宋妍霏的时尚『穿搭』)

我之前总觉得吊带是瘦子专利,但是看了她穿那条宽肩带的彩色吊带搭配牛仔裤👖,才发现选对版型的重要性简直比什么都强!特别是对于小个子女生来说,搭配高腰裤穿短上衣,能瞬间拉长腿部线条,简直比穿长上衣还要显高,光是这一…

宋妍霏的衣品真无敌了,街拍也穿得这么有气场,『穿搭』小白必须学!(宋妍霏的时尚『穿搭』)

江苏元素即将闪耀春晚舞台 科技与非遗共舞(江苏元素有哪些)

随着2026年央视丙午马年春晚进入最后彩排阶段,“骐骥驰骋 势不可挡”的主题氛围日益浓厚。舞台之外,连续三年携手央视春晚的“吴江游礼”主题真丝拉绒长巾已在各大平台进行售卖,魔法原子、追觅科技等江苏智造“『机器人』️军团”也蓄势待发

江苏元素即将闪耀春晚舞台 科技与非遗共舞(江苏元素有哪些)

871-NSK滚珠丝杠 W1201FA-3P-C3Z5 产品参数介绍 nsk丝杆可调(滚珠丝杠型号查询尺寸表)

王强, 唐川, 马秀平. 滚珠丝杠机构的研究进展[J]. 机械设计与制造, 2015, 12(6): 235-238. 2. 毛威, 高岩,韩伟,等. 滚珠丝杠在机床上的应用及发展[J]. 机床与液压,…

871-NSK滚珠丝杠 W1201FA-3P-C3Z5 产品参数介绍 nsk丝杆可调(滚珠丝杠型号查询尺寸表)