diff --git a/README.md b/README.md
index 4df8d905ee..ba3397b87a 100644
--- a/README.md
+++ b/README.md
@@ -48,3 +48,4 @@ If you believe you have found a security vulnerability in this project or any of
## License
New Relic One quickstarts is licensed under the [Apache 2.0](http://apache.org/licenses/LICENSE-2.0.txt) License.
+
diff --git a/dashboards/hcp-otel-consul/hcp-otel-consul.json b/dashboards/hcp-otel-consul/hcp-otel-consul.json
new file mode 100644
index 0000000000..73deab7775
--- /dev/null
+++ b/dashboards/hcp-otel-consul/hcp-otel-consul.json
@@ -0,0 +1,723 @@
+{
+ "name": "HCP Consul OTeL",
+ "description": null,
+ "pages": [
+ {
+ "name": "HCP Consul",
+ "description": null,
+ "widgets": [
+ {
+ "title": "Certificate authority expiriation (in seconds)",
+ "layout": {
+ "column": 1,
+ "row": 1,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.billboard"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT latest(`consul_agent_tls_cert_expiry`) as 'Agent TLS certificate', latest(`consul_mesh_active_signing_ca_expiry`) as 'Signing CA', latest(`consul_mesh_active_root_ca_expiry`) as 'Active root CA', latest(`consul_system_licenseExpiration`) as 'Consul system license'"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": [
+ {
+ "alertSeverity": "CRITICAL",
+ "value": 1
+ },
+ {
+ "alertSeverity": "WARNING",
+ "value": 1000
+ }
+ ]
+ }
+ },
+ {
+ "title": "BoltDB write capacity (in logs per second)",
+ "layout": {
+ "column": 5,
+ "row": 1,
+ "width": 2,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.billboard"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT average(consul_raft_boltdb_writeCapacity) AS 'logs per second'"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ }
+ }
+ },
+ {
+ "title": "Consul server elections",
+ "layout": {
+ "column": 7,
+ "row": 1,
+ "width": 2,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.billboard"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT sum(consul_raft_state_candidate) As 'elections'"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ }
+ }
+ },
+ {
+ "title": "State of Consul autopilot",
+ "layout": {
+ "column": 9,
+ "row": 1,
+ "width": 2,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.billboard"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT latest(consul_autopilot_healthy)"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": [
+ {
+ "alertSeverity": "WARNING",
+ "value": 0.5
+ },
+ {
+ "alertSeverity": "CRITICAL",
+ "value": -0.5
+ }
+ ]
+ }
+ },
+ {
+ "title": "Server is a leader (1) or not (0)",
+ "layout": {
+ "column": 11,
+ "row": 1,
+ "width": 2,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.billboard"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT latest(consul_server_isLeader)"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ }
+ }
+ },
+ {
+ "title": "Last restore duration",
+ "layout": {
+ "column": 1,
+ "row": 4,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.billboard"
+ },
+ "rawConfiguration": {
+ "dataFormatters": [
+ {
+ "name": "consul_raft_fsm_lastRestoreDuration",
+ "type": "decimal"
+ }
+ ],
+ "facet": {
+ "showOtherSeries": false
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT latest(consul_raft_fsm_lastRestoreDuration) as 'last restore duration', latest(consul_raft_leader_oldestLogAge) as 'oldest log age', latest(consul_raft_rpc_installSnapshot) as 'installSnapshot time'"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ }
+ }
+ },
+ {
+ "title": "Average time to complete an update to the KV store (in ms)",
+ "layout": {
+ "column": 5,
+ "row": 4,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT average(consul_kvs_apply) TIMESERIES AUTO"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Average transaction operation (in ms)",
+ "layout": {
+ "column": 9,
+ "row": 4,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT average(consul_txn_apply) TIMESERIES AUTO"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Rate of raft transactions applied (per minute)",
+ "layout": {
+ "column": 1,
+ "row": 7,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT rate(sum(consul_raft_apply), 1 minute) TIMESERIES AUTO"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Average time (ms) to commit a new entry to the Raft log",
+ "layout": {
+ "column": 5,
+ "row": 7,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT average(consul_raft_commitTime) TIMESERIES AUTO"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Memory obtained from OS",
+ "layout": {
+ "column": 9,
+ "row": 7,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT sum(consul_runtime_sys_bytes_sys_bytes) as 'Bytes' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "units": {
+ "unit": "BYTES"
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Allocated memory for process",
+ "layout": {
+ "column": 1,
+ "row": 10,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT sum(consul_runtime_alloc_bytes_alloc_bytes) as 'Bytes' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "units": {
+ "unit": "BYTES"
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Garbage collection pause time (cumulative)",
+ "layout": {
+ "column": 5,
+ "row": 10,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": " FROM Metric SELECT latest(consul_runtime_total_gc_pause_ns_total_gc_pause_ns)/1000000000 as 's' TIMESERIES "
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "units": {
+ "unit": "SECONDS"
+ },
+ "yAxisLeft": {
+ "zero": false
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "RPC requests to server",
+ "layout": {
+ "column": 9,
+ "row": 10,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT sum(consul_client_rpc) as 'requests' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "RPC requests hitting limit",
+ "layout": {
+ "column": 1,
+ "row": 13,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT sum(consul_client_rpc_exceeded) as 'Requests' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Failed RPC requests",
+ "layout": {
+ "column": 5,
+ "row": 13,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT sum(consul_client_rpc_failed) as 'Requests' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Average BoltDB store log write time per batch",
+ "layout": {
+ "column": 9,
+ "row": 13,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT average(consul_raft_boltdb_storeLogs) as 'ms' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "units": {
+ "unit": "MS"
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "Raft freelist bytes",
+ "layout": {
+ "column": 1,
+ "row": 16,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT latest(consul_raft_boltdb_freelistBytes_freelistBytes) as 'bytes' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "units": {
+ "unit": "BYTES"
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ },
+ {
+ "title": "BoltDB Logs per batch",
+ "layout": {
+ "column": 5,
+ "row": 16,
+ "width": 4,
+ "height": 3
+ },
+ "linkedEntityGuids": null,
+ "visualization": {
+ "id": "viz.line"
+ },
+ "rawConfiguration": {
+ "facet": {
+ "showOtherSeries": false
+ },
+ "legend": {
+ "enabled": true
+ },
+ "nrqlQueries": [
+ {
+ "accountIds": [],
+ "query": "FROM Metric SELECT latest(consul_raft_boltdb_logsPerBatch) AS 'logs' TIMESERIES"
+ }
+ ],
+ "platformOptions": {
+ "ignoreTimeRange": false
+ },
+ "thresholds": {
+ "isLabelVisible": true
+ },
+ "yAxisLeft": {
+ "zero": true
+ },
+ "yAxisRight": {
+ "zero": true
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "variables": []
+ }
\ No newline at end of file
diff --git a/dashboards/hcp-otel-consul/hcp-otel-consul1.png b/dashboards/hcp-otel-consul/hcp-otel-consul1.png
new file mode 100644
index 0000000000..3f1a2e75fb
Binary files /dev/null and b/dashboards/hcp-otel-consul/hcp-otel-consul1.png differ
diff --git a/dashboards/hcp-otel-consul/hcp-otel-consul2.png b/dashboards/hcp-otel-consul/hcp-otel-consul2.png
new file mode 100644
index 0000000000..6809d954ee
Binary files /dev/null and b/dashboards/hcp-otel-consul/hcp-otel-consul2.png differ
diff --git a/dashboards/hcp-otel-consul/hcp-otel-consul3.png b/dashboards/hcp-otel-consul/hcp-otel-consul3.png
new file mode 100644
index 0000000000..f5cf9c8dc1
Binary files /dev/null and b/dashboards/hcp-otel-consul/hcp-otel-consul3.png differ
diff --git a/data-sources/hardware-sentry/logo.png b/data-sources/hardware-sentry/logo.png
index 76d25bf31c..3ec13c0c2c 100644
Binary files a/data-sources/hardware-sentry/logo.png and b/data-sources/hardware-sentry/logo.png differ
diff --git a/data-sources/hcp-consul-otel/config.yml b/data-sources/hcp-consul-otel/config.yml
new file mode 100644
index 0000000000..6ceccb44ab
--- /dev/null
+++ b/data-sources/hcp-consul-otel/config.yml
@@ -0,0 +1,23 @@
+id: hcp-consul-otel
+displayName: HCP Consul (OTeL)
+description: |
+ This guide details how to set up an OTeL collector to monitor your Hashicorp HCP Consul environment with New Relic.
+
+icon: logo.svg
+install:
+ primary:
+ link:
+ url: https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/collector/collector-configuration-examples/opentelemetry-collector-hcp-consul/
+ fallback:
+ link:
+ url: https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/cloud-integrations/hcp-consul-monitoring
+keywords:
+ - hashicorp
+ - hcp
+ - cloud
+ - infrastructure
+ - newrelic partner
+ - opentelemetry
+categoryTerms:
+ - newrelic partner
+ - infrastructure
diff --git a/data-sources/hcp-consul-otel/logo.svg b/data-sources/hcp-consul-otel/logo.svg
new file mode 100644
index 0000000000..df3c82f04d
--- /dev/null
+++ b/data-sources/hcp-consul-otel/logo.svg
@@ -0,0 +1,19 @@
+
diff --git a/data-sources/langchain/config.yml b/data-sources/langchain/config.yml
index 1b593fbc3e..d1c03c9a6c 100644
--- a/data-sources/langchain/config.yml
+++ b/data-sources/langchain/config.yml
@@ -7,7 +7,7 @@ install:
nerdlet:
nerdletId: marketplace.install-data-source
nerdletState:
- dataSourceId: nr-ai-monitoring
+ dataSourceId: langchain
requiresAccount: false
icon: logo.png
keywords:
diff --git a/data-sources/onepane/config.yml b/data-sources/onepane/config.yml
new file mode 100644
index 0000000000..56de41518b
--- /dev/null
+++ b/data-sources/onepane/config.yml
@@ -0,0 +1,23 @@
+id: onepane
+displayName: OnePane
+description: Connect OnePane change tracking and automated RCA to New Relic
+icon: logo.png
+install:
+ primary:
+ link:
+ url: https://www.onepane.ai/docs/en/articles/8999270-adding-onepane-change-tracking-to-your-new-relic-deployment
+keywords:
+ - devops
+ - change tracking
+ - incident correlation
+ - root cause analysis
+ - llm
+categoryTerms:
+ - logs
+ - newrelic partner
+ - generative ai
+ - azure
+ - aws
+ - kubernetes
+ - containers
+ - infrastructure
diff --git a/data-sources/onepane/logo.png b/data-sources/onepane/logo.png
new file mode 100644
index 0000000000..84c028b03b
Binary files /dev/null and b/data-sources/onepane/logo.png differ
diff --git a/quickstarts/hardware-sentry/logo.png b/quickstarts/hardware-sentry/logo.png
index 76d25bf31c..3ec13c0c2c 100644
Binary files a/quickstarts/hardware-sentry/logo.png and b/quickstarts/hardware-sentry/logo.png differ
diff --git a/quickstarts/hashicorp/hcp-consul-otel/config.yml b/quickstarts/hashicorp/hcp-consul-otel/config.yml
new file mode 100644
index 0000000000..9381ab8b25
--- /dev/null
+++ b/quickstarts/hashicorp/hcp-consul-otel/config.yml
@@ -0,0 +1,42 @@
+id: b46dacc7-2863-4e89-863e-41dbbbc070fd
+slug: hcp-consul-otel
+title: HCP Consul (OTeL collector)
+description: |-
+ ## HCP Consul
+ HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform.
+
+ HCP Consul is a service mesh and service discovery solution provided by Hashicorp. It enables platform operators to quickly deploy a fully managed, secure-by-default service mesh, helping developers discover and securely connect any application on any runtime, including Kubernetes, Nomad, and Amazon ECS.
+
+ ### Monitor HCP Consul metrics with New Relic
+ Keeping your Consul and Nomad clusters healthy can help with optimizing SQL query times, troubleshooting slow HTTP response times, and real-time alerting on down-time for your Hashicorp clusters. Monitoring your Hashicorp cluster metrics is pivotal for keeping your Hashicorp mesh services operating at full capacity.
+
+ New Relic supports monitoring of HCP Consul and Envoy metrics through the OpenTelemetry (OTeL) integration. OTeL aggregates all the metrics exposed by HCP Consul and pushes them to New Relic for data visualization and alerting.
+
+ ### HCP Consul quickstart highlights
+ The HCP Consul quickstart for New Relic provides a pre-made dashboard with HCP Consul Server metrics.
+
+ For Envoy metrics, you can run the telemetry collector based on [HCP guidance](https://developer.hashicorp.com/hcp/docs/consul/monitor/consul-central/observability/telemetry-collector#forward-metrics-to-another-collector), and forward them to the same collector.
+
+
+summary: Monitor your HCP Consul environment with the an OTeL collector
+level: Verified
+authors:
+ - New Relic
+ - Joseph Counts
+keywords:
+ - hcp
+ - hcp-consul
+ - hashicorp
+ - open-telemetry
+ - consul
+ - newrelic partner
+ - infrastructure
+documentation:
+ - name: Configuration documentation
+ url: https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/collector/collector-configuration-examples/opentelemetry-collector-hcp-consul/
+ description: HCP Consul configuration documentation
+icon: logo.svg
+dataSourceIds:
+ - hcp-consul-otel
+dashboards:
+ - hcp-otel-consul
diff --git a/quickstarts/hashicorp/hcp-consul-otel/logo.svg b/quickstarts/hashicorp/hcp-consul-otel/logo.svg
new file mode 100644
index 0000000000..df3c82f04d
--- /dev/null
+++ b/quickstarts/hashicorp/hcp-consul-otel/logo.svg
@@ -0,0 +1,19 @@
+
diff --git a/quickstarts/hashicorp/hcp-consul/config.yml b/quickstarts/hashicorp/hcp-consul/config.yml
index ba58dbec19..60fa6f5be9 100644
--- a/quickstarts/hashicorp/hcp-consul/config.yml
+++ b/quickstarts/hashicorp/hcp-consul/config.yml
@@ -33,6 +33,8 @@ keywords:
- nrlabs
- nrlabs-data
- infrastructure
+ - NR1_addData
+ - NR1_sys
documentation:
- name: Configuration documentation
url: https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/cloud-integrations/hcp-consul-monitoring
diff --git a/quickstarts/java/vertx-eventbus/config.yml b/quickstarts/java/vertx-eventbus/config.yml
index afa13106bf..2e308ad438 100644
--- a/quickstarts/java/vertx-eventbus/config.yml
+++ b/quickstarts/java/vertx-eventbus/config.yml
@@ -1,3 +1,4 @@
+id: 69341464-f422-4617-aa9a-a4ede276b24a
slug: newrelic-java-vertx
title: New Relic Java Instrumentation for Vert.x Event Bus
description: |
diff --git a/quickstarts/java/vertx-extensions/config.yml b/quickstarts/java/vertx-extensions/config.yml
index fc0510837d..5c7722d592 100644
--- a/quickstarts/java/vertx-extensions/config.yml
+++ b/quickstarts/java/vertx-extensions/config.yml
@@ -1,3 +1,4 @@
+id: 9858bfb9-3122-4d20-a9d5-585a7552d8d0
slug: newrelic-java-vertx-extensions
title: New Relic Java Instrumentation for Vert.x Extensions
description: |
diff --git a/quickstarts/mlops/langchain/config.yml b/quickstarts/mlops/langchain/config.yml
index 481f86337e..4c6b400716 100644
--- a/quickstarts/mlops/langchain/config.yml
+++ b/quickstarts/mlops/langchain/config.yml
@@ -35,7 +35,7 @@ documentation:
Implement monitoring and instrumentation for your LangChain app to ensure that your observability data is integrated into New Relic for effective performance analysis and insights.
url: https://github.com/newrelic/nr-openai-observability
dataSourceIds:
- - langchain
+ - nr-ai-monitoring
keywords:
- langchain
- langchain ai
@@ -56,4 +56,4 @@ keywords:
alertPolicies:
- langchain
dashboards:
- - langchain
\ No newline at end of file
+ - langchain
diff --git a/quickstarts/onepane/config.yml b/quickstarts/onepane/config.yml
new file mode 100644
index 0000000000..a1d3a8cb0c
--- /dev/null
+++ b/quickstarts/onepane/config.yml
@@ -0,0 +1,49 @@
+id: e9b4adc3-a2e0-4177-b1f2-6b73254aa960
+
+slug: onepane
+
+title: OnePane
+
+description: |
+
+ ## OnePane
+
+ OnePane acts as a central hub, bringing together information from various systems like Cloud, DevOps tools and Monitoring.
+ This unified view lets you see how changes and events from these systems correlate with incidents, significantly speeding up the process of identifying the root cause (RCA).
+
+ ### Why OnePane?
+
+ By correlating updates in code, configurations, and deployments from various systems with New Relic incidents and entities, you can efficiently and quickly identify the exact root cause of an error. This way, you can see precisely which change triggered the problem, saving you a considerable amount of time in troubleshooting.
+
+
+ - Show changes and infrastructure events alongside errors to pinpoint potential root causes.
+ - Enable root cause investigation by correlating incidents with change data and infrastructure data.
+
+ ### Get started!
+
+ - To get started with OnePane, you can sign up for a [free cloud account](https://console.onepane.ai/).
+ - Integrate OnePane with New Relic to analyse deployment, change, and infrastructure event data to identify possible root causes. You can also review [additional documentation at OnePane](https://www.onepane.ai/docs/en/articles/8999270-adding-onepane-change-tracking-to-your-new-relic-deployment).
+
+summary: By correlating deployment change and infrastructure change from OnePane with New Relic, you can enable faster root cause identification for the incidents.
+
+level: Verified
+
+authors:
+ - OnePane
+
+keywords:
+ - devops
+ - change tracking
+ - incident correlation
+ - root cause analysis
+ - llm
+
+documentation:
+ - name: Installation docs
+ url: https://www.onepane.ai/docs/en/articles/8999270-adding-onepane-change-tracking-to-your-new-relic-deployment
+ description: In order accelerate root cause analysis, Onepane integrates with New Relic to correlate incidents with changes and infrastructure events.
+
+icon: logo.png
+
+dataSourceIds:
+ - onepane
\ No newline at end of file
diff --git a/quickstarts/onepane/logo.png b/quickstarts/onepane/logo.png
new file mode 100644
index 0000000000..84c028b03b
Binary files /dev/null and b/quickstarts/onepane/logo.png differ
diff --git a/quickstarts/openai/config.yaml b/quickstarts/openai/config.yaml
index 6dd8d839cd..0bdbc7fcde 100644
--- a/quickstarts/openai/config.yaml
+++ b/quickstarts/openai/config.yaml
@@ -33,6 +33,7 @@ documentation:
https://github.com/newrelic/openai-api-monitoring
keywords:
+ - generative-aillm
- featured
- openai
- ai