-
Having the default configuration on your agents might lead to more of your resources’ metrics being sent, a high consumption and a high bill at the end of the month.
-
Sending metrics and logs for Scaleway resources or personal data using an external path is a billable feature. In addition, any data that you push yourself is billed, even if you send data from Scaleway products. Refer to the product pricing for more information.
Send metrics to Cockpit using Grafana Alloy
The Grafana Alloy agent is a component used in observability and monitoring setups, to collect and send metrics, logs, and traces from your applications, services, and infrastructure to observability platforms, such as Cockpit.
This page explains how to configure the Grafana Alloy agent to push your metrics and visualize them in Grafana. You can use it to push your data from Scaleway resources or external resources.
For the sake of this documentation, we are using Grafana Alloy on macOS. Refer to the official Grafana documentation to find the commands to use depending on your operating system of choice.
Before you start
To complete the actions presented below, you must have:
- Owner status or IAM permissions allowing you to perform actions in the intended Organization
- A Scaleway account logged into the console
- Retrieved your Grafana credentials
- Installed Grafana Alloy
- Created a data source of the metrics type
- A token with push permissions for metrics in the same region as your metrics
Configuring Grafana Alloy
- Create a folder named
config
on your local machine. - Create a file named
cockpit.alloy
inside theconfig
folder. - Paste the following template inside
cockpit.alloy
:prometheus.exporter.unix "node" {set_collectors = ["uname","cpu","cpufreq","loadavg","meminfo","filesystem","netdev",]}prometheus.scrape "node" {scrape_interval = "60s"scrape_timeout = "4s"targets = prometheus.exporter.unix.node.targetsforward_to = [prometheus.remote_write.cockpit.receiver]}prometheus.remote_write "cockpit" {endpoint {url = "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.metrics.cockpit.fr-par.scw.cloud/api/v1/push"headers = {"X-TOKEN" = "COCKPIT_TOKEN_SECRET_KEY",}}} - Replace
https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.metrics.cockpit.fr-par.scw.cloud/api/v1/push
with your metrics’ URL. You can retrieve it in the Data sources tab of the Scaleway console. - Replace
COCKPIT_TOKEN_SECRET_KEY
with your Cockpit token’s secret key, then save your changes.ImportantMake sure that your token and your metrics data source were both created in the same region.
- Open a terminal and start Alloy:
brew services start alloy
- In the same terminal, run the following command.
The two last lines of your output should look similar to the following.alloy run config/cockpit.alloyts=2024-06-27T14:23:05.542081Z level=info msg="now listening for http traffic" service=http addr=127.0.0.1:12345ts=2024-06-27T14:23:13.432896Z level=info msg="Done replaying WAL" component_path=/ component_id=prometheus.remote_write.cockpit subcomponent=rw remote_name=aa0551 url=https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.metrics.cockpit.fr-par.scw.cloud/api/v1/push duration=12.900498616s
Visualizing your metrics
-
Click Cockpit in the Observability section of the console side menu. The Cockpit overview page displays.
-
Click Open dashboards to open your managed dashboards in Grafana. You are redirected to the Grafana website.
-
Enter your Grafana credentials.
-
Click Log in. The Grafana overview page displays.
-
Click Toggle menu.
-
Click Dashboards, then click New in the top right corner of your screen.
-
Click Import to import a dashboard.
-
In the Import via grafana.com field, enter
1860
, then click LoadNote1860
is the ID of the Node Exporter Full dashboard provided by Grafana. -
Enter a name for your dashboard or leave the default one, then select a folder in which to store your dashboard.
-
In the Prometheus field, select your metrics data source in the drop-down.
-
Click Import. Your dashboard should load and display.
-
In the drop-down next to Datasource, select your metrics data source. By default, your dashboard retrieves your data source’s data from the last 24 hours.
-
If your data source was created less than 24 hours ago, click the clock icon and adjust the time range to match its creation time.
Your dashboard should look similar to the one in the image below.