通过 BigQuery 查询 Http 负载均衡流量信息的实现方法

阅读数:229 2019 年 11 月 28 日 15:10

通过BigQuery查询Http负载均衡流量信息的实现方法

Http 负载均衡的日志保护很多内容,目前包括这些字段:

复制代码
logName,
Resource.type,
Resource.labels.url_map_name,
Resource.labels.forwarding_rule_name,
Resource.labels.backend_service_name,
Resource.labels.target_proxy_name,
Resource.labels.zone,
Resource.labels.project_id,
textPayload,
Jsonpayload_type_loadbalancerlogentry._type,
Jsonpayload_type_loadbalancerlogentry.statusdetails,
Timestamp,
receiveTimestamp,
Severity,
insertId,
httpRequest.requestMethod,
httpRequest.requestUrl,
httpRequest.requestSize,
httpRequest.status,
httpRequest.responseSize,
httpRequest.userAgent,
httpRequest.remoteIp,
httpRequest.serverIp,
httpRequest.referer,
httpRequest.cacheLookup,
httpRequest.cacheHit,
httpRequest.cacheValidatedWithOriginServer,
httpRequest.cacheFillBytes,
httpRequest.protocol,
Operation.id,
Operation.producer,
Operation.first,
Operation.last,
trace,spanId,
traceSampled,
sourceLocation.file,
sourceLocation.line,
sourceLocation.function

通过这些字段,可以查询 Http 负载均衡的流量、CDN Cache 的流量、http status 等各种信息。

本文将介绍如何实现把 http 负载均衡的日志导入到 BigQuery ,并实现查询。

一 创建 http 负载均衡

通过 Google 的 console 或命令行创建一个 http 的负载均衡:
通过BigQuery查询Http负载均衡流量信息的实现方法

二 把 http 负载均衡的日志导入 BigQuery

创建好后,把负载均衡的日志通过 stackdriver 导入到 BigQuery 中。

1 logging export
在 STACKDRIVER 中选择 logging,选择 exports:
通过BigQuery查询Http负载均衡流量信息的实现方法
2 Edit Export

  1. 选择 Cloud HTTP Load Balancer,
  2. 在 Edit Export 中起一个 export 的名字,tobigquery
  3. Sink Service 选 BigQuery
  4. Sind Destination 选择创建一个新的 BigQuery dataset

通过BigQuery查询Http负载均衡流量信息的实现方法
3 new BigQuery dataset
给新的 dataset 起一个名字,并创建
通过BigQuery查询Http负载均衡流量信息的实现方法
通过BigQuery查询Http负载均衡流量信息的实现方法
4 update Export
对创建好的 Export,可以修改内容,比如指定具体的 http 负载均衡:
通过BigQuery查询Http负载均衡流量信息的实现方法
这里指定了 hw-http-lb-01-forwarding-rule 这个负载均衡规则的 logging。选择好后,点击 update sink:
通过BigQuery查询Http负载均衡流量信息的实现方法

三 BigQuery 中查询

1 查询准备

过一段时间,在 BigQuery 中 ( https://bigquery.cloud.google.com ) 可以看到创建的 DataSet 已经有数据进来:
通过BigQuery查询Http负载均衡流量信息的实现方法

点击 compose Query:
通过BigQuery查询Http负载均衡流量信息的实现方法
点击 show options:
通过BigQuery查询Http负载均衡流量信息的实现方法
去掉 Use Legacy SQL 后点击 hide Options:
通过BigQuery查询Http负载均衡流量信息的实现方法

2 查询

具体查询:
通过BigQuery查询Http负载均衡流量信息的实现方法
查询 http status 是大于 200,小于 400 的访问(正常访问)
通过BigQuery查询Http负载均衡流量信息的实现方法
或者 >400 的非正常访问。

3 统计流量

通过 SQL 中的 sum 功能统计流量:
通过BigQuery查询Http负载均衡流量信息的实现方法
统计了 http status 大于等于 200,小于 400 的下行流量为 1.7M。

四 总结

通过把 http 负载均衡的日志导入 BigQuery,可以方便的在 BigQuery 中对 Http 的各种属性通过 SQL 语句进行统计和分析。

文章版权归作者所有,未经许可不得转载。

评论

发布
用户头像
666
2019 年 12 月 04 日 16:40
回复
用户头像
很棒
2019 年 12 月 03 日 14:34
回复
那是
2019 年 12 月 04 日 16:40
回复
没有更多了