Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 卡蒙与春天和阿克卡_Java_Spring_Spring Boot_Akka_Kamon - Fatal编程技术网

Java 卡蒙与春天和阿克卡

Java 卡蒙与春天和阿克卡,java,spring,spring-boot,akka,kamon,Java,Spring,Spring Boot,Akka,Kamon,我正在将akka(java)与spring-boot结合使用。我想使用kamon监控指标,并将其显示在grafana仪表板上。我已经将kamon-corekamon-statsd包含到依赖项中,并为statsd创建了一个具有正确端口和主机名的application.conf。没有清晰的示例或教程显示我使用的堆栈。使用springboot、java、akka和kamon在tomcat中部署为战争的akka度量是否可能 pom.xml <?xml version="1.0" encoding=

我正在将
akka
(java)与
spring-boot
结合使用。我想使用
kamon
监控指标,并将其显示在
grafana
仪表板上。我已经将
kamon-core
kamon-statsd
包含到依赖项中,并为
statsd
创建了一个具有正确端口和主机名的
application.conf
。没有清晰的示例或教程显示我使用的堆栈。使用
springboo
t、
java
akka
kamon
tomcat
中部署为战争的
akka
度量是否可能

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0     http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>kamon.annotation</groupId>
<artifactId>kamon-spring-boot</artifactId>
<version>0.1.0</version>


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-core_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-annotation_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-akka_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-log-reporter_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
</dependencies>

<properties>
    <java.version>1.8</java.version>
</properties>


<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<repositories>
    <repository>
        <id>io.kamon</id>
        <url>http://snapshots.kamon.io</url>
    </repository>
</repositories>
}

}

弹簧组件

import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;

@Component
public class PingPong {

    @PostConstruct
    public void initialize() {
        final ActorSystem system = ActorSystem.create("kamon-spring-boot-actor-system");

        final ActorRef pinger = system.actorOf(Props.create(Pinger.class), "pinger");
        final ActorRef ponger = system.actorOf(Props.create(Ponger.class), "ponger");

        pinger.tell(new Ponger.PongMessage(), ponger);
    }
}
还可以制作一个简单的控制器,以显示使用模块收集其他指标的简单程度

import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
@RequestMapping("/kamon")
@EnableKamon
public class KamonController {

  @RequestMapping("/counter")
  @ResponseBody
  @Count(name = "awesomeCounter")
  public String counter() {  return "count!!!"; }
}
主应用程序

import kamon.akka.pingpong.PingPong;
import kamon.annotation.KamonController;
import org.springframework.boot.SpringApplication;

public class KamonSpringApplication {
  public static void main(String... args) {
   Kamon.start();
   SpringApplication.run(KamonController.class, args);
  }
}
application.conf为测试目的而简化

kamon {
  metric {
    filters {
      trace.includes = [ "**" ]
      akka-actor.includes = [ "**" ]
      akka-actor.excludes = ["*/system/**", "*/user/IO-**" ]
      akka-dispatcher.includes = [ "**" ]
      akka-dispatcher.excludes = [ ]
    }
  }
 }
构建应用程序并运行

mvn package && java -javaagent:/path/to/aspectjweaver.jar -jar target/kamon-spring-boot-0.1.0.jar
我们应该买这样的东西吗

+--------------------------------------------------------------------------------------------------+
|                                                                                                  |
|    Actor: kamon-spring-boot-actor-system/user/pinger                                             |
|                                                                                                  |
|   Processing Time (nanoseconds)      Time in Mailbox (nanoseconds)         Mailbox Size          |
|    Msg Count: 3393358                    Msg Count: 3393405                  Min: 0              |
|          Min: 237                              Min: 178                     Avg.: 0.0            |
|    50th Perc: 672                        50th Perc: 756                      Max: 2              |
|    90th Perc: 988                        90th Perc: 1264                                         |
|    95th Perc: 1088                       95th Perc: 1368                                         |
|    99th Perc: 1520                       99th Perc: 1848                   Error Count: 0        |
|  99.9th Perc: 20480                    99.9th Perc: 17920                                        |
|          Max: 16646144                         Max: 34865152                                     |
|                                                                                                  |
+--------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------------+
|                                                                                                  |
|    Actor: kamon-spring-boot-actor-system/user/ponger                                             |
|                                                                                                  |
|   Processing Time (nanoseconds)      Time in Mailbox (nanoseconds)         Mailbox Size          |
|    Msg Count: 3739208                    Msg Count: 3739161                  Min: 0              |
|          Min: 272                              Min: 172                     Avg.: 0.0            |
|    50th Perc: 672                        50th Perc: 732                      Max: 2              |
|    90th Perc: 976                        90th Perc: 1232                                         |
|    95th Perc: 1064                       95th Perc: 1344                                         |
|    99th Perc: 1360                       99th Perc: 1656                   Error Count: 0        |
|  99.9th Perc: 10496                    99.9th Perc: 14272                                        |
|          Max: 7766016                          Max: 30277632                                     |
|                                                                                                  |
+--------------------------------------------------------------------------------------------------+
如果我们做两次卷发

http://localhost:8080/kamon/counter
http://localhost:8080/kamon/counter

+--------------------------------------------------------------------------------------------------+
|                                                                                                  |
|                                         Counters                                                 |
|                                       -------------                                              |
|                             awesomeCounter  =>  2                                                |
|                                                                                                  |
|                                                                                                  |
|                                        Histograms                                                |
|                                      --------------                                              |
|                                                                                                  |
|                                      MinMaxCounters                                              |
|                                    -----------------                                             |
|                                                                                                  |
|                                          Gauges                                                  |
|                                        ----------                                                |
|                                                                                                  |
+--------------------------------------------------------------------------------------------------+
请参阅完整的示例

希望这能对您有所帮助。

这里有一个简单的例子

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0     http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>kamon.annotation</groupId>
<artifactId>kamon-spring-boot</artifactId>
<version>0.1.0</version>


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-core_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-annotation_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-akka_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-log-reporter_2.11</artifactId>
        <version>0.6.2</version>
    </dependency>
</dependencies>

<properties>
    <java.version>1.8</java.version>
</properties>


<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<repositories>
    <repository>
        <id>io.kamon</id>
        <url>http://snapshots.kamon.io</url>
    </repository>
</repositories>
}

}

弹簧组件

import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;

@Component
public class PingPong {

    @PostConstruct
    public void initialize() {
        final ActorSystem system = ActorSystem.create("kamon-spring-boot-actor-system");

        final ActorRef pinger = system.actorOf(Props.create(Pinger.class), "pinger");
        final ActorRef ponger = system.actorOf(Props.create(Ponger.class), "ponger");

        pinger.tell(new Ponger.PongMessage(), ponger);
    }
}
还可以制作一个简单的控制器,以显示使用模块收集其他指标的简单程度

import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
@RequestMapping("/kamon")
@EnableKamon
public class KamonController {

  @RequestMapping("/counter")
  @ResponseBody
  @Count(name = "awesomeCounter")
  public String counter() {  return "count!!!"; }
}
主应用程序

import kamon.akka.pingpong.PingPong;
import kamon.annotation.KamonController;
import org.springframework.boot.SpringApplication;

public class KamonSpringApplication {
  public static void main(String... args) {
   Kamon.start();
   SpringApplication.run(KamonController.class, args);
  }
}
application.conf为测试目的而简化

kamon {
  metric {
    filters {
      trace.includes = [ "**" ]
      akka-actor.includes = [ "**" ]
      akka-actor.excludes = ["*/system/**", "*/user/IO-**" ]
      akka-dispatcher.includes = [ "**" ]
      akka-dispatcher.excludes = [ ]
    }
  }
 }
构建应用程序并运行

mvn package && java -javaagent:/path/to/aspectjweaver.jar -jar target/kamon-spring-boot-0.1.0.jar
我们应该买这样的东西吗

+--------------------------------------------------------------------------------------------------+
|                                                                                                  |
|    Actor: kamon-spring-boot-actor-system/user/pinger                                             |
|                                                                                                  |
|   Processing Time (nanoseconds)      Time in Mailbox (nanoseconds)         Mailbox Size          |
|    Msg Count: 3393358                    Msg Count: 3393405                  Min: 0              |
|          Min: 237                              Min: 178                     Avg.: 0.0            |
|    50th Perc: 672                        50th Perc: 756                      Max: 2              |
|    90th Perc: 988                        90th Perc: 1264                                         |
|    95th Perc: 1088                       95th Perc: 1368                                         |
|    99th Perc: 1520                       99th Perc: 1848                   Error Count: 0        |
|  99.9th Perc: 20480                    99.9th Perc: 17920                                        |
|          Max: 16646144                         Max: 34865152                                     |
|                                                                                                  |
+--------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------------+
|                                                                                                  |
|    Actor: kamon-spring-boot-actor-system/user/ponger                                             |
|                                                                                                  |
|   Processing Time (nanoseconds)      Time in Mailbox (nanoseconds)         Mailbox Size          |
|    Msg Count: 3739208                    Msg Count: 3739161                  Min: 0              |
|          Min: 272                              Min: 172                     Avg.: 0.0            |
|    50th Perc: 672                        50th Perc: 732                      Max: 2              |
|    90th Perc: 976                        90th Perc: 1232                                         |
|    95th Perc: 1064                       95th Perc: 1344                                         |
|    99th Perc: 1360                       99th Perc: 1656                   Error Count: 0        |
|  99.9th Perc: 10496                    99.9th Perc: 14272                                        |
|          Max: 7766016                          Max: 30277632                                     |
|                                                                                                  |
+--------------------------------------------------------------------------------------------------+
如果我们做两次卷发

http://localhost:8080/kamon/counter
http://localhost:8080/kamon/counter

+--------------------------------------------------------------------------------------------------+
|                                                                                                  |
|                                         Counters                                                 |
|                                       -------------                                              |
|                             awesomeCounter  =>  2                                                |
|                                                                                                  |
|                                                                                                  |
|                                        Histograms                                                |
|                                      --------------                                              |
|                                                                                                  |
|                                      MinMaxCounters                                              |
|                                    -----------------                                             |
|                                                                                                  |
|                                          Gauges                                                  |
|                                        ----------                                                |
|                                                                                                  |
+--------------------------------------------------------------------------------------------------+
请参阅完整的示例

希望这能帮助你