Documentation
¶
Index ¶
Constants ¶
View Source
const ( CONF_METRICS_GROUP_PREFEX = "metrics." KEY_EUREKA_URL = "eureka.urls" KEY_EUREKA_DISCOVERY_INTERVAL = "eureka.interval" DISCOVERY_INTERVAL_DEFAULT = 10 * time.Second CONF_INFLUX_URLS = "influx.urls" CONF_COLLECT_INTERVAL = "collector.interval" DEFAULT_COLLECT_INTERVAL = 10 * time.Second CONF_COLLECT_CRON_TEMPLATE = "%d/%d * * * * ?" LB_FACTOR = 10 )
View Source
const ( CONF_METRICS_JVM_GROUP = "metrics.jvm.group" CONF_METRICS_JVM_TEMPLATE = "metrics.jvm.%s" SERVICE_VALUE = "doing" CONF_HEALTH_4XX_SLEEP = "checker.health.4xx.sleep" DEFAULT_HEALTH_4XX_SLEEP = 10 * time.Minute HOSTS = "hosts,app=%s,host=%s status=%d" )
View Source
const ( HEALTH_TOTAL = "healths,app=%s up=%d,down=%d" HOSTS_STATUS = "hosts,app=%s,host=%s status=%d" )
View Source
const ( INFLUX_DB_DEFAULT = "default_all" INFLUX_WRITE_URL_TEMPLATE = "%s/write?db=%s" INFLUX_QUERY_GET_URL_TEMPLATE = "%s/query?db=%s" INFLUX_QUERY_POST_URL_TEMPLATE = "%s/query" CREATE_DATABASE_TEMPLATE = "CREATE DATABASE %s" DROP_DATABASE_TEMPLATE = "DROP DATABASE %s" )
View Source
const ( CONF_EUREKA_URLS_TEMPLATE = "eureka.urls" CONF_EUREKA_INTERVAL_SECOND = "eureka.interval.second" CONF_CHECK_INTERVAL_SECOND = "checker.interval.second" //CONF_HEALTH_4XX_SLEEP = "checker.health.4xx.sleep" CONF_REDIS_ENABLED = "redis.enabled" CONF_REDIS_ADDR = "redis.addr" CONF_REDIS_PASSWORD = "redis.password" CONF_REDIS_DB = "redis.db" DEFAULT_REDIS_DB = 0 //DEFAULT_HEALTH_4XX_SLEEP = 10 * time.Minute DATE_FORMAT = "2006-01-02.15:04:05.999999" // REDIS_KEY_HEALTH_SERVICES = "health:services" )
View Source
const ( REQUEST_FORMAT = "request,host=%s,api=%s res=%f,count=%f,interval=%f" APP_REQUEST_FORMAT = "app_request,app=%s res=%f,count=%f,interval=%f" METRICS_API_PREFIX = "gauge.servo.response" )
View Source
const (
APP_JVM_FORMAT = "jvm,host=%s "
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AbstractExtractor ¶
type AbstractExtractor struct {
// contains filtered or unexported fields
}
type Collector ¶
type Collector struct {
// contains filtered or unexported fields
}
func NewCollector ¶
func NewCollector(conf kvs.ConfigSource) *Collector
func NewCollectorByFile ¶
func (*Collector) AddOrUpdateCollector ¶
func (c *Collector) AddOrUpdateCollector(app *eureka.Application)
func (*Collector) GetJvmMetrics ¶
func (iw *Collector) GetJvmMetrics()
func (*Collector) StartEureka ¶
func (e *Collector) StartEureka(callbacks ...func(*eureka.Applications))
type HealthChecker ¶
type HealthChecker struct {
Services map[string]*Service
// contains filtered or unexported fields
}
func NewHealthChecker ¶
func NewHealthChecker(conf kvs.ConfigSource) *HealthChecker
func (*HealthChecker) GetServices ¶
func (h *HealthChecker) GetServices() map[string]*Service
func (*HealthChecker) ResetServices ¶
func (h *HealthChecker) ResetServices(services map[string]*Service) map[string]*Service
func (*HealthChecker) Start ¶
func (h *HealthChecker) Start()
type Influx ¶
type Influx struct {
// contains filtered or unexported fields
}
func (*Influx) GetDbWriteUrl ¶
func (*Influx) GetDefaultDbUrl ¶
type Instance ¶
type Instance struct {
Id string `json:"-"`
Name string
Status bool `json:"-"`
//当前健康度,共10分,满10分表示ok,0表示全不ok
//1,5,15分钟内的健康度
Health1m int `json:"1m"`
Health5m int `json:"5m"`
Health15m int `json:"15m"`
HealthCheckUrl string
InstanceInfo *eureka.InstanceInfo `json:"-"`
// contains filtered or unexported fields
}
type JvmExtractor ¶
type JvmExtractor struct {
AbstractExtractor
// contains filtered or unexported fields
}
func NewJvmExtractor ¶
func NewJvmExtractor(serviceName, hostName, timestamp, metricUrl string, interval int, influx *Influx) *JvmExtractor
type MetricsGroup ¶
type MetricsGroup struct {
// contains filtered or unexported fields
}
type RequestExtractor ¶
type RequestExtractor struct {
AbstractExtractor
// contains filtered or unexported fields
}
func NewRequestExtractor ¶
func NewRequestExtractor(serviceName, hostName string, timestamp string, metricUrl string, influx *Influx) *RequestExtractor
type Service ¶
type ServiceCollector ¶
type ServiceCollector struct {
// contains filtered or unexported fields
}
func NewServiceCollector ¶
func NewServiceCollector(serviceName string, collector *Collector) *ServiceCollector
func (*ServiceCollector) AddHost ¶
func (ca *ServiceCollector) AddHost(host *Host)
func (*ServiceCollector) AddOrUpdateHost ¶
func (ca *ServiceCollector) AddOrUpdateHost(app *eureka.Application)
func (*ServiceCollector) HealthOk ¶
func (iw *ServiceCollector) HealthOk(url string) bool
func (*ServiceCollector) Printf ¶
func (ca *ServiceCollector) Printf(format string, v ...interface{})
func (*ServiceCollector) Start ¶
func (ca *ServiceCollector) Start()
Source Files
¶
Click to show internal directories.
Click to hide internal directories.

















