开放式宙斯出口

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()

有用的链接

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

推荐PyPI第三方库


热门话题
java如何计算大于平均值的数字的百分比。?   JavaFX中后台执行任务的服务   xml解析用于解析java中推荐的xml解析器的小文档   java Nativescript+无法实例化接收器。。。。没找到上课的机会   maven是在数百个Java测试类上应用自定义JUnit测试运行程序的更简单方法   泛型如何引用接口在Java中实现的类类型?   java序列化程序SimpleXML只发送第一行   java字符串组合/排列   java无法创建EMRclient Sdkclientexception   JavaMaven不生成“persistence.xml”文件   java找不到主要方法   java中的正则表达式正负双精度   接口对于我试图解决的问题,有Java设计模式吗?   java在创建bean时获取异常   java如何创建<?使用JCodeModel扩展子类型>?   java在javafx中制作搜索栏   java Compare Hashmap with List=new Arraylist()   java接口与具体类