<Google Cloud Logging>调研

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 2015年3月做的Google Cloud Logging新产品调研,转给感兴趣的同学

(2015年3月做的调研,转给感兴趣的同学)

背景:

在Google之前Amazon在2014年已推出Kinesis,LogTail,CloudWatch for Logs等一系列围绕日志产品,用以对云平台产生的日志进行收集、分发、报警与监控,在更早之前S3访问日志已早被作为一个特性集成到S3中,供用户进行下载分析。日志作为云平台从计算到数据一环的载体,逐渐为云平台的增值服务开始创造新一轮价值。

Cloud Logging体系:

功能:收集并转储Google Platform产生日志

  • 提供Log Viewer查询日志
  • 将日志同步Cloud Storage(S3)或BigQuery
  • 提供google-fluentd Agent收集第三方日志

支持平台:一种为Container,后者为常规的虚拟机

  • App Engine
  • Compute Engine

收费:日志收集、查看(搜索)是免费的,但到其他系统过程中需要计算导入费用

  • LogViewer中查看免费(30天)
  • 导入Cloud Storage,BigQuery额外收费

限额Quota:

  • 日志流数目:100个/Project
  • 单实例最大流量:10GB/月
  • LogViewer保存时间:30天

权限控制:比较简单

  • “Can view” access can list logs and read log entries.
  • “Can edit” access can both view and write log entries.
  • “Owner” access can additionally configure log export.

数据模型: 单条日志叫Log Entry,Log Entry属于特定Log Type(例如access log,appengine log等),每一条日志有如下类型:

  1. LogType:文本类型
  2. MetaData
  3. Time: 必填字段,代表日志产生时间
  4. 其他字段:非必填字段

    1. PayLoad (两者选其一)
    2. TextPayLoad:全文本、非结构化
    3. ProtoPayload:结构化,通过Json方式编码,Json对应格式描述在“@type”这个Field中

如下是两个例子:

  1. ProtoPayload 例子:requestLog
{
"log": "appengine.googleapis.com/request_log",
"insertId": "54b56b5700ff0c26090e5f49ae0001737e6d792d6763702d70726f6a6563742d69640001737e6d792d6763702d70726f6a6563742d69642f31000100",
"metadata": {
"timestamp": "2015-01-13T19:00:39.796169Z",
"labels": {
"appengine.googleapis.com/clone_id": "00c61b117c5cc80afb2d2c7c3a2a0259eddd",
"appengine.googleapis.com/version_id": "1",
"appengine.googleapis.com/module_id": "default"
},
"zone": "us2",
"serviceName": "appengine.googleapis.com"
},
"protoPayload": {
"@type": "type.googleapis.com/google.appengine.logging.v1.RequestLog"
"versionId": "1",
"userAgent": "Stackdriver_terminus_bot(http://www.stackdriver.com)",
"urlMapEntry": "myproject.wsgi.application",
"status": 200,
"startTime": "2015-01-13T19:00:39.796169Z",
# ...
"appId": "s~my-gcp-project-id",
"appEngineRelease": "1.9.17",
}
}```
2. TextPayload 例子:syslog

"log": "syslog",
"insertId": "2015-01-13|11:17:03.030166-08|10.106.208.12|301990226",
"metadata": {

 "timestamp": "2015-01-13T19:17:01Z",
 "labels": {
   "compute.googleapis.com/resource_id": "15543007601548826368",
   "compute.googleapis.com/resource_type": "instance"
 },
 "zone": "us-central1-a",
 "serviceName": "compute.googleapis.com",
 "projectId": "my-gcp-project-id"

},
"textPayload": "Jan 13 19:17:01 my-gce-instance /USR/SBIN/CRON[29980]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)"
}`

关于LogViewer

搜索是Google绝活,所以LogViewer这个功能应该不在话下,LogViewer向用户提供两种模式:

  • TAIL:就像tail -f一样,可以通过流的方式刷新当前最新的日志,这个功能对于在AppEngine中调试程序的开发着而言,非常方便
  • 搜索:通过选择LogType,Time(结束时间,开始时间默认为30天前),以及Query

其中Query支持三个维度的逻辑:

  • 指定Label:对于类型为protopayload(既带自描述日志),可以增加限定词。例如status:404,则会限定404这个term出现在status这field的日志才会被返回
  • 数值类比较:可以输入一个数值范围,例如返回[404 499]范围内的错误,则可以输入status:404…499(数字之间的三个dot代表区间)
  • 布尔逻辑:在Query中不需要显示指定AND OR等逻辑运算符,而是用一种简化的逻辑。当Query中出现两个相同的label时,语义为or,例如”status:404 status:500″,则表达语义为OR。当不同label出现时,语义为AND。例如“status:200 latency:100…10000 operation:get”,三者都满足时才会被返回。

一些观察:

  1. Google可以支持case sensitive,估计建了两遍索引。
  2. 不支持分词,不支持前缀与后缀搜索,可能是因为成本问题,没有在index中放term pos
  3. 非严格有序,官方文档提到搜索结果返回时间可能会有分钟级的乱序。猜想的原因是对于AppEngine这样的环境,无法保证一个严格的日志序,而是以日志到达的时间作为索引的顺序,减少全局排序的代价
  4. LogViewer未提供API,只是作为Tool来提供。估计有两种原因,第一怕被机器调用,减少运行代价。日志查询与搜索引擎返回不同,在API层面难以确保严格的确定性,例如3提到的问题,或有丢日志、延迟搜索等隐患。

日志分发功能(Export)

Google目前提供两种目标:

  • Google Storage:

    • 路径:my-gcs-bucket/syslog/YYYY/MM/DD/
    • 格式:08:00:00_08:59:59_S0.json 08:00:00_08:59:59_S1.json
    • 周期:小时
  • Google BigQuery:

    • 路径:以不同虚拟表作为目标节点
    • my_bq_dataset.apache_access_YYYYMMDD
    • my_bq_dataset.compute_googleapis_com_activity_log_YYYYMMDD
  • 周期:实时

    • Schema:基于LogEntry Schema
      *日志收集(针对第三方应用)

    *对于大量的第三方日志,Google没有使用通用的方法(例如正则表达式,Gork等)而是使用了开源Agent(google-fluentd ),并且为每种日志提供了个性化的配置,方便用户更快接入。

支持操作系统列表:

  • Debian 7 “Wheezy” and Debian-7-backports
  • Ubuntu 12.04 “Precise”, 14.04.1 LTS “Trusty Tahr”, and 14.10 “Utopic”
  • Red Hat Enterprise Linux 6 and 7
  • CentOS 6 and 7

参考链接

https://cloud.google.com/logging/docs/

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
8月前
|
存储 人工智能 大数据
云计算平台:AWS、Azure和Google Cloud的比较与选择
在当今数字化时代,云计算平台成为了企业和个人的首选。本文将重点比较三大主流云计算平台:AWS、Azure和Google Cloud,从性能、功能、可用性以及定价等方面进行综合评估,帮助读者更好地选择适合自己需求的云计算平台。
|
8月前
|
机器学习/深度学习 存储 人工智能
云计算平台选择之路:AWS、Azure和Google Cloud的比较与抉择
在当今数字化时代,云计算平台扮演着企业转型和创新的关键角色。本文将对三大主流云计算平台——AWS、Azure和Google Cloud进行比较分析,为读者提供选择指南。我们将从性能、可靠性、生态系统、服务和定价等方面综合评估,以帮助读者做出最适合他们业务需求的决策。
742 0
|
Linux 网络安全 数据安全/隐私保护
linux 本地终端 SSH 连接 gcp (Google Cloud Platform ) 配置教程
linux 本地终端 SSH 连接 gcp (Google Cloud Platform ) 配置教程
8340 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
解密Google Cloud 全新 PaLM2及创新应用
这篇文章深入解析了Google Cloud推出的PaLM2大语言模型的特点及其在不同行业中的创新应用。
|
5月前
|
开发者 监控 开发工具
如何将JSF应用送上云端?揭秘在Google Cloud Platform上部署JSF应用的神秘步骤
【8月更文挑战第31天】本文详细介绍如何在Google Cloud Platform (GCP) 上部署JavaServer Faces (JSF) 应用。首先,确保已准备好JSF应用并通过Maven构建WAR包。接着,使用Google Cloud SDK登录并配置GCP环境。然后,创建`app.yaml`文件以配置Google App Engine,并使用`gcloud app deploy`命令完成部署。最后,通过`gcloud app browse`访问应用,并利用GCP的监控和日志服务进行管理和故障排查。整个过程简单高效,帮助开发者轻松部署和管理JSF应用。
69 0
|
8月前
|
机器学习/深度学习 人工智能 安全
【专栏】云计算平台的比较与选择:AWS、Azure 和 Google Cloud
【4月更文挑战第28天】本文对比了AWS、Azure和Google Cloud三大云计算平台,强调了解它们的差异对于企业选择合适云服务的重要性。AWS以其丰富功能和广泛覆盖领先,Azure与微软生态紧密集成,适合已使用微软技术的企业,而Google Cloud在大数据和AI领域有优势。选择时应考虑服务功能、成本、扩展性、技术支持、安全合规及行业生态。最终决策应基于全面评估以确保为企业提供高效、可靠的云服务。
809 0
|
8月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
388 4
|
8月前
|
存储 机器学习/深度学习 人工智能
云计算巨头之争:AWS、Azure和Google Cloud的综合对比与选择指南
本文详细比较了三大云计算平台AWS、Azure和Google Cloud在性能、可靠性、服务覆盖范围、定价策略以及生态系统等方面的优势和劣势。通过对这些关键因素的分析,读者将能够更好地理解各个平台的特点,并为自己的业务选择最合适的云计算平台。
828 0
|
开发工具
阿里云的镜像服务(mirrors.aliyun.com)可以同步 Google Cloud SDK 的软件包
阿里云的镜像服务(mirrors.aliyun.com)可以同步 Google Cloud SDK 的软件包
2236 3
|
8月前
|
人工智能 大数据 数据处理
云计算巨头大比拼:AWS、Azure和Google Cloud的终极对决
在云计算领域,AWS、Azure和Google Cloud三家巨头一直在竞相争夺市场份额。本文将从性能、可靠性、定价策略以及生态系统等方面对它们进行全面比较,帮助读者做出明智的选择。
1175 0

热门文章

最新文章