【问题标题】:How to configure Kamon for dockerized Akka application?如何为 dockerized Akka 应用程序配置 Kamon?
【发布时间】:2018-05-22 13:21:44
【问题描述】:

我在 Akka 中创建了一个示例服务,用于测试 Kamon + DataDog 监控。

这是我添加的依赖项:

"io.kamon" %% "kamon-core" % "1.1.0",
"io.kamon" %% "kamon-datadog" % "1.0.0",
"io.kamon" %% "kamon-akka-2.5" % "1.0.1"

这里是build.sbt中启用的插件:

.enablePlugins(AshScriptPlugin, DockerPlugin, SbtAspectJRunner)

然后application.conf:

kamon {
  datadog {
    time-units = "ms"
    memory-units = "b"
  }
  util {
    filters {
      "akka.tracked-actor" {
        includes = [ "testSystem/user/**" ]
        excludes = [ "testSystem/system/**" ]
      }

      "s3-worker-actors" {
        includes = [ "testSystem/user/s3Router/*" ]
      }

      "fb-worker-actors" {
        includes = [ "testSystem/user/fbRouter/*" ]
      }

      "akka.tracked-router" {
        includes = [ "testSystem/user/s3Router", "testSystem/user/fbRouter" ]
      }

      "akka.tracked-dispatcher" {
        includes = [ "**" ]
      }

      "akka.traced-actor" {
        includes = [ "**" ]
      }
    }
  }
  akka.actor-groups = [ "s3-worker-actors", "fb-worker-actors" ]
}

最后在我调用的Main 类中:

Kamon.addReporter(new DatadogAgentReporter())

在 EC2 上,我为 docker 安装了 datadog-agent。

当我在 EC2 实例上运行服务容器,然后查看 DataDog 界面时,我没有看到任何与 akka 相关的指标,只是一个标准指标列表,例如:datadog.process.agentdocker.cpu.usagesystem.io.await等等

如果将akka应用打包到docker并部署在EC2上,如何启用akka相关指标?

【问题讨论】:

    标签: akka datadog kamon akka-monitoring


    【解决方案1】:

    启动 Akka 应用程序时需要add AspectJ weaver as Java Agent-javaagent:aspectjweaver.jar

    您可以在项目 SBT 配置中添加以下设置:

    .settings(
      retrieveManaged := true,
      libraryDependencies += "org.aspectj" % "aspectjweaver" % aspectJWeaverV)
    

    因此,AspectJ weaver JAR 将被复制到您项目根目录中的./lib_managed/jars/org.aspectj/aspectjweaver/aspectjweaver-[aspectJWeaverV].jar

    然后你可以在你的 Dockerfile 中引用这个 JAR:

    COPY ./lib_managed/jars/org.aspectj/aspectjweaver/aspectjweaver-*.jar /app- 
    workdir/aspectjweaver.jar
    WORKDIR /app-workdir
    CMD ["java", "-javaagent:aspectjweaver.jar", "-jar", "app.jar"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多