java - Graphite 服务器不显示从 Java 发送的新数据

标签 java sockets monitoring graphite

我正在尝试使用以下代码将纯文本数据发送到 Graphite 服务器:

      try (
            Socket socket = new Socket("companyHost", 2003);
            Writer writer = new OutputStreamWriter(socket.getOutputStream());) {

        Long timestamp = System.currentTimeMillis() / 1000;
        System.out.println(timestamp);

        String sentMessage = "graphite.carbon.local.test.showone 1 " + timestamp;
        System.out.println(sentMessage);
        writer.write(sentMessage);
        writer.flush();

    } catch (IOException e) {

        e.printStackTrace();
    }

但是当我在 web 浏览器中检查 companyHost:port 下的 carbon 服务器时,我的数据不存在,graphite.carbon.local 下什么也没有。我错过了什么吗?

我在控制台中的输出似乎没问题(没有错误/异常):

1409233165
graphite.carbon.local.test.showone 1 1409233165

如果需要,我会尝试提供更多信息。

最佳答案

是的,我确实在八月份解决了它。

如果我没记错的话,我所要做的就是在消息末尾添加一个新行字符“\n”。

Graphite文档中规定,消息格式如下:

metric_path value timestamp\n

关于java - Graphite 服务器不显示从 Java 发送的新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550815/

相关文章:

java - 在调整窗口大小之前,ScrollPane 不会显示

避免定界符冲突的 Java 最佳实践?

linux - 使用 sh 监视输出时无法解决此错误

java - 编码参数时出错

mysql - Node/Redis/Socket/pm2 服务器在约 11 小时后关闭连接

java - BluetoothSocket OutputStream.write() 问题

c++ - 拔网线时如何防止windows报错10054

debugging - 监控API调用

php - 如何从命令终端获取网络流量并在 PHP 中显示

java - 删除时 CASCADE 在 hibernate 中的多对多映射中不起作用