You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中使用MQL查询谷歌云监控指标数据?

在Node.js中执行谷歌云MQL查询的实现方法

完全可以通过谷歌云官方提供的Monitoring Node.js客户端SDK实现MQL查询,直接拉取你在控制台验证过的指标数据,具体实现步骤如下:

前置准备

  • 安装官方SDK依赖:npm install @google-cloud/monitoring
  • 确保运行环境的身份凭证拥有roles/monitoring.viewer监控查看权限,权限不足会导致查询失败

代码实现示例

const { MonitoringServiceClient } = require('@google-cloud/monitoring');
const client = new MonitoringServiceClient();

/**
 * 执行MQL查询拉取指标数据
 * @param {string} projectId 谷歌云项目ID
 * @param {string} mqlQuery 你在监控控制台验证过的MQL查询语句
 * @returns {Array} 时序指标数据
 */
async function getMetricByMql(projectId, mqlQuery) {
  const request = {
    name: `projects/${projectId}`,
    query: mqlQuery,
    // 时间范围可根据你的定时任务频率调整,示例为拉取最近10分钟数据
    interval: {
      startTime: {
        seconds: Math.floor(Date.now() / 1000) - 600,
      },
      endTime: {
        seconds: Math.floor(Date.now() / 1000),
      },
    },
  };

  const [timeSeriesResult] = await client.queryTimeSeries(request);
  return timeSeriesResult;
}

// 调用示例
const yourProjectId = '替换为你的谷歌云项目ID';
const yourMqlStatement = '替换为你在控制台验证通过的MQL语句';

getMetricByMql(yourProjectId, yourMqlStatement)
  .then(metricData => {
    // 此处编写解析指标数据、更新服务器配置的业务逻辑
    console.log('拉取到的指标数据:', metricData);
  })
  .catch(err => {
    console.error('MQL查询失败:', err);
  });

注意事项

  • 你可以直接把监控控制台调试通过的MQL语句复制到代码中使用,不需要做额外的转义处理
  • 本地开发时可以通过设置环境变量GOOGLE_APPLICATION_CREDENTIALS为服务账号密钥文件的路径完成身份认证;在谷歌云环境(如云函数、GCE实例等)运行时,会自动读取环境默认的服务账号凭证,无需额外配置
  • 定时拉取的时间间隔建议和MQL的时间范围匹配,避免漏取或重复拉取指标数据

内容的提问来源于stack exchange,提问作者Ravers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:54:03