Use reverse-resolved DNS info in the connections table.

This commit is contained in:
Tom Wilkie
2016-04-20 17:11:22 +01:00
parent b85e287a22
commit 0a51064713
3 changed files with 19 additions and 7 deletions

View File

@@ -153,7 +153,8 @@ export default class NodeDetailsTable extends React.Component {
if (field) {
if (field.valueType === 'metadata') {
return (
<td className="node-details-table-node-value" key={field.id}>
<td className="node-details-table-node-value truncate" title={field.value}
key={field.id}>
{field.value}
</td>
);

View File

@@ -16,10 +16,11 @@ import (
// Node metadata keys.
const (
Addr = "addr" // typically IPv4
Port = "port"
Conntracked = "conntracked"
Procspied = "procspied"
Addr = "addr" // typically IPv4
Port = "port"
Conntracked = "conntracked"
Procspied = "procspied"
ReverseDNSNames = "reverse_dns_names"
)
// Reporter generates Reports containing the Endpoint topology.
@@ -182,7 +183,7 @@ func (r *Reporter) addConnection(rpt *report.Report, t fourTuple, extraFromNode,
// In case we have a reverse resolution for the IP, we can use it for
// the name...
if toNames, err := r.reverseResolver.get(t.toAddr); err == nil {
toNode = toNode.WithSet("name", report.MakeStringSet(toNames...))
toNode = toNode.WithSet(ReverseDNSNames, report.MakeStringSet(toNames...))
}
if extraFromNode != nil {

View File

@@ -5,6 +5,7 @@ import (
"sort"
"strconv"
"github.com/weaveworks/scope/probe/endpoint"
"github.com/weaveworks/scope/render"
"github.com/weaveworks/scope/report"
)
@@ -94,6 +95,8 @@ func incomingConnectionsSummary(topologyID string, r report.Report, n report.Nod
port: port,
}
if isInternetNode(n) {
endpointNode := r.Endpoint.Nodes[localEndpointID]
key.localNode = &endpointNode
key.localAddr = localAddr
}
counts[key] = counts[key] + 1
@@ -144,6 +147,8 @@ func outgoingConnectionsSummary(topologyID string, r report.Report, n report.Nod
port: port,
}
if isInternetNode(n) {
endpointNode := r.Endpoint.Nodes[remoteEndpointID]
key.localNode = &endpointNode
key.localAddr = localAddr
}
counts[key] = counts[key] + 1
@@ -206,10 +211,15 @@ func connectionRows(r report.Report, in map[connection]int, includeLocal bool) [
connection.Linkable = false
}
if includeLocal {
// Does localNode have a DNS record in it?
label := row.localAddr
if set, ok := row.localNode.Sets.Lookup(endpoint.ReverseDNSNames); ok && len(set) > 0 {
label = set[0]
}
connection.Metadata = append(connection.Metadata,
report.MetadataRow{
ID: "foo",
Value: row.localAddr,
Value: label,
Datatype: number,
})
}