google云监控api命令行

gcpmetrics的Python项目详细描述


#google云监控api命令行

[![pypi](https://img.shields.io/pypi/v/gcpmetrics.svg)(https://img.shields.io/pypi/v/gcpmetrics.svg)
[![构建状态](https://travis-ci.org/odin-public/gcpmetrics.svg?branch=master)(https://travis ci.org/odin public/gcpmetrics)


主页:https://github.com/odin public/gcpmetrics

\1。概述

google monitoring api v3允许您访问来自google云平台和amazon web服务的900多个stackdriver监控
指标。您可以创建自己的自定义度量,并使用组来组织云资源。


更多信息:https://cloud.google.com/monitoring/api/v3/

此工具提供了一个简单的命令行界面来查询google monitoring api v3。
在与h谨慎的监控工具,如Zabbix(http://www.zabbix.com/)
或Nagios(https://www.nagios.org/)。

2。安装

您只需运行

````
$pip install——升级gcpmetrics
```

3即可安装此工具。authentication

要运行此工具,您需要使用google cloud api进行身份验证。支持两种认证方式:(a)交互式登录和(b)服务帐户令牌。

a.交互式

nt
json keyfile并使用--keyfile参数指向它。

````
$gcpmetrics--keyfile./keyfile.json[…]
````


gcloud身份验证的详细信息:http://googlecloudplatform.github.io/gcloud python/stable/gcloud auth.html

4。project id

项目id是google云平台项目的唯一标识符,仅在控制台中使用。创建项目后无法更改项目ID。您需要用--project参数识别您的项目id

```
$gcpmetrics--project my unique project id[…]
````

>有关如何定位项目id的详细信息:https://support.google.com/cloud/answer/6158840

5。受监视的资源

受监视的资源表示生成某些监视数据的云实体或其主题。
您可以通过运行以下命令列出当前可见的所有受监视资源:

````
$gcpmetrics--keyfile./keyfile.json--project my unique project id--列出资源

ing/api/v3/metrics简介资源

可用度量

metricdescriptor定义度量类型及其维度,可以列出
,如下例所示:

````
$gcpmetrics--keyfile./keyfile.json--project my unique project id--list metrics

defined metric descriptors:
metric descriptor 1
名称:projects/my unique project id/metricdescriptors/agent.googleapis.com/agent/api_request_count
类型:agent.googleapis.com/agent/api_request_count
度量类型:cumulative
值类型:int64
单位:1
显示名称:api request count
描述:api requuest count
[…]
```

>有关度量的更多详细信息:https://cloud.google.com/monitoring/api/v3/metrics metric descriptor

7。简单查询

检索标准度量的简单查询示例(参见https://cloud.google.com/monitoring/api/metrics)
标识为"appengine.googleapis.com/system/cpu/usage"如下:

`````
$gcpmetrics--keyfile./keyfile.js在\
--project my unique project id \
--查询--第2天\
--metric appengine.googleapis.com/system/cpu/usage


查询:metric.type="appengine.googleapis.com/system/cpu/usage"
资源类型gae-app
项目ID my unique-project-id
模块ID默认值
版本ID 1
源API运行时
2016-08-30 13:35:52.268 0.0

2016-09-01 13:32:52.268 0.0 18.0

[2825行x 4列]
`````


请注意,时间段是必需的,在上面的示例中,它被指定为2天(从"现在"开始)。

聚合

假设我们要计算上例中使用的相同计数器的总值。
查询如下:

````
$gcpmetrics--keyfile./keyfile.json\
--项目我的唯一项目ID\
--查询--第2天\
--度量appengine.googleapis.com/system/cpu/usage\
--减少减少总和\
--对齐总和

ali align:align_sum seconds:172800.0
reduce:reduce_sum grouping:none
query:metric.type="appengine.googleapis.com/system/cpu/usage"
resource_type gae_app
project_id my unique project id
2016-09-01 13:40:00 45809
`````

支持--对齐参数:

-对齐无
-对齐增量
-对齐速率
-对齐插值
-对齐下一个旧的
-对齐最小值
-对齐最大值
-对齐平均值
-对齐计数
-对齐和
-对齐stddev
-对齐计数为真
-对齐n_fraction_true

受支持--减少参数:

-减少无
-减少平均值
-减少最小值
-减少最大值
-减少和
-减少stddev
-减少计数
-减少计数
-减少分数
-减少百分比_百分位-减少百分位-减少百分位

9。静默模式

在某些情况下(例如集成到zabbix之类的系统中),您只需要将结果值
打印到标准输出。为此,只需附加--iloc00,如下所示:

````
$gcpmetrics--keyfile./keyfile.json\
--投影我唯一的项目ID\
--查询--days 2\
--metric appengine.googleapis.com/system/cpu/usage\
--减少"求和"\
--对齐"求和"
--iloc00

45809
```


请注意,"iloc"代表熊猫库的"整数位置"(http://pandas.pydata.org/)
,并引用返回表的索引[0:0]。因此只能使用聚合值。

10。度量筛选

假设您希望计算给定时间段内5xx响应的总数。
负责此操作的coutner称为"appengine.googleapis.com/http/server/response\u count",
,但您需要应用筛选(500<;=code)&;(code<;600)。您可以使用以下
命令来完成此操作:

```
$gcpmetrics--keyfile./keyfile.json--project my unique project id\
--query--days 2\
--metric appengine.googleapis.com/http/server/response-count--metric filter--response-code--greateRequal:500,response_code_less:600

查询:metric.type="appengine.googleapis.com/http/server/response_count"\
和metric.label.response_code<;600\
和metric.label.response_code>;=500

d我唯一的项目id
模块id默认服务2
版本id1 0-1-dev159
加载假真假
响应代码500 500 501
2016-08-30 15:13:34.577 NaN 1.0 NaN
2016-08-30 15:14:34.577 2.0 0.0 nan
2016-08-30 15:15:34.577 0.0 0 nan
[…]
````


ue}")'```
- ```'{key}_suffix:{value}'``` becomes ```'{key} = ends_with("{value}")'```
- ```'{key}_greater:{value}'``` becomes ```'{key} > {value}'```
- ```'{key}_greaterequal:{value}'``` becomes ```'{key} >= {value}'```
- ```'{key}_less:{value}'``` becomes ```'{key} <;{value}```
-````{key}资源筛选

如果需要根据资源属性进行筛选,可能需要直接使用--resource filter,
或者使用下面示例中显示的--service as

pmetrics--keyfile./keyfile.json\
--project my unique project id\
--查询--第2天\
--metric appengine.googleapis.com/http/server/response\u count\
--metric filter\
响应代码等于500,响应代码小于600\

查询:metric.type="appengine.googleapis.com/http/server/response\u count"\
和resource.label.module\u id="default"\
和metric.label.response\u code<;600\
和metric.label.response\u code>;=500

我的唯一项目ID
模块ID默认值
版本ID 1
加载假真值
响应代码500 500
2016-08-30 15:13:34.577nan 1.0
2016-08-30 15:14:34.577 2.0 0.0
2016-08-30 15:15:34.577 0.0
[…]
`````

请注意,这次只返回服务"默认"数据。
有关过滤器的更多信息:https://cloud.google.com/monitoring/api/v3/filters

12。配置

在跨多个元组项目监视多个度量时,可以方便地预先定义命令行
参数(而不是每次都写入整套参数)。这可以通过配置文件来实现。


您可以通过运行以下命令来初始化自己的配置:
````
$gcpmetrics--init config./folder

creating folder:。/folder
creating configuration file:。/folder/config.yaml
creating(empty)key file用法:./folder/keyfile.json
已创建配置,请使用"-config./folder"引用它。
````

_响应"5xx"和:
查询:true
无限:true
度量:"appengine.googleapis.com/http/server/response\u count"
度量"filter:"response\u code\u greaterEqual:500,response\u code\u less:600"
对齐:"align\u sum"
减少:"reduce\u sum"
iloc00:true
````

这是一个包含与工具本身相同的命令行参数的yaml文件。
通过引用此文件,工具将获取其中定义的参数,即

````
$gcpmetrics--config./folder/config.yaml
````



```
$gcpmetrics--keyfile./keyfile.json\
--project my unique project id\
--基于上面定义的配置文件的服务默认值
````

13。预设值

也可以引用配置文件中定义的配置预设值。
基于下面的配置文件示例,其中定义了"http_response_5xx_sum"
可以运行以下命令:

````
$gcpmetrics--in it config.。/folder——预置http_response_5xx_sum
```


,将被解释为

````
$gcpmetrics——keyfile./keyfile.json\
——project my unique project id\
——服务默认值\
——查询:真\
——无限:真\
--metric:appengine.googleapis.com/http/server/response_count\
--metric_filter response_code_greaterEqual:500,response_code_less:600\
--align align_sum\
--reduce_sum\
--iloc00 true
````

14。所有参数

````
$gcpmetrics--help


用法:gcpmetrics[-h][--version][--init config dir][--config file]
[--keyfile file][--preset id][--project id]
[--list resources][--list metrics][--query][--service id]
[--metric id][--infinite][--days int][--hours int]
[--minutes int][--resource filter s][--metric filter s]
[--align a][--reduce r][--reduce grouping r][--iloc00]

google cloud monitoring api命令行
网站:https://github.com/odin public/gcpmetrics

已使用。
--密钥文件goolge云平台服务帐户密钥文件。
--预设ID预设ID,如http_response_5xx_sum等。
--项目ID项目ID。
--列出资源列表监视的资源描述符并退出。
--列出度量列表av可用的度量描述符并退出。
--查询运行时间序列查询。
--服务ID服务ID。
--由Google监视API定义的度量ID度量ID。
--从时间开始无限计算时间增量。
--天整数从现在开始计算查询开始日期的天数。
--从现在开始计算查询开始日期的小时数。
--从现在开始计算查询开始日期的分钟数。
--资源筛选器以var:val[,var:val]格式筛选资源。
--metric filter以var:val[,var:val]格式过滤度量。
--对齐数据对齐,对齐和。etc.
--减少r数据的减少r减少none、减少sum等。
--减少分组r减少var1[,var2]格式的分组。
--仅从表索引[0:0]打印iloc00值。
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:不解析XML的简单XML。例外   KIE Workbench的java自定义UI   java将元素从bucket移动到LinkedList,但有一个元素被完全删除   如何将java stream collect转换为scala   java运行AsynkTask多次不工作   java组织。xml。萨克斯。SAXParseException:cvccomplextype。2.4.c:匹配的通配符是严格的   java是一种计算排序算法所需时间的合适方法   java在O(logn)时间内对排序整数数组中具有相同数字的数字进行计数   xpages从当前数据库javaAgent调用另一个数据库的javaAgent   java如何在instagram中上传特定位置的所有照片   JavaApachePOI可以有效地删除多个列   java创建的对象数   java我可以在关闭连接时关闭Oracle JDBC自动提交吗?