废话不多说,先上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. devstack安装openstack

    devstack是目前安装OpenStack最为方便的工具,一般用于开发和测试OpenStack.如果想在生产环境安装的话,需要对 devstack做很多定制,或者使用puppet/chef等更成熟的 ...

  3. Silverlight开源框架SL提供便捷的二次开发银光框架

    Silverlight开发框架SilverFrame欢迎咨询 基于Silverlight4.0开发,兼容Silverlight 5.0,SQLServer2005数据库.WCF: 本框架有清爽的前端界 ...

  4. Maven 依赖管理

    1  概念介绍 之前我们说过,maven 坐标能够确定一个项目.换句话说,我们可以用它来解决依赖关系.在 POM 中,依赖关系是在 dependencies部分中定义的.在上面的 POM 例子中,我们 ...

  5. IntelliJ IDEA手动配置连接MySQL数据库

    先从菜单View→Tool Windows→Database打开数据库工具窗口,如下图所示: 点击Database工具窗口左上角添加按钮"+",选择数据库类型,这里以MySQL为例 ...

  6. Linux命令之at

    1.命令格式:at[参数][时间]2.命令功能:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd s ...

  7. 腾讯首度公开S级手游品质管理方法

    weimjsam   引言 在最新的手游市场占有率统计中,腾讯游戏稳稳占据一半江山,目前仍以每月一到两款的速度推出新品,在如此复杂多变.响应要求极高的市场环境下,能持续推出高质量产品并保持高效迭代更新 ...

  8. 204. Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. ============= 找质数 ...

  9. Java 中Timer和TimerTask 定时器和定时任务使用的例子

    转自:http://blog.csdn.net/kalision/article/details/7692796 这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任 ...

  10. 【转】页面跳转Transfer与Redirect的区别你知道吗?

    一 前言 关于页面跳转的方式常用的应该就是,链接跳转,js跳转,Server.Tranfser和Response.Redirect 这几种,可是在Tranfser与Redirect之间用哪种更好(本文 ...