Add TM2 MonitorConfig err logs, API endpoint
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/2ab63e0d Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/2ab63e0d Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/2ab63e0d Branch: refs/heads/master Commit: 2ab63e0d3b10a2d246a62ec61bc5430cedeb2697 Parents: d14d8a3 Author: Robert Butts <robert.o.bu...@gmail.com> Authored: Thu Feb 16 10:20:01 2017 -0700 Committer: Dave Neuman <neu...@apache.org> Committed: Sun Feb 19 18:56:45 2017 -0700 ---------------------------------------------------------------------- .../traffic_monitor/manager/datarequest.go | 7 ++++ .../traffic_monitor/static/index.html | 1 + .../trafficopswrapper/trafficopswrapper.go | 35 ++++++++++++++++++++ 3 files changed, 43 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/2ab63e0d/traffic_monitor_golang/traffic_monitor/manager/datarequest.go ---------------------------------------------------------------------- diff --git a/traffic_monitor_golang/traffic_monitor/manager/datarequest.go b/traffic_monitor_golang/traffic_monitor/manager/datarequest.go index da552dd..fd6ad9e 100644 --- a/traffic_monitor_golang/traffic_monitor/manager/datarequest.go +++ b/traffic_monitor_golang/traffic_monitor/manager/datarequest.go @@ -777,10 +777,17 @@ func MakeDispatchMap( "/api/bandwidth-capacity-kbps": wrap(WrapBytes(func() []byte { return srvAPIBandwidthCapacityKbps(statMaxKbpses) }, ContentTypeJSON)), + "/api/monitor-config": wrap(WrapErr(errorCount, func() ([]byte, error) { + return srvMonitorConfig(monitorConfig) + }, ContentTypeJSON)), } return addTrailingSlashEndpoints(dispatchMap) } +func srvMonitorConfig(mcThs TrafficMonitorConfigMapThreadsafe) ([]byte, error) { + return json.Marshal(mcThs.Get()) +} + // latestResultInfoTimeMS returns the length of time in milliseconds that it took to request the most recent non-errored result info. func latestResultInfoTimeMS(cacheName enum.CacheName, history cache.ResultInfoHistory) (int64, error) { results, ok := history[cacheName] http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/2ab63e0d/traffic_monitor_golang/traffic_monitor/static/index.html ---------------------------------------------------------------------- diff --git a/traffic_monitor_golang/traffic_monitor/static/index.html b/traffic_monitor_golang/traffic_monitor/static/index.html index 66cd03b..f0a9651 100644 --- a/traffic_monitor_golang/traffic_monitor/static/index.html +++ b/traffic_monitor_golang/traffic_monitor/static/index.html @@ -498,6 +498,7 @@ under the License. <li class="endpoint"><a href="/api/cache-statuses">/api/cache-statuses</a></li> <li class="endpoint"><a href="/api/bandwidth-kbps">/api/bandwidth-kbps</a></li> <li class="endpoint"><a href="/api/bandwidth-capacity-kbps">/api/bandwidth-capacity-kbps</a></li> + <li class="endpoint"><a href="/api/monitor-config">/api/monitor-config</a></li> </ul> </div> http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/2ab63e0d/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go ---------------------------------------------------------------------- diff --git a/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go b/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go index cd80e2b..b86d844 100644 --- a/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go +++ b/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go @@ -24,6 +24,7 @@ import ( "fmt" "sync" + "github.com/apache/incubator-trafficcontrol/traffic_monitor_golang/common/log" "github.com/apache/incubator-trafficcontrol/traffic_monitor_golang/traffic_monitor/crconfig" to "github.com/apache/incubator-trafficcontrol/traffic_ops/client" ) @@ -139,34 +140,54 @@ func CreateMonitorConfig(crConfig crconfig.CRConfig, mc *to.TrafficMonitorConfig s := to.TrafficServer{} if srv.Profile != nil { s.Profile = *srv.Profile + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing Profile field\n", name) } if srv.Ip != nil { s.IP = *srv.Ip + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing IP field\n", name) } if srv.Status != nil { s.Status = string(*srv.Status) + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing Status field\n", name) } if srv.CacheGroup != nil { s.CacheGroup = *srv.CacheGroup + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing CacheGroup field\n", name) } if srv.Ip6 != nil { s.IP6 = *srv.Ip6 + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing IP6 field\n", name) } if srv.Port != nil { s.Port = *srv.Port + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing Port field\n", name) } s.HostName = name if srv.Fqdn != nil { s.FQDN = *srv.Fqdn + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing FQDN field\n", name) } if srv.InterfaceName != nil { s.InterfaceName = *srv.InterfaceName + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing InterfaceName field\n", name) } if srv.ServerType != nil { s.Type = *srv.ServerType + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing Type field\n", name) } if srv.HashId != nil { s.HashID = *srv.HashId + } else { + log.Warnf("Creating monitor config: CRConfig server %s missing HashId field\n", name) } mc.TrafficServer[name] = s } @@ -178,25 +199,39 @@ func CreateMonitorConfig(crConfig crconfig.CRConfig, mc *to.TrafficMonitorConfig m := to.TrafficMonitor{} if mon.Port != nil { m.Port = *mon.Port + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing Port field\n", name) } if mon.IP6 != nil { m.IP6 = *mon.IP6 + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing IP6 field\n", name) } if mon.IP != nil { m.IP = *mon.IP + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing IP field\n", name) } m.HostName = name if mon.FQDN != nil { m.FQDN = *mon.FQDN + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing FQDN field\n", name) } if mon.Profile != nil { m.Profile = *mon.Profile + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing Profile field\n", name) } if mon.Location != nil { m.Location = *mon.Location + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing Location field\n", name) } if mon.Status != nil { m.Status = string(*mon.Status) + } else { + log.Warnf("Creating monitor config: CRConfig monitor %s missing Status field\n", name) } mc.TrafficMonitor[name] = m }