-
Notifications
You must be signed in to change notification settings - Fork 8
Doc: Updated additional steps for better clarity #219
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
Open
MoonC432
wants to merge
9
commits into
canonical:main
Choose a base branch
from
MoonC432:docs-improvement
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
241cc7c
Doc: Updated additional steps for better clarity
cb0d84c
Doc: Updated additional steps for better clarity
f298934
Merge remote-tracking branch 'observability-stack-fork/docs-improveme…
MoonC432 b715e36
Merge remote-tracking branch 'observability-stack-fork/docs-improveme…
MoonC432 2581f34
Merge remote-tracking branch 'observability-stack-fork/docs-improveme…
MoonC432 55ad528
Docs: Updated changes from comments
MoonC432 4ccb4e2
Docs: Updated changes from comments
MoonC432 2430cd1
Docs: Updated changes from comments
MoonC432 8107816
Docs: Udating changes recommended from the docs
MoonC432 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -58,6 +58,7 @@ Grafana's | |
| gRPCs | ||
| gyre | ||
| HostHealth | ||
| haproxy | ||
| hostname | ||
| hostPath | ||
| html | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,19 +1,85 @@ | ||
| # Migrate from Grafana Agent to OpenTelemetry Collector | ||
| > Grafana Agent has reached End-of-Life (EOL) on November 1, 2025. | ||
| ```{important} | ||
| Grafana Agent has reached End-of-Life (EOL) on November 1, 2025. | ||
| Grafana Agent is no longer receiving support, security, or bug fixes from the vendor. Since it is part of COS, the charmed operators for Grafana Agent will continue to receive bug fixes until July 2026. You should plan to migrate from charmed Grafana Agent to charmed Opentelemetry Collector before that date. | ||
|
|
||
| ``` | ||
| These are the steps to follow: | ||
|
|
||
| 1. Ensure you are using Juju 3.6. | ||
| 1. Deploy the collector next to the agent charm | ||
| 1. Look at the relations for grafana-agent, and replicate them for the collector | ||
| - Note that some relation endpoints have slightly different names, for clarity: | ||
| - `logging-consumer` is now `send-loki-logs` | ||
| - `grafana-cloud-config` is now `cloud-config` | ||
| 1. Verify that data is appearing in the backends (Mimir, Prometheus, Loki, etc.) | ||
| 1. Remove grafana-agent from your deployment | ||
| ## Prerequisites | ||
| - Ensure you are using Juju 3.6+. [Upgrade Juju](https://documentation.ubuntu.com/juju/latest/reference/upgrading-things/index.html) first if necessary. | ||
|
|
||
| <br> | ||
|
|
||
| ### Deploy the collector next to the agent charm | ||
| #### Machine model | ||
|
|
||
| Replace the value for `--base` to be consistent with your existing model. | ||
|
|
||
| ```{note} | ||
| If port 8888 (or others) is already taken by another application (e.g. haproxy), use a config option to override the default with e.g. 8889. | ||
| ``` | ||
|
|
||
| ``` | ||
| juju deploy opentelemetry-collector otelcol \ | ||
| --channel 2/stable \ | ||
| --base ubuntu@22.04 \ | ||
| --config ports="metrics=8889" # optional | ||
| ``` | ||
|
|
||
| #### Kubernetes Model | ||
| ``` | ||
| juju deploy opentelemetry-collector-k8s otelcol --channel 2/stable | ||
| ``` | ||
| <br> | ||
|
|
||
| ### Inspect grafana-agent integrations, and replicate them for the otelcol collector | ||
|
|
||
| ```{note} | ||
| - Some relation endpoints have slightly different names, for clarity: | ||
| - `logging-consumer` is now `send-loki-logs` | ||
| - `grafana-cloud-config` is now `cloud-config` | ||
| ``` | ||
|
|
||
| The best way is to copy the workload charm relation endpoint that was connected to `grafana-agent` | ||
| ``` | ||
| juju status --relations grafana-agent | grep "grafana-agent:" | grep -v ":peers" | ||
| ``` | ||
| This is a sample relation output: | ||
| ``` | ||
| grafana-agent:grafana-dashboards-provider grafana:grafana-dashboard grafana_dashboard regular | ||
| keystone:juju-info grafana-agent:juju-info juju-info subordinate | ||
| prometheus-recieve-remote-write:receive-remote-write grafana-agent:send-remote-write prometheus_remote_write regular | ||
| ``` | ||
| Then integrate each of those charms with otelcol, for example: | ||
| ``` | ||
| juju integrate otelcol grafana:grafana-dashboard | ||
| juju integrate otelcol keystone:juju-info | ||
| juju integrate otelcol prometheus-receive-remote-write:receive-remote-write | ||
| ``` | ||
| and so on. | ||
|
|
||
| If you get a `quota limit exceeded` error, for example | ||
| ``` | ||
| ERROR cannot add relation "otelcol:cos-agent openstack-exporter:cos-agent": establishing a new relation for openstack-exporter:cos-agent would exceed its maximum relation limit of 1 (quota limit exceeded) | ||
| ``` | ||
|
|
||
| Then remove the relation from the payload first and then try again. | ||
| ``` | ||
| juju remove-relation grafana-agent openstack-exporter:cos-agent | ||
| juju integrate otelcol openstack-exporter:cos-agent | ||
| ``` | ||
| <br> | ||
|
|
||
| ### Verify that data is appearing in the backends (Mimir, Prometheus, Loki, etc.) | ||
| ```{tip} | ||
| For metrics, the tags are visible in the Grafana dashboard section. For logs you can run a query from the Explore page and select one of the logs to see which `juju_application` ingested it. | ||
| ``` | ||
| <br> | ||
|
|
||
| ### Remove grafana-agent from your deployment | ||
| ``` | ||
| juju remove-application grafana-agent --destroy-storage | ||
| ``` | ||
|
|
||
| ## Known Issues | ||
|
|
||
| Unlike `grafana-agent`, OpenTelemetry Collector maintains state in-memory by default: this means that queued telemetry data will be lost on restart. This will be addressed in the future with the **File Storage extension**, tracked in [opentelemetry-collector-k8s#34](https://github.com/canonical/opentelemetry-collector-k8s-operator/issues/34). | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.