开放式宙斯出口
opencensus-ext-zenoss的Python项目详细描述
用于Python的OpenCensus Zenoss Exporter
一个Python库,用于使用 OpenCensus将统计数据导出到Zenoss。在
状态
这个库处于alpha阶段,API可能会发生变化。在
安装
可以使用以下命令安装包。在
pip install opencensus-ext-zenoss
使用
下面的示例演示如何配置导出器。在
^{pr2}$选项
创建统计信息导出器时,可以使用以下选项。在
address
:Zenoss API地址。默认值为https://api.zenoss.io。在api_key
:Zenoss API密钥。在source
:作为标记添加到所有已发送的度量。推荐。在extra_tags
:要添加到所有已发送度量的附加标记的映射。默认值是{}。在insecure_tls
:设置为True以禁用服务器证书验证。默认值为False。在
示例应用程序
下面是一个完整的应用程序示例,它将写入 每秒测量一次,持续100秒。已为创建分发视图 每10秒将导出到Zenoss的度量值。在
importosimportrandomimportsysimporttimefromopencensus.ext.zenossimportstats_exporteraszenossfromopencensus.statsimportaggregationasaggregation_modulefromopencensus.statsimportmeasureasmeasure_modulefromopencensus.statsimportstatsasstats_modulefromopencensus.statsimportviewasview_modulefromopencensus.tagsimporttag_mapastag_map_module# Setup aliases to make working with OpenCensus easier.stats=stats_module.statsview_manager=stats.view_managerstats_recorder=stats.stats_recorder# Create a measure.m_latency_ms=measure_module.MeasureFloat("task_latency","The task latency in milliseconds","ms")# Create a view using the measure.latency_view=view_module.View("task_latency_distribution","The distribution of the task latencies",[],m_latency_ms,# Latency in buckets: [>=0ms, >=100ms, >=200ms, >=400ms, >=1s, >=2s, >=4s]aggregation_module.DistributionAggregation([100.0,200.0,400.0,1000.0,2000.0,4000.0]))defmain():address=os.environ.get("ZENOSS_ADDRESS",zenoss.DEFAULT_ADDRESS)api_key=os.environ.get("ZENOSS_API_KEY")ifnotapi_key:sys.exit("ZENOSS_API_KEY must be set")# Create Zenoss exporter.exporter=zenoss.new_stats_exporter(options=zenoss.Options(address=address,api_key=api_key,source="app.example.com"),interval=10)# Register Zenoss exporter.view_manager.register_exporter(exporter)# Register our example view.view_manager.register_view(latency_view)# Prepare measurement map, and tag map we can reuse for each sample.measurement_map=stats_recorder.new_measurement_map()tag_map=tag_map_module.TagMap()# Record one random measurement each second for 100 seconds.print("Recording measurements:")foriinrange(100):ms=random.random()*5*1000print(" - latency {}:{}".format(i,ms))measurement_map.measure_float_put(m_latency_ms,ms)measurement_map.record(tag_map)time.sleep(1)if__name__=="__main__":importlogging# Setup default logging configuration.logging.basicConfig()# Change level of Zenoss exporter's logging to debug.logging.getLogger("opencensus.ext.zenoss").setLevel(logging.DEBUG)main()
有用的链接
- 有关Zenoss的更多信息,请访问:https://zenoss.com。在
- 有关OpenCensus的更多信息,请访问:https://opencensus.io。在
- 项目
标签: