Data Lake - 自定义数据源监视器
Data Lake 中的自定义数据源选项允许您通过 API 或 SDK 从应用程序推送数据,实现无缝监控与分析,让您完全掌控自定义指标。
入门
按照以下步骤通过自定义数据源推送数据:
- 单击自定义数据源旁的立即集成开始配置。
- 在添加 Data Lake 监视器页面,填写以下信息:
- Data Lake 名称:为监视器提供唯一名称。
- 关联监视器组:从下拉列表中选择监视器组,对监视器进行逻辑分组。有关创建组的详细信息,请参阅监视器组。
- 包含标签:选择如何筛选通过 SDK/API 推送的数据。
- 所有标签:推送所有可用数据。
- 以特定词开头:推送以特定词开头的数据。
- 包含:推送包含特定关键词的数据。
- 以特定词结尾:推送以特定词结尾的数据。
- 单击保存。

向已创建的监视器导入数据
您可以通过 SDK 或 API 推送数据。
通过 SDK 推送数据
此选项用于发送原始数据(未聚合数据),聚合工作将在服务端完成。
通过 Java SDK 推送数据
使用 Java SDK 向 Data Lake 推送数据
第一步:将 SDK 添加/配置到您的应用程序
您的应用程序中必须包含 SLF4J jar 用于日志记录。如果尚未添加该 jar,请先添加。
- 访问 Maven 中央仓库。
- 根据您的构建框架将依赖项添加到应用程序中。
注意您也可以下载 SDK jar 并手动添加到应用程序中。
第二步:创建 SDK MetricProvider 对象
使用 MetricProviderBuilder 类创建带有 Site24x7 导出器的 MetricProvider 对象,该对象用于推送指标数据。
对于单个应用程序,只有一个许可证密钥生效。即使在同一应用程序中创建新对象,也将继续使用初始许可证密钥,而不会获取新的许可证密钥。
// Create Metric provider using the following code snippet
MetricProvider provider = new MetricProvider("");
DataLakeProvider dataLake = provider.createDataLake(""); // The app key associated with the Data-lake monitor.
DataLakeResource resource = dataLake.createResource(new HashMap(){{
put("host", "192.168.10.254");
}});// Set of tags to associate with a list of metrics created using the appkey resource
// Push data using different methods like Count, Rate, Gauge, Histogram.
resource.gauge(
"ResponseTime", // The metric name (field name)
180, // The numerical value of the metric
"ms",// Unit of the metric (Default unit will be Count)
new HashMap(){{
put("host", "192.168.10.254");
}}); // Set of tags to be associated with the metric
第三步:向 SDK 提供原始数据
指定准确的方法以正确聚合已定义字段的值。
Count(计数)
metricProvider.count(
"<app key>", // The app key associated with the Data-lake monitor
"db_write", // The metric name (field name)
2.0, // Numerical value of the metric
Collections.singletonMap("host", "192.168.10.254") // Set of tags to associate with the metric
);
Rate(速率)
metricProvider.rate(
"<app key>",
"disk_free",
16868264.0,
Collections.singletonMap("host", "192.168.10.254")
);
Gauge(仪表)
metricProvider.gauge(
"<app key>",
"disk_free",
16868264.0,
Collections.singletonMap("host", "192.168.10.254")
);
Histogram(直方图)
metricProvider.histogram(
"<app key>",
"disk_free",
16868264.0,
Collections.singletonMap("host", "192.168.10.254")
);
其中,
- <app_key> 可从 Show Post URL 选项获取
- disk_free 是数值字段
- Collections.singletonMap ("host", "192.168.10.254") 是字符串字段,为可选项
- 单位的默认值如下:
- ms 用于时间
- bytes 用于大小
- one 用于计数
通过 Node.js SDK 推送数据
使用 Node.js SDK 向 Data Lake 推送数据
使用 Node.js SDK 将自定义指标推送到 Site24x7 Data Lake 进行监控和分析。
前提条件
- Node.js 16 或更高版本
- Node Package Manager (NPM)
- 具有有效 app key 的 Site24x7 账户
第一步:安装 SDK
在项目根目录下使用以下命令安装 SDK:
npm install site24x7_datalake_sdk
第二步:配置
创建或更新 .env 文件:
Site24x7LicenseKey="your-license-key-here"
APP_PORT=3015
第三步:导入 SDK 并创建 Data Lake
在应用程序中引入 SDK:
const metrics = require('site24x7_datalake_sdk');
将 appKey 替换为从 Data Lake 监视器获取的 app key:
const appKey = 'your-actual-app-key-here';
按如下方式创建 Data Lake:
const dataLake = metrics.createDataLake(appKey);
第四步:创建资源标签
创建带有标签的资源,与使用此 app key 推送的所有指标关联:
const dataLakeResource = dataLake.createResource({
resourcetag1: 'resourcetag1',
resourcetag2: 'resourcetag2',
});
您可以根据应用程序需求自定义这些标签。
第五步:推送原始指标数据
指定适当的指标类型以确保值的正确聚合。
Count(计数)
用于记录事件发生次数。
dataLakeResource.count({
name: "event_occurrences",
value: 10,
unit: "events",
tags: {
source: "api",
type: "user_action"
}
});
Gauge(仪表)
表示随时间变化的值,反映任意时刻的当前状态。
dataLakeResource.gauge({
name: "memory_usage",
value: 75,
unit: "MB",
tags: {
server: "web-server-1",
environment: "production"
}
});
Rate(速率)
用于记录随时间测量的值。
dataLakeResource.rate({
name: "requests_per_second",
value: 250,
unit: "requests",
tags: {
source: "load_balancer",
region: "us-east"
}
});
Histogram(直方图)
用于记录统计分布。
dataLakeResource.histogram({
name: "response_times",
value: 120,
unit: "ms",
tags: {
endpoint: "/api/users",
method: "GET"
}
});
参数说明
| 参数 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| name | string | 是 | - | 指标名称 |
| value | number | 是 | - | 记录的值 |
| unit | string | 否 | one | 度量单位 |
| tags | object | 否 | {} | 指标的附加标签 |
快速检查
- 运行 npm install 以确保所有依赖项已安装
- 从 Site24x7 验证许可证密钥和 app key
- 在应用程序根目录中检查 site24x7data 文件夹以查看 SDK 日志
通过 API 推送数据
此选项用于推送已聚合的数据。
- 在列表中找到 Data Lake 监视器并单击。
- 将鼠标悬停在监视器名称旁边的汉堡图标(
)上。 - 从下拉菜单中选择 Show Post URL。

- 按照屏幕上的说明操作。
注意示例 Payload:
[ { "metrics":[ { "unit":"ms", "datavalues":[ { "p0":0, "p99":16, "p100":17, "time_stamp":"1739341985265", "count":10, "p50":12, "value":100, "p95":15, "tags":{ "metric_tag_2":"metricTag2Data", "metric_tag_1":"metricTag1Data" } } ], "name":"MetricName", "type":"rate", "description ":"Sample Description" } ], "tags":{ "group_tag_1":"groupTag1data", "group_tag_2":"groupTag2data" } } ]其中,
- value:指标的处理后值。
- count:用于计算值的区间内记录的指标数量。若未提供,默认值为 1。
支持的单位
| 类型 | 支持的单位 | 基本单位 |
|---|---|---|
| 大小 | bytes, kb, mb, gb, tb | bytes |
| 时间 | us, ms, sec, min, hr, day | ms |
| 计数 | one, thousand, lakh, million, billion, trillion | one |
- 即使用户以不同单位(如 gb、min、billion)发送值,也会自动转换为基本单位(bytes、ms、one)。
- 如果用户发送的单位不在上表中,则自动视为计数类型,单位计为 one。
相关文章
-
本页内容
- 入门
- 导入数据
- 通过 SDK 推送数据
- 通过 API 推送数据
- 支持的单位
- 相关文章
