Documentation ¶
Index ¶
- Constants
- Variables
- func Hostname() (string, error)
- func IP() string
- func InitLocalIps()
- func InitRootDir()
- func InitRpcClients()
- func ParseConfig(cfg string)
- func SendToTransfer(metrics []*model.MetricValue)
- type DebugmetricConfig
- type GlobalConfig
- type HeartbeatConfig
- type HttpConfig
- type SingleConnRpcClient
- type SwitchConfig
- type TransferConfig
Constants ¶
View Source
const ( VERSION = "4.0.2" COLLECT_INTERVAL = time.Second )
changelog: 3.1.3: code refactor 3.1.4: bugfix ignore configuration 3.1.5: more sw support, DisplayByBit cfg 3.1.6 3.2.0: more sw support, fix ping bug, add ifOperStatus,ifBroadcastPkt,ifMulticastPkt 3.2.1 add Discards,Error,UnknownProtos,QLen,fix some bugs 3.2.1.1 debugmetric support multi endpoints and metrics 3.2.1.2 gosnmp use getnext to walk snmp 4.0.0 caculate counter type on swcollect local,add speedpercent 4.0.1 fix sometimes ifstat pannic 4.0.2 fix speedpercent bug
Variables ¶
View Source
var (
ConfigFile string
)
View Source
var LocalIps []string
View Source
var Root string
Functions ¶
func InitLocalIps ¶
func InitLocalIps()
func InitRootDir ¶
func InitRootDir()
func InitRpcClients ¶
func InitRpcClients()
func ParseConfig ¶
func ParseConfig(cfg string)
func SendToTransfer ¶
func SendToTransfer(metrics []*model.MetricValue)
Types ¶
type DebugmetricConfig ¶
type GlobalConfig ¶
type GlobalConfig struct { Debug bool `json:"debug"` Debugmetric *DebugmetricConfig `json:"debugmetric` IP string `json:"ip"` Hostname string `json:"hostname"` Switch *SwitchConfig `json:"switch"` Heartbeat *HeartbeatConfig `json:"heartbeat"` Transfer *TransferConfig `json:"transfer"` Http *HttpConfig `json:"http"` }
func Config ¶
func Config() *GlobalConfig
type HeartbeatConfig ¶
type HttpConfig ¶
type SingleConnRpcClient ¶
type SingleConnRpcClient struct { sync.Mutex RpcServer string Timeout time.Duration // contains filtered or unexported fields }
var (
TransferClient *SingleConnRpcClient
)
func (*SingleConnRpcClient) Call ¶
func (this *SingleConnRpcClient) Call(method string, args interface{}, reply interface{}) error
type SwitchConfig ¶
type SwitchConfig struct { Enabled bool `json:"enabled"` IpRange []string `json:"ipRange"` Gosnmp bool `json:"gosnmp"` PingTimeout int `json:"pingTimeout"` PingRetry int `json:"pingRetry"` Community string `json:"community"` SnmpTimeout int `json:"snmpTimeout"` SnmpRetry int `json:"snmpRetry"` IgnoreIface []string `json:"ignoreIface"` IgnoreOperStatus bool `json:"ignoreOperStatus"` Speedlimit float64 `json:"speedlimit"` IgnorePkt bool `json:"ignorePkt"` Pktlimit float64 `json:"pktlimit"` IgnoreBroadcastPkt bool `json:"ignoreBroadcastPkt"` BroadcastPktlimit float64 `josn:"broadcastPktlimit"` IgnoreMulticastPkt bool `json:"ignoreMulticastPkt"` MulticastPktlimit float64 `json:"multicastPktlimit"` IgnoreDiscards bool `json:"ignoreDiscards"` DiscardsPktlimit float64 `json:"discardsPktlimit"` IgnoreErrors bool `json:"ignoreErrors"` ErrorsPktlimit float64 `json:"errorsPktlimit"` IgnoreUnknownProtos bool `json:"ignoreUnknownProtos` UnknownProtosPktlimit float64 `json:"unknownProtosPktlimit"` IgnoreOutQLen bool `json:"ignoreOutQLen` OutQLenPktlimit float64 `json:"outQLenPktlimit"` LimitConcur int `json:"limitConcur"` FastPingMode bool `json:"fastPingMode"` }
Click to show internal directories.
Click to hide internal directories.