Skip to main content

VMAgent

Last update:

VMAgent is an agent that allows you to set up the collection and processing of metrics.

Before you begin, set up VMAgent.

Set up VMAgent

You can set up the agent to collect metrics into your infrastructure.

  1. Add a service user.
  2. Set up the agent to collect metrics.

1. Add a service user

Add a service user with the Projects scope permission and one of the following roles:

  • metrics.admin;
  • member;
  • or reader.

Users can be added by the Account Owner or users with the iam.admin.

2. Set up the agent to collect metrics

  1. Open the CLI.

  2. Create the vmagent.yaml configuration file:

    nano /etc/vmagent/vmagent.yaml
  3. In the vmagent.yaml configuration file, populate the scrape_configs:

    scrape_configs:
    - job_name: test_scrape
    scrape_interval: 1m
    metrics_path: /projects/<project_id>/namespaces/<namespace>/prometheus/metrics
    static_configs:
    - targets:
    - <base_url>
    basic_auth:
    username: <user_id>
    password: <password>

    Specify:

    • <project_id> — the project ID. You can copy it in the control panel: in the top menu, click Products and select any product → open the projects menu → in the line of the required project, click ;
    • <namespace> — the name of the selected namespace, for example, compute;
    • <base_url> — API URL for the Metrics service. If you are configuring an agent to collect metrics from a dedicated server, use the cloud server pool URL that corresponds to the pool where your dedicated server is located. The list of URLs can be viewed in the List of URLs;
    • <user_id> — ID of the user you added in step 1.
    • <password> — password of the user you added in step 1.
  4. Optional: you can configure metrics collection from multiple pools or projects. To add a new pool or project, repeat step 3.

  5. Optional: add metrics export to external storage or processing systems, for example, VictoriaMetrics. To do this, add and populate the remote_write section in the vmagent.yaml configuration file.

  6. Exit the nano text editor and save your changes: press Ctrl+X, and then Y+Enter.

  7. Launch VMAgent:

    docker run \
    --name vmagent \
    --rm \
    -v ${PWD}/vmagent.yaml:/etc/vmagent/vmagent.yaml:ro \
    -p 8429:8429 \
    victoriametrics/vmagent:latest \
    --promscrape.config=/etc/vmagent/vmagent.yaml \
    --remoteWrite.url=http:/<storage_path>/api/v1/write

    Specify <storage_path> — the address of your custom metrics storage.

  8. Optional: make sure that metrics are being collected. To do this, check the agent's connection to the Metrics service:

    curl localhost:8429/targets

    The command output should display a status of up. Example output:

    job=test_scrape (1/1 up)