AWS培训:Web server log analysis与服务体验

2022-01-17 16:20:09 浏览数 (1)

AWS Web server log analysis

Amazon Kinesis

可让您轻松收集、处理和分析实时流数据,以便您及时获得见解并对新信息快速做出响应。Amazon Kinesis 提供多种核心功能,可以经济高效地处理任意规模的流数据,同时具有很高的灵活性,让您可以选择最符合应用程序需求的工具。借助 Amazon Kinesis,您可以获取视频、音频、应用程序日志和网站点击流等实时数据,也可以获取用于机器学习、分析和其他应用程序的 IoT 遥测数据。借助 Amazon Kinesis,您可以即刻对收到的数据进行处理和分析并做出响应,无需等到收集完全部数据后才开始进行处理。

AWS Lake Formation

基于 AWS Lake Formation 您可以轻松构建起安全的数据湖。数据湖是一个集中的、有组织的、安全的数据存储环境,可以存储您的任意规模的结构化和非结构化数据。您可以按原样存储数据,而无需先对其进行结构化。您可以运行包括:仪表板、可视化、大数据处理、实时分析和机器学习等各种类型的分析和处理,以更好地指导决策制定。

https://aws.amazon.com/cn/blogs/china/getting-started-with-aws-lake-formation/

AWS Glue

是一项完全托管的 ETL(提取、转换和加载)服务,使您能够轻松而经济高效地对数据进行分类、清理和扩充,并在各种数据存储和数据流之间可靠地移动数据。AWS Glue 由一个称为 AWS Glue Data Catalog的中央元数据存储库、一个自动生成 Python 或 Scala 代码的 ETL 引擎以及一个处理依赖项解析、作业监控和重试的灵活计划程序组成。AWS Glue 是无服务器服务,因此无需设置或管理基础设施。

AWS Glue 设计用于处理半结构化数据。它引入了一个称为动态帧 的组件,您可以在 ETL 脚本中使用该组件。动态框架与 Apache Spark DataFrame 类似,后者是用于将数据组织到行和列中的数据抽象,不同之处在于每条记录都是自描述的,因此刚开始并不需要任何架构。借助动态帧,您可以获得架构灵活性和一组专为动态帧设计的高级转换。您可以在动态帧与 Spark DataFrame 之间进行转换,以便利用 AWS Glue 和 Spark 转换来执行所需的分析。

您可以使用 AWS Glue 控制台发现数据,转换数据,并使数据可用于搜索和查询。控制台调用底层服务来协调转换数据所需的工作。您还可以使用 AWS Glue API 操作来与 AWS Glue 服务交互。使用熟悉的开发环境来编辑、调试和测试您的 Python 或 Scala Apache Spark ETL 代码。

https://docs.aws.amazon.com/zh_cn/glue/latest/dg/what-is-glue.html Amazon Athena

是一种交互式查询服务,让您能够轻松使用标准 SQL 直接分析 Amazon S3 中的数据。只需在 AWS 管理控制台中单击几下,客户即可将 Athena 指向自己在 S3 中存储的数据,然后开始使用标准 SQL 执行临时查询并在数秒内获取结果。Athena 没有服务器服,因此没有需要设置或管理的基础设施,客户只需为其执行的查询付费。您可以使用 Athena 处理日志、执行即席分析以及运行交互式查询。Athena 可以自动扩展并执行并行查询,因此可快速获取结果,对于大型数据集和复杂查询也不例外。

代码语言:javascript复制

sudo sh -c 'cat <<EOF >  /etc/aws-kinesis/agent.json
{
  "cloudwatch.endpoint": "monitoring.<AWSRegion>.amazonaws.com",
  "cloudwatch.emitMetrics": true,
  "firehose.endpoint": "firehose.us-east-1.amazonaws.com",
  "flows": [
    {
      "filePattern": "/var/log/httpd/access_log",
      "deliveryStream": "qls-5241374-18099f18c163cfb7-deliveryStream-mX6phCRMYB8w"
    }
  ]
}
EOF'
代码语言:javascript复制
SELECT clientip,
  COUNT(*) clientip
FROM "logsdatabase"."logs"
GROUP BY clientip;


SELECT
clientip, COUNT(DISTINCT agent) as num_agents
FROM "logsdatabase"."logs"
GROUP BY clientip, agent;

黑洞@heidsoft

https://www.cnblogs.com/heidsoft/p/15733121.html

0 人点赞