Java statsd client调通

概述

java client上报metric(指标)给statsd,statsd负责收集并聚合测量值。之后,它会将数据传给Graphite。后者以时间序列为依据储存数据,并绘制图表。

java client下载

项目地址

https://github.com/tim-group/java-statsd-client

项目依赖

<dependency>
    <groupId>com.timgroup</groupId>
    <artifactId>java-statsd-client</artifactId>
    <version>3.0.1</version>
</dependency>

用法

public class Client {
     //指标前缀为my.prefix
     private static final NonBlockingStatsDClient client = new NonBlockingStatsDClient("my.prefix", "127.0.0.1", 8125);
     
     public static void main(String[] args) {
         
         try {
             //创建二个计数器
             client.count("mycount", 10);
             client.count("mycount", 30);
             client.count("myinc", 100, 0.1);
             
             //创建一个gauge
             client.recordGaugeValue("mygauge", 1000);
             client.recordGaugeValue("mygauge", 423.123456789d);
             //创建一个sets
             client.recordSetEvent("myset", "test");
             client.recordSetEvent("myset", "test2");
             client.recordSetEvent("myset", "test");
             //创建一个计时器
             client.recordExecutionTime("mytime", 123L);
             client.recordExecutionTime("mytime", 12L);
             client.recordExecutionTime("mytime", 100L);
             
             System.out.println("hello");
             
         }catch (Exception e){
             e.printStackTrace();
         }
         
     }
 }

docker部署statsD+Graphite

参考

https://github.com/hopsoft/docker-graphite-statsd

镜像拉取

docker pull hopsoft/graphite-statsd

启动容器

docker run -d\
 --name graphite\
 --restart=always\
 -p 80:80\
 -p 2003-2004:2003-2004\
 -p 2023-2024:2023-2024\
 -p 8125:8125/udp\
 -p 8126:8126\
 hopsoft/graphite-statsd

8125和8126是statsd端口,80是运维观察数据的端口 。

启动一个docker容器:graphite

登陆

更新默认的Django管理员账户,默认的是不安全的。

  • username:root
  • password:root
  • email:root.graphite@mailinator.com

第一次登陆:http://localhost/account/login 更新用户信息:http://localhost/admin/auth/user/1/

打开网页

1535510910834

测试

启动 java client

1535510564412

默认是查看24小时数据,看不出测试效果,调整为3分钟。

坚持原创技术分享,您的支持将鼓励我继续创作!