Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pseudo-nodes for known services #1863

Merged
merged 6 commits into from
Sep 20, 2016
Merged

Conversation

2opremio
Copy link
Contributor

@2opremio 2opremio commented Sep 14, 2016

Fixes #1082

@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch 3 times, most recently from 0fe7157 to 31497c4 Compare September 14, 2016 09:10
@2opremio
Copy link
Contributor Author

2opremio commented Sep 14, 2016

We already show pseudo nodes (with a cloud shape for now), for Dynamo and S3: the two AWS services for which we know reverse DNS lookups lead to an observable pattern.

screen shot 2016-09-14 at 11 09 18 am

Next step is adding a DNS packet inspector in the probes to extend it to IPs without sane revese lookups.

@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch 10 times, most recently from 97e0ac7 to 268651b Compare September 16, 2016 14:12
@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch from f512a03 to d47db56 Compare September 19, 2016 14:39
// DNS Snooper
flag.BoolVar(&flags.probe.dnsSnooperEnabled, "probe.dns-snooper.enabled", true, "Enable DNS Snooper (to identify external services being contacted)")
flag.StringVar(&flags.probe.dnsSnooperInterface, "probe.dns-snooper.interface", "any", "Networking interface on which to snoop")

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch from d47db56 to b351db7 Compare September 19, 2016 14:45
@2opremio 2opremio changed the title [WIP] Add pseudo-nodes for known services Add pseudo-nodes for known services Sep 19, 2016
@2opremio
Copy link
Contributor Author

2opremio commented Sep 19, 2016

This is ready to review. Here's an example of the precision obtained with the snooper:

image

Note that certain external services are not properly identified if Scope is started after persistent connections without reverse DNS lookups are made (i.e. the DNS Snooper cannot gather those queries since it wasn't running at the time they happened).

if resolvedNames, err := r.reverseResolver.get(addr); err == nil {
names = append(names, resolvedNames...)
}
if len(names) > 0 {

This comment was marked as abuse.

This comment was marked as abuse.

// internet node
node = theInternetNode(n)
// external pseudoNode
node = toInternetNode(n)

This comment was marked as abuse.

This comment was marked as abuse.


"github.com/weaveworks/scope/probe/host"
"github.com/weaveworks/scope/report"
)

var (
// ServiceNodeIDPrefix is how the ID all service pseudo nodes begin

This comment was marked as abuse.

// and having separate nodes for them makes visualizations worse
regexp.MustCompile(`^ec2.*\.amazonaws\.com$`),
}
)

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

// and having separate nodes for them makes visualizations worse
regexp.MustCompile(`^ec2.*\.amazonaws\.com$`),
}
)

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

Copy link
Member

@rade rade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blah

return nil, err
}
defer inactive.CleanUp()
if err = inactive.SetPromisc(true); err != nil {

This comment was marked as abuse.

This comment was marked as abuse.

This comment was marked as abuse.

@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch 2 times, most recently from 21520e4 to c24f502 Compare September 20, 2016 09:04
@2opremio
Copy link
Contributor Author

@rade PTAL

@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch from c24f502 to 94dc9cb Compare September 20, 2016 09:07
@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch 2 times, most recently from 62442d1 to b15cce0 Compare September 20, 2016 10:14
@rade
Copy link
Member

rade commented Sep 20, 2016

needs some squashing. rest LGTM

@rade rade assigned 2opremio and unassigned rade Sep 20, 2016
@2opremio 2opremio force-pushed the 1082-nodes-for-known-services branch from b15cce0 to c5ac315 Compare September 20, 2016 16:50
@2opremio 2opremio merged commit c64dfa6 into master Sep 20, 2016
@2opremio 2opremio deleted the 1082-nodes-for-known-services branch September 20, 2016 21:00
rade added a commit that referenced this pull request Sep 22, 2016
...if available.

Follow-up to #1863.
rade added a commit that referenced this pull request Sep 22, 2016
...if available.

Follow-up to #1863.
rade added a commit that referenced this pull request Sep 22, 2016
...if available.

Follow-up to #1863.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants