fix port check and push debug log (#86)

* fix port check and push debug log

1:如果服务没有监听在 0.0.0.0 上,而是监听在特定地址上的话,在 127.0.0.1 上无法检测到端口。修改为如果 127.0.0.1 检测不到话,在 identity 的地址上再检测一次。
2. http push 部分缺乏 debug 日志,把 debug log 改到 push 里面以补全。

* Update cron.go
This commit is contained in:
Feng_Qi 2020-04-13 19:10:04 +08:00 committed by GitHub
parent 99ca7fb862
commit 12cadb218d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 5 deletions

View File

@ -6,8 +6,6 @@ import (
"github.com/didi/nightingale/src/dataobj"
"github.com/didi/nightingale/src/modules/collector/sys"
"github.com/didi/nightingale/src/toolkits/identity"
"github.com/toolkits/pkg/logger"
)
func Collect() {
@ -46,7 +44,6 @@ func collect(sec int64, fn func() []*dataobj.MetricValue) {
item.Step = sec
item.Endpoint = identity.Identity
item.Timestamp = now
logger.Debug("push item: ", item)
metricValues = append(metricValues, item)
}
Push(metricValues)

View File

@ -39,7 +39,7 @@ func Push(metricItems []*dataobj.MetricValue) error {
continue
}
}
logger.Debug("push item: ", item)
items = append(items, item)
}

View File

@ -56,9 +56,19 @@ func PortCollect(p *model.PortCollect) {
}
func isListening(port int, timeout int) bool {
if isListen(port, timeout, "127.0.0.1") {
return true
}
if isListen(port, timeout, identity.Identity) {
return true
}
return false
}
func isListen(port, timeout int, ip string) bool {
var conn net.Conn
var err error
addr := fmt.Sprintf("127.0.0.1:%d", port)
addr := fmt.Sprintf("%s:%d", ip, port)
if timeout <= 0 {
// default timeout 3 second
timeout = 3