废话不多说,先上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. C++的头文件和实现文件分别写什么

    在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析.于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念. 对于以C起步,C#作为& ...

  2. js封常用类

    ajax刷 下拉框联动 /*基础初始化类*/ $.EBC = { setCourse:function(obj){ $(obj).empty(); $.get('../Index/getCoursei ...

  3. Saltstack系列1:安装配置

    安装 安装EPEL作为安装Ansible的yum源(CentOS6.4) rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release ...

  4. css3旋转小三角

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Service代码示例

    package com.homily.training.service; import android.app.Service; import android.content.Intent; impo ...

  6. 自己动手写ORM

    http://blog.csdn.net/sundacheng1989/article/category/1350100

  7. windows上传文件到linux

    1.在putty的网站上下载putty跟pscp 2.安装ssh跟putty sudo apt-get install openssh-server sudo apt-get install putt ...

  8. redis info命令详解

    以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值. 通过给定可选的参数 section ,可以让命令只返回某一部分的信息: server : 一般 Red ...

  9. jsLint配置参数解释

    转自: http://www.cnblogs.com/elementstorm/archive/2013/04/10/3012679.htmlanon :true //匿名函数声明中function关 ...

  10. shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间

    jmeter参数化部分参考上一篇 shell参数说明:$1线程数,$2:全部并发数rampup时间,$3:脚本持续运行时间,$4:每次脚本循环持续时间 $5:所以循环持续时间 #!/bin/bash ...