tencent cloud

文档反馈

Agent 自助接入

最后更新时间:2024-08-15 16:29:01

    使用场景

    采集自建 IDC 上的服务,需要部署 Agent 并管理采集配置,上报监控数据到云上 Prometheus 监控服务。对于云上服务推荐使用 集成中心,集成中心会托管 Agent,提供多种中间件和抓取任务的自动化集成。

    获取 Prometheus 实例访问配置

    1. 前往 Prometheus 监控控制台,选择对应的实例 ID/名称,在基本信息 > 服务地址页面,获取 Remote Write 地址和 Token。
    
    
    2. 账号信息 页面获取 APPID。

    确认所在网络环境和云上实例联通

    根据获取的 RemoteWrite 地址,执行如下命令,如果网络联通返回信息会包含 401 Unauthorized
    curl -v -X POST ${RemoteWriteURL}

    安装并启动 vmagent

    vmagent 占用较少的资源且兼容 Prometheus 采集配置和 Remote Write 协议而得到广泛使用。本文只介绍 vmagent 常用启动选项,通过 Systemd 或 Docker 来管理 vmagent,更多详细信息可以参考 官方文档

    常用启动选项

    -promscrape.noStaleMarkers:如果采集目标消失,默认会生成所有关联指标的 stale marker 并写到远程存储。设置该选项禁止该行为,能减少内存的占用。
    -loggerTimezone:日志中时间的时区,例如 Asia/Shanghai, Europe/Berlin 或者 Local (默认是 "UTC")。
    -remoteWrite.tmpDataPath:采集后待写出数据临时存储的文件路径。
    -remoteWrite.url:数据写向远程存储的 URL。
    -remoteWrite.basicAuth.username:远程存储 -remoteWrite.url 对应的 basic auth 用户名。
    -remoteWrite.basicAuth.password:远程存储 -remoteWrite.url 对应的 basic auth 密码。
    -promscrape.config:采集配置的路径,可以是文件路径或者 HTTP URL,更多详情 参考文档
    -promscrape.configCheckInterval:检查 -promscrape.config 配置变化的时间间隔,关于配置更新可以 参考文档

    通过 Docker 管理

    1. vmagent 发布页面 选择镜像版本,推荐使用 latest。
    2. 替换脚本中的 Prometheus 实例信息,启动 vmagent。
    mkdir /etc/prometheus
    touch /etc/prometheus/scrape-config.yaml
    docker run -d --name vmagent --restart always --net host -v /etc/prometheus:/etc/prometheus victoriametrics/vmagent:latest \\
    -promscrape.noStaleMarkers \\
    -loggerTimezone=Local \\
    -remoteWrite.url="${RemoteWriteURL}" \\
    -remoteWrite.basicAuth.username="${APPID}" \\
    -remoteWrite.basicAuth.password='${Token}' \\
    -remoteWrite.tmpDataPath=/var/lib/vmagent \\
    -promscrape.config=/etc/prometheus/scrape-config.yaml \\
    -promscrape.configCheckInterval=5s
    3. 查看 vmagent 日志
    docker ps
    docker logs vmagent
    如果正常启动,执行如下命令会返回OK
    curl localhost:8429/health

    通过 Systemd 管理

    1. vmagent 发布页面,根据操作系统和 CPU 架构,下载对应 vmutils-* 压缩包并解压。
    2. 替换脚本中的 Prometheus 实例访问信息,启动 vmagent。
    mkdir /etc/prometheus
    touch /etc/prometheus/scrape-config.yaml
    cat >/usr/lib/systemd/system/vmagent.service <<EOF
    [Unit]
    Description=VictoriaMetrics Agent
    After=network.target
    
    [Service]
    LimitNOFILE=10240
    ExecStart=/usr/bin/vmagent \\
    -promscrape.noStaleMarkers \\
    -loggerTimezone=Local \\
    -remoteWrite.url="${RemoteWriteURL}" \\
    -remoteWrite.basicAuth.username="${APPID}" \\
    -remoteWrite.basicAuth.password="${Token}" \\
    -remoteWrite.tmpDataPath=/var/lib/vmagent \\
    -promscrape.config=/etc/prometheus/scrape-config.yaml \\
    -promscrape.configCheckInterval=5s
    Restart=always
    RestartSec=10s
    
    [Install]
    WantedBy=multi-user.target
    EOF
    systemctl daemon-reload
    systemctl enable vmagent
    systemctl start vmagent
    sleep 3
    systemctl status vmagent
    3. 查看日志
    journalctl -u vmagent
    如果正常启动,执行如下命令会返回OK
    curl localhost:8429/health

    管理配置

    修改配置文件

    编辑采集配置文件 /etc/prometheus/scrape-config.yaml 添加/更新/删除采集任务,关于 Prometheus 采集任务配置可以参考 官方文档
    global:
    scrape_interval: 30s
    scrape_configs:
    - job_name: agent-monitor
    static_configs:
    - targets:
    - localhost:8429
    修改配置后,要过选项 -promscrape.configCheckInterval 设置时间才会生效。

    查看监控目标信息

    执行如下命令,查看采集目标,可以查看配置是否生效并符合预期。
    curl localhost:8429/api/v1/targets
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持