monitor.go

package main

import (
    "fmt"
    "net/http"
)

// 查询监控信息的接口
func statsHandler(w http.ResponseWriter, r *http.Request) {
    _str := ""
    for _, v := range BackendSvrs {
        _str += fmt.Sprintf("Server:%s FailTimes:%d isUp:%t\n", v.identify, v.failTimes, v.isLive)
    }
    fmt.Fprintf(w, "%s", _str)
}

// 初始化监控服务地址
func initStats() {
    Log.Infof("Start monitor on addr %s", Config.Stats)

    go func() {
        http.HandleFunc("/stats", statsHandler)
        http.ListenAndServe(Config.Stats, nil)
    }()
}
时间: 2024-08-06 10:28:54

monitor.go的相关文章

sql monitor生成不了报告& FFS hint不生效两个问题思考

事情的发生就是这么偶然,一步步的深入才能汲取到更深入的知识~~ -------------------START-------------------------------------------   来了一个query running longer than 4hours的邮件,来看看里面有哪些sql: SID    SERIAL#    INST_ID SQL_ID        Run_in_sec OS_user     MACHINE       SQL_TEXT         

Performance Monitor Usage5:View Report

1,当Data Collector Set 停止运行后,在Reports Catalog->User Defined->DataCollectorSet_PhysicalDisk 下,会有Data Collection文件,点击View->Performance Monitor,就能查看DataCollectorSet_PhysicalDisk 统计的Performance Counter 数据. 2,这实际上是一个log file,点击View Log Data 能够看到Data So

Oracle Cluster Health Monitor(CHM)简介

Oracle Cluster Health Monitor(CHM)简介 概述 Cluster Health Monitor(以下简称CHM)是一个Oracle提供的工具,用来自动收集操作系统的资源(CPU.内存.SWAP.进程.I/O以及网络等)的使用情况.CHM会每秒收集一次数据. 这些系统资源数据对于诊断集群系统的节点重启.Hang.实例驱逐(Eviction).性能问题等是非常有帮助的.另外,用户可以使用CHM来及早发现一些系统负载高.内存异常等问题,从而避免产生更严重的问题. CHM会

lock与monitor的区别

1.Lock 只能对引用对象加锁 Lock锁定区间内可以对锁定值修改而不发生运行时错误,通常也会采用此种修改方式.这种方式又有点类同于使用Monitor.Wait取得资源,并对这个资源进行操作. 用法: private static readonly object locktask= new object(); pulick void lock() { lock(locktask) { dosomething(); } } 2.Monitor 可以对值类型加锁,实际上是在调用Monitor.En

Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来监控 Oracle 告警日志(monitor alter log file). Linux Shell的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量   

使用线程 Monitor.Wait() 和 Monitor.Pulse()

Wait() 和 Pulse() 机制用于线程间交互.当在一个对象上使用Wait() 方法时,访问这个对象的线程就会一直等待直到被唤醒.Pulse() 和 PulseAll() 方法用来通知等待的线程醒来的.下面是关于Wait() 和 Pulse() 方法如何运行的例子,WaitAndPulse.cs: Wait() 和 Pulse() 方法仅可以在Enter() 和 Exit() 代码块内部 [csharp] view plain copy using System; using System

DB SQL Monitor 阻塞及等待事件监控工具

DB SQL Monitor v1.5 by zhaoguan wang 说明 ------------------------------------------------------------------------------------       从SQL阻塞和等待事件的角度,了解数据库运行情况,供DBA和开发人员分析优化做参考 要求 --------------------------------------------------------------------------

Performance Monitor Usage6:Side Effect

开启Performance Monitor 会不会对Server 性能有影响? 在一个Production Server上,运行一段时间之后,在Task Management 中长款Performance Monitor消耗的资源 引用<SQL Server 2012 实施与管理实战指南>来解释我的疑惑: 默认的Performance Monitor 是用来Real-Time 检测系统的,在现实的问题分析中,更多的是需要在问题发生之前,开启Performance Counter的数据收集,一段

Monitor traffic to localhost from IE or .NET

原文:http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/MonitorLocalTraffic Monitor traffic to localhost from IE or .NET To monitor traffic sent to http://localhost or http://127.0.0.1 from IE8 or below or the .NET Framework: Use your machine name

【C#】【Thread】Monitor和Lock

所谓锁,就是之锁定的区域只能单个线程进入进行操作,其他线程在锁的外围等待.Monitor锁通过Monitor.Enter(obj)和Monitor.Exit(obj)来锁定和解锁.Lock锁则直接Lock(obj)进行锁定.Monitor锁和Lock锁很类似,实质Lock锁是Monitor的变体.lock(obj){}等价为:try{       Monitor.Enter(obj) }catch(){}finally{   Monitor.Exit(obj) }所以lock能做的,Monito