废话不多说,先上git地址 https://github.com/binking338/Metrics.Reporters.ZabbixReporter

实现了Metrics.NET到Zabbix的报表插件,能够在非常有限的代码配置下自动将所有的Metrics度量数据全部report到zabbix服务器上,支持自动创建zabbix的template、item。

接口

/// <summary>
/// 数据导出至Zabbix服务器
/// Zabbix服务配置读取至ZabbixApi的配置文件
/// </summary>
/// <param name="reports"></param>
/// <param name="timeInterval">上报时间间隔</param>
/// <returns></returns>
public static MetricsReports WithZabbix(this MetricsReports reports, TimeSpan timeInterval) /// <summary>
/// 数据导出至Zabbix服务器
/// </summary>
/// <param name="reports"></param>
/// <param name="template">Zabbix模板</param>
/// <param name="timeInterval">上报时间间隔</param>
/// <returns></returns>
public static MetricsReports WithZabbix(this MetricsReports reports, string template, TimeSpan timeInterval) /// <summary>
/// 数据导出至Zabbix服务器
/// </summary>
/// <param name="reports"></param>
/// <param name="host">Zabbix服务IP地址</param>
/// <param name="port">Zabbix服务端口</param>
/// <param name="user">Zabbix管理端用户账户</param>
/// <param name="password">Zabbix管理端用户密码</param>
/// <param name="timeInterval">上报时间间隔</param>
/// <returns></returns>
public static MetricsReports WithZabbix(this MetricsReports reports, string host, int port, string user, string password, TimeSpan timeInterval) /// <summary>
/// 数据导出至Zabbix服务器
/// </summary>
/// <param name="reports"></param>
/// <param name="host">Zabbix服务IP地址</param>
/// <param name="port">Zabbix服务端口</param>
/// <param name="user">Zabbix管理端用户账户</param>
/// <param name="password">Zabbix管理端用户密码</param>
/// <param name="template">Zabbix模板</param>
/// <param name="timeInterval">上报时间间隔</param>
/// <returns></returns>
public static MetricsReports WithZabbix(this MetricsReports reports, string host, int port, string user, string password, string template, TimeSpan timeInterval)

示例

使用代码配置

Metric.Config.WithReporting(config => config
.WithZabbix("myZabbixServer", , "Admin", "zabbix", "myZabbixServer", TimeSpan.FromSeconds())
);

使用配置文件(App.config/Web.config)

代码:

Metric.Config.WithReporting(config => config
.WithZabbix(TimeSpan.FromSeconds())
);

配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!--metrics的全局上下文名称,如接口中未传入template参数,该值被用作模板名称-->
<add key="Metrics.GlobalContextName" value="globalContextName"/>
<!--zabbix服务器主机名/IP,如配置了 ZabbixApi.url 该配置可选-->
<add key="Zabbix.host" value="myZabbixServer"/>
<!--zabbix服务端口,默认10051-->
<add key="Zabbix.port" value="10051"/>
<!--zabbix管理端API地址-->
<add key="ZabbixApi.url" value="http://myZabbixServer/zabbix/api_jsonrpc.php" />
<!--zabbix管理端用户名称,不提供将不会自动创建template和item-->
<add key="ZabbixApi.user" value="Admin" />
<!--zabbix管理端用户密码-->
<add key="ZabbixApi.password" value="zabbix" />
</appSettings>
</configuration>
 

Metrics.NET report to Zabbix的更多相关文章

  1. Metrics.NET源码阅读笔记

    概述 Metrics.NET提供的是度量工具,他是移植自Java的metrics.Metrics将度量抽象成Gauges,Counters,Histograms,Meters,Timers五种.基于这 ...

  2. 使用 Zabbix 监控 Jenkins

    笔者最近的工作涉及到使用 Zabbix 监控 Jenkins.在谷歌上搜索到的文章非常少,能操作的就更少了.所以决定写一篇文章介绍如何使用 Zabbix 监控 Jenkins. 下图为整体架构图: 整 ...

  3. 理解metrics.classification_report

    混淆矩阵是一个矩阵,类别个数可以有多个,a[i][j]表示将类别i的样本误判为类别j的个数. classification_report用来分析不同类别的准确率,召回率,F1值等,从而便于按照类别查看 ...

  4. Zipline Risk and Performance Metrics

    Risk and Performance Metrics 风险和性能指标 The risk and performance metrics are summarizing values calcula ...

  5. 7 Java Performance Metrics to Watch After a Major Release--转

    原文地址:https://dzone.com/articles/7-java-performance-metrics-to-watch-after-a-major-1 The Java perform ...

  6. Understanding, Operating and Monitoring Apache Kafka

    Apache Kafka is an attractive service because it's conceptually simple and powerful. It's easy to un ...

  7. spark storage之SparkEnv

    此文旨在对spark storage模块进行分析,整理自己所看所得,等以后再整理. ok,首先看看SparkContext中sparkEnv相关代码: private[spark] def creat ...

  8. Spark 核心篇-SparkEnv

    本章内容: 1.功能概述 SparkEnv是Spark的执行环境对象,其中包括与众多Executor执行相关的对象.Spark 对任务的计算都依托于 Executor 的能力,所有的 Executor ...

  9. 创建Spark执行环境SparkEnv

    SparkDriver 用于提交用户的应用程序, 一.SparkConf 负责SparkContext的配置参数加载, 主要通过ConcurrentHashMap来维护各种`spark.*`的配置属性 ...

随机推荐

  1. 【linux】chmod命令详细用法

    功能说明: 变更文件或目录的权限 u:User,即文件或目录的拥有者. g:Group,即文件或目录的所属群组. o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围. a:Al ...

  2. textarea 限制字数

    $("textarea").keyup(function(){        //console.log($(this).val().length);        var L=$ ...

  3. 【Andorid开发框架学习】之Mina开发之客户端开发

    昨天我们讲到了Mina的基本知识点.如果还有不懂得同学可以看一下我昨天的博客.http://www.cnblogs.com/getherBlog/p/3934927.html今天我着重来讲一下基于Mi ...

  4. Android开发——通过扫描二维码,打开或者下载Android应用

    Android开发——通过扫描二维码,打开或者下载Android应用   在实现这个功能的时候,被不同的浏览器折磨的胃疼,最后实现了勉强能用,也查考了一下其他人的博客 android实现通过浏览器点击 ...

  5. sgu233 little kings

    题目大意: 有n*n的棋盘上放k个国王.国王可以攻击与它相邻的八个格子.现在要使国王不相互攻击,有多少种放置的方案数.一个格子不能放两个国王. n<=10,k<=n*n. 分析:简单的状态 ...

  6. VisualStudio 调试不提示调试错误

    尝试办法: 1.工具->选项->调试->启用异常助手;2.调试->异常; 解决办法: 把2.调试->异常; 下地全部钩上异常就弹出来了

  7. java 对象传递 是 值传递 还是 引用传递?

    这个问题说实话我感觉没有太大的意义. 按第一印象和c++的一些思想去理解的话对象传递是引用传递,因为传递过去的对象的值能被改变. 但是又有很多人,不知道从哪里扣出来一句,java中只有值传递,没有引用 ...

  8. SpringAOP所支持的AspectJ切点指示器

    在spring中尝试使用AspectJ其他指示器时,将会抛出IllegalArgumentException异常. 当我们查看上面展示的这些spring支持的指示器时,注意只有execution指示器 ...

  9. ADF_Database Develop系列2_通过UML数据库开发之将Logical UML转为Physical Models

    2013-05-01 Created By BaoXinjian

  10. PLSQL_性能优化工具系列10_Automatic Database Diagnostic Monitor - ADDM

    2014-09-06 Created By BaoXinjian