3

githubの kamon-grafana-dashboard を使用して、scala akka アプリケーションを kamon で監視しようとしています。

Akka 2.3.6 Scala 2.10.4 および kamon 0.5.1 を使用して
います。システム メトリックは grafana バックエンドに報告されますが、アクター マトリックスは報告されません。

これは私のbuild.sbtファイルです

organization in ThisBuild := "lolcat"

name := """ImageServerSpray"""

version := "1.0"
scalaVersion  := "2.10.4"
val sprayVersion = "1.3.2"
val akkaVersion = "2.3.6"
val kamonVersion = "0.5.1"

scalacOptions ++=Seq(
"-feature",
"-unchecked",
"-deprecation",
"-encoding",
"utf8",
"-language:implicitConversions",
"-language:higherKinds",
"-language:existentials",
"-language:postfixOps"
)

resolvers ++=Seq("Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/",
                 "spray repo" at "http://repo.spray.io") 


libraryDependencies ++= Seq(
    "com.typesafe.akka" %% "akka-actor" % akkaVersion,
    "io.spray" %% "spray-can" % sprayVersion,
    "io.spray" %% "spray-routing" % sprayVersion,
    "io.spray" %% "spray-http"  % sprayVersion,
    "io.spray" %% "spray-httpx" % sprayVersion,
    "io.spray" %% "spray-io" % sprayVersion,
    "io.spray" %% "spray-json"  % sprayVersion,
    "com.typesafe.akka" %% "akka-slf4j" % akkaVersion,
    "io.spray" %% "spray-util" % sprayVersion,
    "org.json4s" %% "json4s-native" % "3.2.4",
    "ch.qos.logback" % "logback-classic" % "1.1.2",
    "io.kamon" %% "kamon-core" % kamonVersion,
    "io.kamon" %% "kamon-akka" % kamonVersion,
    "io.kamon" %% "kamon-statsd" % kamonVersion,
    "io.kamon" %% "kamon-log-reporter" % kamonVersion,
    "io.kamon" %% "kamon-system-metrics" % kamonVersion,
    "org.aspectj" % "aspectjweaver" % "1.8.1",
    "com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
    "io.spray" %% "spray-testkit" % sprayVersion % "test",
    "org.scalatest" %% "scalatest" % "2.1.4" % "test",
    "com.github.scala-incubator.io" %% "scala-io-file" % "0.4.2"
   )

aspectjSettings

javaOptions in run <++= AspectjKeys.weaverOptions in Aspectj

fork in run := true

そしてこれは私のapplication.conf

akka {
    loglevel = DEBUG
    loggers = ["akka.event.slf4j.Slf4jLogger"]
    logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"

    log-config-on-start = off

    actor.debug {
        # enable function of LoggingReceive, which is to log any received message at DEBUG level
        receive = on

        # enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill and the like)
        autoreceive = on

        # enable DEBUG logging of actor lifecycle changes
        lifecycle = on
    }
}

spray.routing {
  relaxed-header-parsing = on
}

kamon{

  system-metrics {

   #sigar is enabled by default
   sigar-enabled = true

   #jmx related metrics are enabled by default
   jmx-enabled = true
  }

    metric{

        tick-interval = 1 second
        filters{
          akka-actor {
            includes = [ "LolcatActorSystem/user/*", "LolcatActorSystem/user/serviceActor", "LolcatActorSystem/user/serviceActor/*" ]
            excludes = [  ]
          }

          akka-dispatcher {
            includes = [ "LolcatActorSystem/akka.actor.default-dispatcher" ]
          }

          trace {
            includes = [ "**" ]
            excludes = [ ]
          }
        }
    }

      # ~~~~~~ StatsD configuration ~~~~~~~~~~~~~~~~~~~~~~~~

  statsd {
    # Hostname and port in which your StatsD is running. Remember that StatsD packets are sent using UDP and
    # setting unreachable hosts and/or not open ports wont be warned by the Kamon, your data wont go anywhere.
    hostname = "127.0.0.1"
    port = 60001

    # Interval between metrics data flushes to StatsD. It's value must be equal or greater than the
    # kamon.metrics.tick-interval setting.
    flush-interval = 1 second

    # Max packet size for UDP metrics data sent to StatsD.
    max-packet-size = 1024 bytes

    # Subscription patterns used to select which metrics will be pushed to StatsD. Note that first, metrics
    # collection for your desired entities must be activated under the kamon.metrics.filters settings.  
    subscriptions {
      histogram       = [ "**" ]
      min-max-counter = [ "**" ]
      gauge           = [ "**" ]
      counter         = [ "**" ]
      trace           = [ "**" ]
      trace-segment   = [ "**" ]
      akka-actor      = [ "**" ]
      akka-dispatcher = [ "**" ]
      akka-router     = [ "**" ]
      system-metric   = [ "**" ]
      http-server     = [ "**" ]
    }

    report-system-metrics = true

    simple-metric-key-generator {
      # Application prefix for all metrics pushed to StatsD. The default namespacing scheme for metrics follows
      # this pattern:
      #    application.host.entity.entity-name.metric-name
      application = "lolcatServer"
    }
  }

} 

構成で何か本質的に間違ったことをしましたか? 何が問題の原因なのか本当にわからないので、助けていただければ幸いです。

ありがとう!

4

0 に答える 0