Splunk
Enterprise Feature
Splunk 集成可在 ClearML 企业版计划中使用。
将ClearML与Splunk集成,使您能够集中和分析API日志,以改进监控。
创建一个Splunk索引
-
登录到您的Splunk网络应用程序
-
在设置菜单中,点击索引
-
在索引页面,点击新建索引
-
在索引创建模态框中,输入索引名称(
)。如果不需要特殊设置,请保持其余字段的默认设置。 -
点击保存
设置Splunk HTTP事件收集器
-
在设置菜单中,点击数据输入
-
在HTTP事件收集器行,点击+ 添加新
-
在下一页,输入您的收集器名称并点击下一步
-
在下一页,从列表中选择您新创建的索引,并将其添加到右侧的选定项目列表中
-
点击 Review
-
点击 提交
-
复制显示的收集器令牌(
)。它将在接下来的步骤中使用。
配置 ClearML
配置ClearML服务器以使用Docker Compose或Kubernetes Helm将API日志发送到Splunk:
Docker Compose
-
将以下配置添加到您的
apiserver.conf
文件中。确保替换
、
、
和
。apilog: {
adapter: ["logging"],
adapters: {
logging: {
logger_prefix: "",
formatter: {
cls: "logstash_formatter.LogstashFormatterV1",
-kwargs: {}
},
handler: {
cls: "splunk_handler.SplunkHandler",
-custom_kwargs: {},
-kwargs: {
host: "<SPLUNK_URL>",
port: <SPLUNK_PORT>,
token: "<SPLUNK_TOKEN>",
index: "<SPLUNK_INDEX>",
protocol: https,
verify: false
},
}
}
}
} -
设置以下环境变量:
CLEARML__apiserver__endpoints__debug__ping__log_call=false
CLEARML__apiserver__endpoints___default__log_call=true
CLEARML__apiserver__log_calls=true -
使用
docker-compose
应用配置:docker-compose -f docker-compose.yml down
docker-compose -f /opt/clearml/docker-compose.yml --env-file constants.env up -d
Kubernetes Helm
-
将以下
values.override.yaml
添加到您的ClearML安装规范中。确保将
和
替换为前几步中的值。apiserver:
logCalls: true # Sets CLEARML__APISERVER__LOG_CALLS to true
extraEnvs:
- name: CLEARML__apiserver__endpoints___default__log_call
value: "true"
- name: CLEARML__apiserver__endpoints__debug__ping__log_call
value: "false"
additionalConfigs:
apiserver.conf: |
apilog: {
adapter: ["logging"],
adapters: {
logging: {
logger_prefix: "",
formatter: {
cls: "logstash_formatter.LogstashFormatterV1",
-kwargs: {}
},
handler: {
cls: "splunk_handler.SplunkHandler",
-custom_kwargs: {},
-kwargs: {
host: "splunk-splunk-standalone-service.splunk.svc.cluster.local",
port: 8088,
token: "<SPLUNK_TOKEN>",
index: "<SPLUNK_INDEX>",
protocol: https,
verify: false
},
}
}
}
} -
升级Helm发布:
helm repo update
helm upgrade -i clearml allegroai-enterprise/clearml-enterprise -f values-override.yaml
从日志中排除API调用
要从Splunk日志中排除特定的API调用,请添加一个环境变量,格式如下:CLEARML__apiserver__endpoints__
并将其设置为 false
。
例如,下面针对K8s Helm上的服务器的配置从Splunk日志中排除了POST /debug.ping
调用:
apiserver:
extraEnvs:
- name: CLEARML__apiserver__endpoints__debug__ping__log_call
value: "false"