如何指定statsd客户端端口?

时间:2019-06-13 05:10:30

标签: java spring-boot pivotal-cloud-foundry statsd pcf

我在pcf环境中部署了一个Java Spring Boot应用程序。我已使用statsd客户端库将指标发送到statsd服务器。因此,问题在于如何在statsd客户端中指定主机和端口,以便它可以发送指标。

        public StatsDClient statsDClient(
        @Value("${metrics.statsd.host:localhost}") String host,
        @Value("${metrics.statsd.port:8125}") int port,
        @Value("${metrics.prefix:example.app}") String prefix
) {
    return new NonBlockingStatsDClient(prefix, host, port);
}

我必须为PCF部署的应用程序指定主机和端口,该怎么做?

1 个答案:

答案 0 :(得分:0)

如果我对它的理解正确,那么您有两个在PCF中运行的应用程序。

  1. 一个Spring Boot应用程序-您正在调用某些客户端应用程序。
  2. 第二个是您的statsd服务器

,您需要在这两者之间建立通信。

正如丹尼尔(Daniel)在评论中提到的那样,您有两种方法可以做到这一点。

  1. HTTP/TCP
  2. Internal Route

选项1的问题是您可能无法像PCF在内部那样将其与主机和端口分开使用。

我建议使用第二个选项-内部路由,该路由可为您提供明确的主机名和端口,您需要在客户端应用程序中进行配置。 您可以按照以下步骤配置容器到容器网络

  1. 将新路由添加到您的服务器应用-即app1.apps.internal
  2. 使用客户端和服务器应用创建网络策略-link
  3. 在配置服务器或代码库中定义用于属性外部化的过程中的属性-您的最终到达网址应类似于:app1.apps.internal:8080
相关问题