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

能否直接向Datadog发送日志与追踪数据?寻求无需Agent/Sidecar的方案

直接向Datadog发送日志的可行方案

当然有绕开Agent/Sidecar直接发送日志的方案,核心是利用Datadog的日志摄入HTTP API或者官方CLI工具,以下是具体实现方式:

方法一:通过Datadog日志摄入API直接发送

这是最直接的方式,无需任何中间代理,直接向Datadog的云端端点发送HTTP请求。

核心参数与要求

  • API密钥:需要你的Datadog账户API密钥(可在Datadog控制台的「Organization Settings > API Keys」中获取)
  • 区域端点:根据你的Datadog部署区域选择对应的URL:
    • 美国:https://http-intake.logs.datadoghq.com/v1/input
    • 欧盟:https://http-intake.logs.datadoghq.eu/v1/input
  • 请求格式:需发送POST请求,请求头包含Content-Type: application/json,请求体为符合Datadog格式的日志数据。

示例代码

使用curl命令发送单条日志

curl -X POST "https://http-intake.logs.datadoghq.com/v1/input/YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "message": "这是直接发送到Datadog的测试日志",
  "ddsource": "custom-cli",
  "ddtags": "env:production,app:my-custom-app",
  "hostname": "my-local-machine"
}'

使用Python发送日志

import requests
import json

api_key = "YOUR_API_KEY"
url = f"https://http-intake.logs.datadoghq.com/v1/input/{api_key}"

log_data = {
    "message": "Python直接发送的测试日志",
    "ddsource": "python-script",
    "ddtags": "env:testing,app:demo",
    "hostname": "python-host"
}

headers = {"Content-Type": "application/json"}
response = requests.post(url, data=json.dumps(log_data), headers=headers)

print(f"请求状态码: {response.status_code}")

方法二:使用Datadog官方CLI工具发送

Datadog提供了官方CLI工具datadog-cli,无需Agent即可直接与Datadog API交互,包括发送日志。

步骤

  1. 安装CLI工具(以macOS为例,其他系统可参考官方文档):
brew install datadog-cli
  1. 配置API密钥:
datadog config set api_key YOUR_API_KEY
  1. 发送日志:
datadog logs send --message "CLI直接发送的测试日志" --source "datadog-cli" --tags "env:staging,app:cli-demo"

注意事项

  • API密钥属于敏感信息,切勿硬编码到代码或配置文件中,建议通过环境变量传递
  • 日志字段中的ddsource(日志来源)、ddtags(标签)是可选但推荐的字段,有助于后续在Datadog中筛选和分析日志
  • 若发送大量日志,建议批量提交(请求体传入日志数组)以提升效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 11:32:11