Skip to content

Commit

Permalink
Merge pull request #8049 from htroisi/pixie-get-to-know
Browse files Browse the repository at this point in the history
feat(Pixie): Update 'Get to know Pixie' page.
  • Loading branch information
x8a committed Jun 20, 2022
2 parents a6a6434 + 026c4c1 commit f054803
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 212 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: Auto-telemetry with Pixie for instant Kubernetes observability
title: Auto-telemetry with Pixie for instant Kubernetes observability
tags:
- Pixie Auto-telemetry
- Service monitoring
- Kubernetes
- eBPF
metaDescription:
metaDescription:
redirects:
- /docs/auto-telemetry-pixie/get-started-auto-telemetry-pixie
- /docs/full-stack-observability/get-started-auto-telemetry-pixie
Expand All @@ -15,77 +15,107 @@ redirects:

import serviceGraph from 'images/service-graph.png'

import pixieServiceOtelMap from 'images/pixie-service-otel-map.png'

import pixieKCEPodDetails from 'images/pixie-kce-pod-details.png'

import flamegraph from 'images/flamegraph.png'

When we say auto-telemetry, we’re not talking about cars — we're talking about instant baseline visibility into your Kubernetes clusters. With the New Relic integration with [Pixie](https://pixielabs.ai/), you get similar data to traditional language agents, but without manually instrumenting your code or redeploying your application.
import pixieLiveDebugging from 'images/pixie-live-debugging.png'

Pixie auto-telemetry is powered by [eBPF](https://ebpf.io/), a virtual machine-like construct that enables Pixie to seamlessly collect fine-grained telemetry data — service-level metrics, unsampled requests, and more. With one install command, you get deeper insight into your Kubernetes clusters and workloads. No language agents required.
The New Relic integration with [Pixie](https://px.dev/) gives you the best of both worlds: Pixie’s advanced, eBPF-based Kubernetes observability coupled with New Relic’s incident correlation, intelligent alerting, and long-term retention.

<img
title="service graph in live debugger"
alt="service-graph"
src={serviceGraph}
/>

<figcaption>
**Live debugging with Pixie** shows a service graph listing the namespaces and the node that are available on the current cluster.
</figcaption>

Simply put, Auto-telemetry with Pixie offers the quickest option for getting observability into your Kubernetes services.
## What is Pixie? [#pixie]

Ready to get started? You'll be able to configure Pixie to suit your environnment after you [create a New Relic account](https://newrelic.com/signup) (it's free, forever!) and [install our Pixie integration](/docs/kubernetes-pixie/auto-telemetry-pixie/install-auto-telemetry-pixie/).
Pixie is an open source observability tool for Kubernetes applications that is designed to alleviate pain points developers face with traditional observability.

## Quickly start observing and debugging Kubernetes clusters
[Pixie uses eBPF](https://docs.px.dev/about-pixie/pixie-ebpf) to automatically collect fine-grained telemetry data — service-level metrics, unsampled requests, and more. With one install command, you get deeper insight into your Kubernetes clusters and workloads. No language agents required!

Our Pixie integration gives you the best of both worlds: Pixie’s fast and simple Kubernetes observability coupled with New Relic’s incident correlation, intelligent alerting, and long-term retention.
## Advantages of the New Relic Pixie integration [#nr-integration]

You’ll get visibility into HTTP services using golden signals, HTTP transactions, database transactions, distributed tracing, and JVM metrics. You can operate, debug, and scale your Kubernetes clusters based on the information you learn about how your clusters and services are running. Using the New Relic [Explorer](/docs/new-relic-one/use-new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/), you can see key metrics and events at every level, starting with the cluster, and diving down into namespaces, deployments, and pods. You can quickly spot anomalous behavior, and where it’s happening.
New Relic offers the best-in-class commercial integration of Pixie. With the New Relic integration, you get all of Pixie’s standard features plus:

And then dive deeper using embedded visualizations of your Pixie data. Quickly identify hot spots with a [flame graph display](#flamegraph). On the [Live debugging with Pixie tab](#live-debugging), answer questions like what SQL requests your app is making or which services are talking to each other.
* Long-term storage of Pixie telemetry data
* Alerting using Pixie telemetry data
* Ability to see Pixie telemetry data in context with logs and other data
* Commercial support

This short video (approx. 6:20 minutes) shows how Pixie and Kubernetes work together so you can debug faster with code-level insights:

<Video
id="QO7vz0jQEUI"
type="youtube"
/>
Ready to get started? You'll be able to configure Pixie to suit your environment after you [create a New Relic account](https://newrelic.com/signup) (it's free, forever!) and [install our Pixie integration](/docs/kubernetes-pixie/auto-telemetry-pixie/install-auto-telemetry-pixie/).

<Callout variant="important">
Auto-telemetry with Pixie leverages [Community Cloud with Pixie](http://pixielabs.ai/), a separate platform from New Relic. Use of Community Cloud with Pixie is subject to separate [terms of service](https://pixielabs.ai/terms).
</Callout>

## Explore your cluster
## Quickly start observing and debugging Kubernetes clusters [#pixie-overview]

Access the Pixie UI via New Relic's **Live debugging with Pixie** area of your Kubernetes clusters. The cluster explorer provides a quick overview of the nodes in your cluster, including CPU, memory, and storage, as well as the status of each pod (**healthy**, **warning**, or **critical**). You can also find out what services are running in each container, their latency, throughput, and error rate.
Once you install the New Relic Pixie integration, Pixie will begin automatically collecting a [variety of metrics and traces](https://docs.px.dev/about-pixie/data-sources/).

For more information about using the cluster explorer, see [Navigate the Kubernetes cluster explorer](/docs/integrations/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer/). Note that you cannot log directly into the Pixie UI unless you have created a separate Pixie login.
You’ll get [visibility into HTTP services](/docs/kubernetes-pixie/auto-telemetry-pixie/understand-use-data/explore-pixie-data#service-health) using golden signals, service maps, HTTP transactions, and database transactions. You can operate, debug, and scale your Kubernetes clusters based on the information you learn about how your clusters and services are running.

<Callout variant="tip">
Containers might be listed for up to four hours after they get decommissioned.
</Callout>
<img
title="The OpenTelemetry **Service map** view shows helps visualize your application's dependencies."
alt="The OpenTelemetry **Service map** view shows helps visualize your application's dependencies."
src={pixieServiceOtelMap}
/>

<figcaption>
Visualize your application's dependencies using the **Service map** created from Pixie's HTTP traces.
</figcaption>

Using the Kubernetes cluster explorer, you can see key metrics and events at every level, starting with the cluster, and diving down into namespaces, deployments, and pods. You can quickly spot anomalous behavior, and where it’s happening.

<img
title="The pod details page in the Kubernetes cluster explorer shows application metrics collected by Pixie."
alt="The pod details page in the Kubernetes cluster explorer shows application metrics collected by Pixie."
src={pixieKCEPodDetails
}
/>

You can query the Pixie data in New Relic and create dashboards for at-a-glance monitoring. For more information, see our documentation about the [data model and sample queries](/docs/integrations/kubernetes-integration/understand-use-data/auto-telemetry-pixie-data-model).
<figcaption>
The pod details page in the Kubernetes cluster explorer shows application metrics collected by Pixie.
</figcaption>

## Investigate usage spikes using the flame graph [#flamegraph]
Quickly identify hot spots with [application CPU flame graphs](/docs/kubernetes-pixie/auto-telemetry-pixie/understand-use-data/explore-pixie-data#cpu-profiles). Debugging is orders of magnitude easier when you can quickly see what your application is doing. The Pixie flame graph display requires no instrumentation, redeploying, or recompiling. It works for compiled languages like Go, C+, Rust, to name a few. And at a glance, the flame graph tells you what functions your application is spending time on and where you have hot spots.

<img
title="Pixie flame graph"
alt="Pixie flame graph"
src={flamegraph}
/>

Debugging is orders of magnitude easier when you can quickly see what your application is doing. The Pixie flame graph display requires no instrumentation, redeploying, or recompiling. It works for compiled languages like Go, C+, Rust, to name a few. And at a glance, the flame graph tells you what functions your application is spending time on and where you have hot spots.
<figcaption>
Use Pixie to see CPU flamegraphs for your Kubernetes pods.
</figcaption>

On the [Live debugging with Pixie](/docs/kubernetes-pixie/auto-telemetry-pixie/understand-use-data/live-debugging-with-pixie) tab, answer questions like what SQL requests your app is making or which services are talking to each other.

<img
title="service graph in live debugger"
alt="service-graph"
src={pixieLiveDebugging}
/>

<figcaption>
Run scripts in the **Live debugging with Pixie** tab to debug your Kubernetes applications.
</figcaption>

This short video (approx. 6:20 minutes) shows how Pixie and Kubernetes work together so you can debug faster with code-level insights:

Flame graphs are especially useful for hierarchical resource use, like disk usage and CPU utilization. For more information on how to read a flame graph, see the [Pixie flame graph docs](https://docs.pixielabs.ai/tutorials/profiler#reading-the-flamegraph).
<Video
id="QO7vz0jQEUI"
type="youtube"
/>

## Debug live [#live-debugging]
To learn more about debugging with Pixie, see the [Understand and use Pixie data](/docs/kubernetes-pixie/auto-telemetry-pixie/understand-use-data/overview) section.

On the **Live debugging with Pixie** tab, run PxL scripts — scripts written in Pixie's PxL language — to view live data captured through eBPF. Select the **script** drop-down and then select a script to run in the tab. (For best results, select a time range that is recent in the time picker.)
## Our commitment to open source [#pixie-oss]

Scripts enable you to debug:
New Relic is committed to open standards, open source instrumentation, and the open communities that support them.

* Traffic in multiple formats: HTTP and HTTPs (including encrypted), DNS, Postgres, MySQL, Cassandra, Redis (currently supporting SQL and HTTP in beta). Learn more: [Request tracing tutorial](https://docs.px.dev/tutorials/pixie-101/request-tracing/).
* Database request performance. Learn more: [Database Query Profiling tutorial](https://docs.px.dev/tutorials/pixie-101/database-query-profiling/).
* Service maps to learn which services are talking to each other. Learn more: [Service Performance tutorial](https://docs.px.dev/tutorials/pixie-101/service-performance/).
* Network traffic maps to learn which nodes are talking to each other. Learn more: [Network Monitoring tutorial](https://docs.px.dev/tutorials/pixie-101/network-monitoring/).
* Monitor resource usage by Node and Pod. Learn more: [Infra health tutorial](https://docs.px.dev/tutorials/pixie-101/infra-health/).
As a step towards making observability open for everyone, New Relic contributed Pixie to the [Cloud Native Computing Foundation](https://www.cncf.io/) as a [Sandbox project](https://www.cncf.io/sandbox-projects/) in June 2021. [Meet](https://opensource.newrelic.com/projects/pixie) the New Relic employees who contribute to the Pixie project.

0 comments on commit f054803

Please sign in to comment.