Skip to content

Commit b219195

Browse files
davidgssvrnm
andauthored
[blog] OTel integration for Otterize network mapper (open-telemetry#3545)
Co-authored-by: Severin Neumann <[email protected]>
1 parent 22dbfaa commit b219195

File tree

3 files changed

+102
-0
lines changed

3 files changed

+102
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: Adding OpenTelemetry support to the Otterize network mapper
3+
linkTitle: OTel integration for Otterize network mapper
4+
date: 2023-11-15
5+
author: >-
6+
[Ori Shoshan](https://github.com/orishoshan) (Otterize), [David G.
7+
Simmons](https://github.com/davidgs) (Otterize)
8+
cSpell:ignore: brainer Otterize Shoshan
9+
---
10+
11+
{{< blog/integration-badge >}}
12+
13+
## A no-brainer integration: Adding OpenTelemetry support to the Otterize network mapper
14+
15+
[Otterize](https://otterize.com/) automates workload Identity and Access
16+
Management (IAM) for zero-trust, automating policies like Kubernetes network
17+
policies, Istio policies, AWS IAM policies, and more, through a collection of
18+
[open source projects](https://github.com/otterize). To enable that automation,
19+
Otterize built the [network mapper](https://github.com/otterize/network-mapper).
20+
Otterize network mapper is a standalone Kubernetes tool that builds a live
21+
network map of your infrastructure, and can visualize it into an image file, as
22+
an interactive graph on Otterize Cloud, or export it as ClientIntents, a custom
23+
Kubernetes resource that describes each workload’s required access, or their
24+
“intentions”. It’s designed to be a zero-config deployment that immediately
25+
provides a network map, along with being light on resource use, and requiring
26+
the lowest privileges possible. At its core, it collects DNS traffic and
27+
analyzes it to figure out what communications look like.
28+
29+
The awesome folks at
30+
[ServiceNow Cloud Observability](https://www.servicenow.com/products/observability.html)
31+
(formerly Lightstep)
32+
[recently contributed OpenTelemetry exporting support to the network mapper](https://github.com/otterize/network-mapper/pull/141).
33+
This means that you can now use the network mapper to generate a network map of
34+
your infrastructure, and export OpenTelemetry data to a Grafana Tempo instance,
35+
to see a service graph without making any changes to the services deployed in
36+
your cluster.
37+
38+
[A screenshot showing a Grafana Tempo service graph](otterize-otel.png)
39+
40+
This integration was simple: the OpenTelemetry SDK is easy to use and fits like
41+
a glove into the existing network mapper code.
42+
43+
### How does OpenTelemetry work with the network mapper?
44+
45+
With the service graph, you'll be able to see what services are communicating
46+
with each other. You can then use that information for operational or security
47+
needs, such as determining the blast radius of a downtime or security incident.
48+
You can use the service graph to figure out where to start rolling out
49+
OpenTelemetry tracing, as that deployment tends to be more involved and requires
50+
the integration of the OpenTelemetry SDK into your source code.
51+
52+
While it was easy to use the OTel SDK for the network mapper, we can see why
53+
there's a bit of a chicken-and-egg problem here when you're looking into
54+
OpenTelemetry: to start seeing significant value with tracing, you really need
55+
to see a bunch of services together, and that can be a lot to do as your first
56+
step.
57+
58+
Since the network mapper doesn’t require you to change any of your existing
59+
application code, the barrier to entry for getting started with OpenTelemetry is
60+
significantly reduced. This is a great way to get started with emitting
61+
OpenTelemetry metrics for each service in your infrastructure and to
62+
understanding how your services interact with each other, before committing to a
63+
more significant OpenTelemetry rollout.
64+
65+
### The strength of open source in action!
66+
67+
We never initially contemplated adding this feature because it didn't cross our
68+
minds, but its value is undeniable, particularly for those deploying the network
69+
mapper and utilizing Grafana Tempo, or individuals exploring OpenTelemetry.
70+
71+
It's great that the ServiceNow Cloud Observability Team stumbled upon the
72+
network mapper and graciously contributed this enhancement, making the network
73+
mapper seamlessly integrate with OpenTelemetry and Grafana. This is the beauty
74+
of open source collaboration!
75+
76+
If you're interested in exploring or contributing to our project, head on over
77+
to
78+
[https://github.com/otterize/network-mapper](https://github.com/otterize/network-mapper).
Loading

static/refcache.json

+24
Original file line numberDiff line numberDiff line change
@@ -2179,6 +2179,10 @@
21792179
"StatusCode": 200,
21802180
"LastSeen": "2023-06-30T09:32:35.041502-04:00"
21812181
},
2182+
"https://github.com/davidgs": {
2183+
"StatusCode": 200,
2184+
"LastSeen": "2023-11-16T15:02:09.869589-05:00"
2185+
},
21822186
"https://github.com/dcxp/opentelemetry-kotlin": {
21832187
"StatusCode": 200,
21842188
"LastSeen": "2023-06-30T08:35:34.198403-04:00"
@@ -3683,6 +3687,22 @@
36833687
"StatusCode": 200,
36843688
"LastSeen": "2023-06-30T09:42:42.642961-04:00"
36853689
},
3690+
"https://github.com/orishoshan": {
3691+
"StatusCode": 200,
3692+
"LastSeen": "2023-11-16T15:02:08.644309-05:00"
3693+
},
3694+
"https://github.com/otterize": {
3695+
"StatusCode": 200,
3696+
"LastSeen": "2023-11-16T15:02:10.831177-05:00"
3697+
},
3698+
"https://github.com/otterize/network-mapper": {
3699+
"StatusCode": 200,
3700+
"LastSeen": "2023-11-16T15:02:12.356594-05:00"
3701+
},
3702+
"https://github.com/otterize/network-mapper/pull/141": {
3703+
"StatusCode": 200,
3704+
"LastSeen": "2023-11-16T15:02:13.899173-05:00"
3705+
},
36863706
"https://github.com/pavolloffay": {
36873707
"StatusCode": 200,
36883708
"LastSeen": "2023-06-30T09:26:51.361548-04:00"
@@ -4779,6 +4799,10 @@
47794799
"StatusCode": 206,
47804800
"LastSeen": "2023-06-30T11:41:53.83222-04:00"
47814801
},
4802+
"https://otterize.com/": {
4803+
"StatusCode": 200,
4804+
"LastSeen": "2023-11-16T15:02:10.279947-05:00"
4805+
},
47824806
"https://packagist.org/": {
47834807
"StatusCode": 200,
47844808
"LastSeen": "2023-06-30T09:20:47.395106-04:00"

0 commit comments

Comments
 (0)