From 859dc3026bde23209ad0cc05c7c43bfb757e7760 Mon Sep 17 00:00:00 2001 From: Harry Kimpel Date: Thu, 25 Feb 2021 06:45:55 +0100 Subject: [PATCH] Added New Relic Logging section in operations/monitoring/logging --- .../operations/monitoring/logging/newrelic.md | 36 +++--- .../en/operations/monitoring/newrelic.md | 117 ------------------ 2 files changed, 18 insertions(+), 135 deletions(-) delete mode 100644 daprdocs/content/en/operations/monitoring/newrelic.md diff --git a/daprdocs/content/en/operations/monitoring/logging/newrelic.md b/daprdocs/content/en/operations/monitoring/logging/newrelic.md index dbc167269..f9d9f3652 100644 --- a/daprdocs/content/en/operations/monitoring/logging/newrelic.md +++ b/daprdocs/content/en/operations/monitoring/logging/newrelic.md @@ -27,43 +27,43 @@ This document explains how to install it in your cluster, either using a Helm ch 3. Run the following command to install the New Relic Logging Kubernetes plugin via Helm, replacing the placeholder value YOUR_LICENSE_KEY with your [New Relic license key](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/license-key): - Helm 3 -``` -helm install newrelic-logging newrelic/newrelic-logging --set licenseKey=YOUR_LICENSE_KEY -``` + ```bash + helm install newrelic-logging newrelic/newrelic-logging --set licenseKey=YOUR_LICENSE_KEY + ``` - Helm 2 -``` -helm install newrelic/newrelic-logging --name newrelic-logging --set licenseKey=YOUR_LICENSE_KEY -``` + ```bash + helm install newrelic/newrelic-logging --name newrelic-logging --set licenseKey=YOUR_LICENSE_KEY + ``` For EU users, add `--set endpoint=https://log-api.eu.newrelic.com/log/v1 to any of the helm install commands above. By default, tailing is set to /var/log/containers/*.log. To change this setting, provide your preferred path by adding --set fluentBit.path=DESIRED_PATH to any of the helm install commands above. -### Install the Kubernetes manifes +### Install the Kubernetes manifest 1. Download the following 3 manifest files into your current working directory: -``` -curl https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/newrelic-logging/k8s/fluent-conf.yml > fluent-conf.yml -curl https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/newrelic-logging/k8s/new-relic-fluent-plugin.yml > new-relic-fluent-plugin.yml -curl https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/newrelic-logging/k8s/rbac.yml > rbac.yml -``` + ```bash + curl https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/newrelic-logging/k8s/fluent-conf.yml > fluent-conf.yml + curl https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/newrelic-logging/k8s/new-relic-fluent-plugin.yml > new-relic-fluent-plugin.yml + curl https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/newrelic-logging/k8s/rbac.yml > rbac.yml + ``` 2. In the downloaded new-relic-fluent-plugin.yml file, replace the placeholder value LICENSE_KEY with your New Relic license key. -For EU users, replace the ENDPOINT environment variable to https://log-api.eu.newrelic.com/log/v1. + For EU users, replace the ENDPOINT environment variable to https://log-api.eu.newrelic.com/log/v1. 3. Once the License key has been added, run the following command in your terminal or command-line interface: -``` -kubectl apply -f . -``` + ```bash + kubectl apply -f . + ``` 4. [OPTIONAL] You can configure how the plugin parses the data by editing the parsers.conf section in the fluent-conf.yml file. For more information, see Fluent Bit's documentation on Parsers configuration. -By default, tailing is set to /var/log/containers/*.log. To change this setting, replace the default path with your preferred path in the new-relic-fluent-plugin.yml file. + By default, tailing is set to /var/log/containers/*.log. To change this setting, replace the default path with your preferred path in the new-relic-fluent-plugin.yml file. -5. View Logs +## View Logs ![Dapr Annotations](/images/nr-logging-1.png) diff --git a/daprdocs/content/en/operations/monitoring/newrelic.md b/daprdocs/content/en/operations/monitoring/newrelic.md deleted file mode 100644 index c3f1f3fbe..000000000 --- a/daprdocs/content/en/operations/monitoring/newrelic.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -type: docs -title: "How-To: Set-up New Relic for Dapr observability" -linkTitle: "New Relic" -weight: 2000 -description: "Set-up New Relic for Dapr observability" ---- - -## Prerequisites - -- Perpetually [free New Relic account](https://newrelic.com/signup?ref=dapr), 100 GB/month of free data ingest, 1 free full access user, unlimited free basic users - -## Configure Zipkin Exporter - -Dapr natively captures metrics and traces that can be send directly to New Relic. The easiest way to export these is by providing a Zipkin exporter configured to send the traces to [New Relic's Trace API](https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/trace-api/report-zipkin-format-traces-trace-api#existing-zipkin). - -In order for the integration to send data to New Relic [Telemetry Data Platform](https://newrelic.com/platform/telemetry-data-platform), you need a [New Relic Insights Insert API key](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#insights-insert-key). - -```yaml -apiVersion: dapr.io/v1alpha1 -kind: Component -metadata: - name: zipkin - namespace: default -spec: - type: exporters.zipkin - metadata: - - name: enabled - value: "true" - - name: exporterAddress - value: "https://trace-api.newrelic.com/trace/v1?Api-Key=&Data-Format=zipkin&Data-Format-Version=2" -``` - -### Viewing Traces - -New Relic Distributed Tracing overview -![New Relic Kubernetes Cluster Explorer App](/images/nr-distributed-tracing-overview.png) - -New Relic Distributed Tracing details -![New Relic Kubernetes Cluster Explorer App](/images/nr-distributed-tracing-detail.png) - -## (optional) New Relic Instrumentation - -In order for the integrations to send data to New Relic Telemetry Data Platform, you either need a [New Relic license key](https://docs.newrelic.com/docs/accounts/accounts-billing/account-setup/new-relic-license-key) or [New Relic Insights Insert API key](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#insights-insert-key). - -### OpenTelemetry instrumentation - -Leverage the different language specific OpenTelemetry implementations, for example [New Relic Telemetry SDK and OpenTelemetry support for .NET](https://github.com/newrelic/newrelic-telemetry-sdk-dotnet). In this case, use the [OpenTelemetry Trace Exporter](https://github.com/newrelic/newrelic-telemetry-sdk-dotnet/tree/main/src/NewRelic.OpenTelemetry). See example [here](https://github.com/harrykimpel/quickstarts/blob/master/distributed-calculator/csharp-otel/Startup.cs). - -### New Relic Language agent - -Similarly to the OpenTelemetry instrumentation, you can also leverage a New Relic language agent. As an example, the [New Relic agent instrumentation for .NET Core](https://docs.newrelic.com/docs/agents/net-agent/installation/install-docker-container) is part of the Dockerfile. See example [here](https://github.com/harrykimpel/quickstarts/blob/master/distributed-calculator/csharp/Dockerfile). - -## (optional) Enable New Relic Kubernetes integration - -In case Dapr and your applications run in the context of a Kubernetes environment, you can enable additional metrics and logs. - -The easiest way to install the New Relic Kubernetes integration is to use the [automated installer](https://one.newrelic.com/launcher/nr1-core.settings?pane=eyJuZXJkbGV0SWQiOiJrOHMtY2x1c3Rlci1leHBsb3Jlci1uZXJkbGV0Lms4cy1zZXR1cCJ9) to generate a manifest. It bundles not just the integration DaemonSets, but also other New Relic Kubernetes configurations, like [Kubernetes events](https://docs.newrelic.com/docs/integrations/kubernetes-integration/kubernetes-events/install-kubernetes-events-integration), [Prometheus OpenMetrics](https://docs.newrelic.com/docs/integrations/prometheus-integrations/get-started/new-relic-prometheus-openmetrics-integration-kubernetes), and [New Relic log monitoring](https://docs.newrelic.com/docs/logs). - -### New Relic Kubernetes Cluster Explorer - -The [New Relic Kubernetes Cluster Explorer](https://docs.newrelic.com/docs/integrations/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer) provides a unique visualization of the entire data and deployments of the data collected by the Kubernetes integration. - -It is a good starting point to observe all your data and dig deeper into any performance issues or incidents happening inside of the application or microservices. - -![New Relic Kubernetes Cluster Explorer App](/images/nr-k8s-cluster-explorer-app.png) - -Automated correlation is part of the visualization capabilities of New Relic. - -### Pod-level details - -![New Relic K8s Pod Level Details](/images/nr-k8s-pod-level-details.png) - -### Logs in Context - -![New Relic K8s Logs In Context](/images/nr-k8s-logs-in-context.png) - -## New Relic Dashboards - -### Kubernetes Overview - -![New Relic Dashboard Kubernetes Overview](/images/nr-dashboard-k8s-overview.png) - -### Dapr System Services - -![New Relic Dashboard Dapr System Services](/images/nr-dashboard-dapr-system-services.png) - -### Dapr Metrics - -![New Relic Dashboard Dapr Metrics 1](/images/nr-dashboard-dapr-metrics-1.png) - -## New Relic Grafana integration - -New Relic teamed up with [Grafana Labs](https://grafana.com/) so you can use the [Telemetry Data Platform](https://newrelic.com/platform/telemetry-data-platform) as a data source for Prometheus metrics and see them in your existing dashboards, seamlessly tapping into the reliability, scale, and security provided by New Relic. - -[Grafana dashboard templates](https://github.com/dapr/dapr/blob/227028e7b76b7256618cd3236d70c1d4a4392c9a/grafana/README.md) to monitor Dapr system services and sidecars can easily be used without any changes. New Relic provides a [native endpoint for Prometheus metrics](https://docs.newrelic.com/docs/integrations/grafana-integrations/set-configure/configure-new-relic-prometheus-data-source-grafana) into Grafana. A datasource can easily be set-up: - -![New Relic Grafana Data Source](/images/nr-grafana-datasource.png) - -And the exact same dashboard templates from Dapr can be imported to visualize Dapr system services and sidecars. - -![New Relic Grafana Dashboard](/images/nr-grafana-dashboard.png) - -## New Relic Alerts - -All the data that is collected from Dapr, Kubernetes or any services that run on top of can be used to set-up alerts and notifications into the preferred channel of your choice. See [Alerts and Applied Intelligence](https://docs.newrelic.com/docs/alerts-applied-intelligence). - -## Related Links/References - -* [New Relic Account Signup](https://newrelic.com/signup?ref=dapr) -* [Telemetry Data Platform](https://newrelic.com/platform/telemetry-data-platform) -* [Distributed Tracing](https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/get-started/introduction-distributed-tracing) -* [New Relic Trace API](https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/trace-api) -* [New Relic Metric API](https://docs.newrelic.com/docs/telemetry-data-platform/get-data/apis/introduction-metric-api) -* [Types of New Relic API keys](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys) -* [New Relic OpenTelemetry User Experience](https://blog.newrelic.com/product-news/opentelemetry-user-experience/) -* [Alerts and Applied Intelligence](https://docs.newrelic.com/docs/alerts-applied-intelligence) \ No newline at end of file