跳转至

Nginx Tracing

配置

支持版本

NGINX 版本线 nginx-datadog 支持版本范围 已确认的 NGINX 版本 / 说明 建议
1.31.* >= v1.17.0 已确认 1.31.0 v1.17.0 或更新
1.30.* >= v1.16.0 1.30.0v1.16.0 支持;1.30.1v1.17.0 支持 优先 v1.17.0+
1.29.* >= v1.8.0 已确认 1.29.0 ~ 1.29.8;部分 patch 版本需要更高 nginx-datadog 优先 v1.17.0+
1.28.* >= v1.8.0 已确认 1.28.0 ~ 1.28.3;部分 patch 版本需要更高 nginx-datadog 优先 v1.17.0+
1.27.* >= v1.8.0 已确认 1.27.0 ~ 1.27.5 优先 v1.17.0+
1.26.* >= v1.8.0 已确认 1.26.0 ~ 1.26.3 优先 v1.17.0+
1.25.* >= v1.0.1 1.25.0/1.25.1v1.0.1 支持;1.25.2v1.0.2 支持;1.25.3/1.25.4v1.0.5 支持;1.25.5 在后续版本支持 建议 v1.7.0+,优先最新
1.24.* v0.6.1 ~ v1.16.0 已确认 1.24.0v1.16.1+ 已移除支持 最高用 v1.16.0
1.23.* v0.3.4 / v0.5.3 / v0.6.1 ~ v1.6.2 1.23.2v0.3.4 支持;1.23.3v0.5.3 支持;1.23.4v0.6.1 支持 建议锁定到 v1.6.2 或自行 build
1.22.* v0.3.4 ~ v1.6.2 已确认 1.22.1 建议锁定到 v1.6.2 或自行 build
1.19.* v0.1.0 ~ v1.6.2 仅确认 1.19.1 其他 1.19.x 需查 assets 或自行 build
1.18.* v0.1.0 ~ v1.6.2 仅确认 1.18.0-alpine 非 alpine 或其他 patch 需查 assets 或自行 build
1.14.* v0.5.2 ~ v1.6.2 仅确认 1.14.1 其他 1.14.x 需查 assets 或自行 build

配置 Nginx

下载 Tracing 模块

访问 https://github.com/DataDog/nginx-datadog/releases, 在 Assets 中寻找并下载与当前处理器架构和版本匹配的模块 ngx_http_datadog_module-<处理器架构>-<版本>.so.tgz

安装 Tracing

  • 创建模块路径
cd /usr/local/nginx
mkdir modules && cd $_
  • 解压
root@root:/usr/local/nginx/modules$  tar xzvf ngx_http_datadog_module-<处理器架构>-<版本>.so.tgz

配置 Nginx

/usr/local/nginx/conf/nginx.conf 中添加以下内容:

# 加载模块
load_module modules/ngx_http_datadog_module.so;

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    # 配置 Datakit URL
    datadog_agent_url http://localhost:9529;
    # 配置服务名称
    datadog_service_name nginx-demo;
    # 配置环境名称
    datadog_environment test;
    # 配置版本名称
    datadog_version 1.0.0;
    # 配置采样率 0-1.0
    datadog_sample_rate 1.0;
    # 配置标签
    datadog_tag foo bar;

    include       mime.types;
    default_type  application/octet-stream;

    # 通过 $datadog_trace_id 和 $datadog_span_id 为日志加入 trace_id 和 span_id,均为 16 进制
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"'
                      '"$datadog_trace_id" "$datadog_span_id"';

    access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

重启 Nginx

开启 DataKit 采集

  • 开启 ddtrace
cd /usr/local/datakit/conf.d/ddtrace/
cp ddtrace.conf.sample ddtrace.conf
  • 重启 DataKit
datakit service -R

文档评价

文档内容是否对您有帮助? ×