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 可观测性最佳实践] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

疏水剂未知原料化验憎水剂成分配方定性定量(疏水剂未知原料是什么)

疏水剂是一种通过化学改性赋予物质表面疏水性能的化合物,主要用于防水、防污等场景。 疏水剂的核心成分是表面活性剂,分子结构包含亲水基和疏水基。 有机硅是常见的疏水剂成分,具有耐热性、耐化学性和电绝缘性,能降低表…

疏水剂未知原料化验憎水剂成分配方定性定量(疏水剂未知原料是什么)

『优酷』独播《雨霖铃》:正午阳光再造武侠巅峰,追定了!(雨在线观看完整版本)

途中,他结识了精通机关术的玲珑山庄大小姐霍玲珑(章若楠 饰)、江湖气十足的“锦毛鼠”白玉堂(方逸伦 饰),三人从利益结盟到生死与共,最终联手挫败襄阳王的谋反大计,于刀光剑影中诠释“侠之大者,为国为民”的真谛。…

『优酷』独播《<strong>雨霖铃</strong>》:正午阳光再造武侠巅峰,追定了!(雨在线观看完整版本)

快手子公司被罚超2600万;曝苹果iPhone Air 2年内发布无望;比亚迪海洋8系“双旗舰”实车曝光...(快手子公司被罚款超2600万)

科技媒体 Wccftech 1 月 30日发布博文,报道称鉴于现有的商业模式,高通短期内不会在其『骁龙』『芯片』组中,全面普及类似苹果的“统一内存架构”。 小米 17T 手机曝光,将搭载天玑9500s 『芯片』和 …

快手子公司被罚超2600万;曝苹果iPhone Air 2年内发布无望;比亚迪海洋8系“双旗舰”实车曝光...(快手子公司被罚款超2600万)

『李连杰』曾因荒诞谣言解衣自证清白,如今容光焕发,从容应对一切(『李连杰』一)

关注『李连杰』的人都知道,他已经62岁了,但看起来仍旧精神焕发,头发依旧黑亮,做起踢腿和跳跃这些武术动作时,依然流畅自然,完全看不出岁月的痕迹。这一举动,是他对那些谣言最有力的回应,换心脏这种事根本不可能发…

『李连杰』曾因荒诞谣言解衣自证清白,如今容光焕发,从容应对一切(『李连杰』一)

肠淋巴瘤最怕三个东西(肠淋巴瘤最怕三种食物)

肠淋巴瘤是一种罕见的肠道恶性『肿瘤』,其最关注的是早期诊断、规范治疗和『健康生活方式』。早期诊断可以提高治愈率,规范治疗能够有效控制病情,而健康的生活方式则有助于增强免疫力,降低复发风险

肠淋巴瘤最怕三个东西(肠淋巴瘤最怕三种食物)