gpt4 book ai didi

docker - 如何通过 Docker Compose 初始化 Splunk HTTP 事件收集器并将其与 splunk 日志驱动程序一起使用

转载 作者:行者123 更新时间:2023-12-02 19:29:31 29 4
gpt4 key购买 nike

我正在尝试使用 Docker Compose 设置本地开发环境,该环境引导 Splunk Enterprise 服务器并使用 splunk logging driver在应用服务器上。

版本:

  • Docker 引擎:18.06.1-ce
  • 撰写:1.22.0
  • 撰写文件:3.7
  • Splunk 企业版:7.2.0

  • 我的 docker-compose.yml文件如下所示:
    version: "3.7"

    services:
    app:
    build: ./app
    command: bash -c "npm run start:docker"
    depends_on:
    - splunk
    environment:
    - NODE_ENV=development
    - SERVER_PORT=8080
    logging:
    driver: splunk
    options:
    splunk-format: "json"
    splunk-insecureskipverify: "true"
    splunk-source: "app"
    splunk-token: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
    splunk-url: "http://splunk:8088"
    tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
    ports:
    - "80:8080"
    volumes:
    - "./app:/usr/src/app"

    splunk:
    environment:
    - SPLUNK_ENABLE_LISTEN=9997
    - SPLUNK_START_ARGS=--accept-license --no-prompt --answer-yes
    - SPLUNK_USERNAME=admin
    - SPLUNK_PASSWORD=password
    hostname: splunk
    image: splunk/splunk:7.2.0
    ports:
    - "8000:8000"
    - "8088:8088"
    - "9997:9997"
    restart: always

    为了使其按预期工作,我需要生成一个 HTTP 事件收集器 token 并以某种方式使其可用于应用程序服务。

    我已经看到你可以使用环境变量 SPLUNK_CMD运行命令,大概是在 Splunk 服务启动并运行之后,但是当我尝试将其用于 generate a token with the CLI 时, 什么都没有发生。我在日志中没有看到失败,在设置 > 数据输入下也没有看到 token 。

    另一个问题是 Splunk 需要一些时间来启动,在它开始监听之前,应用服务无法构建,因为日志驱动程序无法连接。

    有可能做我想做的事吗?如果是这样,如何?

    最佳答案

    新镜像 (7.2.0) 的配置表明您可以使用环境变量 https://github.com/splunk/docker-splunk/blob/48d5322bc574792a5bfbfe8f68769aa16e7688b7/documentation/ADVANCED.md#valid-enterprise-environment-variables 指定 HTTP 事件收集器 token 。

    但在查看 https://github.com/splunk/splunk-ansible/search?q=set_as_hec_receiver.yml&unscoped_q=set_as_hec_receiver.yml 后,我认为它不适用于单个实例- 似乎该剧本只会为重量级转发器和索引器执行。

    或者,如果您查看 "legacy"/community supported image 你会发现一种不同的方式来做到这一点。例如,您可以查看我们在 Outcold Solutions 用于开发 Splunk 应用程序的 app-boilerplate https://github.com/outcoldsolutions/splunk-app-boilerplate ,我们:

  • map 配置https://github.com/outcoldsolutions/splunk-app-boilerplate/blob/master/Makefile#L23
  • 复制过来 https://github.com/outcoldsolutions/splunk-app-boilerplate/blob/master/Makefile#L26

  • 要解决这个问题,“另一个问题是 Splunk 需要一些时间来启动,在它开始监听之前,应用服务无法构建,因为日志驱动程序无法连接。” - 请查看选项 splunk-verify-connection (请参阅 https://docs.docker.com/config/containers/logging/splunk/#splunk-options ),这样它将不断重试一遍又一遍地发送数据,直到 HTTP 事件收集器可用。

    作为 splunk-verify-connection 的替代方案您还可以使用不同的方法将日志转发到 Splunk,通过使用 Outcold Solutions 收集器,从 JSON 日志转发容器日志。安装方便 https://www.outcoldsolutions.com/docs/monitoring-docker/v5/installation/ ,您还可以使用应用程序来监控您的 docker 环境 https://splunkbase.splunk.com/app/3723/

    关于docker - 如何通过 Docker Compose 初始化 Splunk HTTP 事件收集器并将其与 splunk 日志驱动程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52796905/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com