【问题标题】:Not Getting Data of MongoDB Log Appender from KAA server未从 KAA 服务器获取 MongoDB Log Appender 的数据
【发布时间】:2017-06-08 13:00:58
【问题描述】:

我已经使用 Java 和 MongoDB 日志附加器配置了我的第一个 KAA 应用程序,能够在 KAA 服务器数据库日志中看到。 但我的问题是如何将数据从 MongoDB Log Appenders 检索到我的本地系统或 Java 系统。

试过了:

我也尝试调用 POSTMAN 服务,但找不到任何特定的 API。 http://10.110.25.52:8080/kaaAdmin/rest/api/logAppenders/536590273894852265 没有找到任何用于 LogAppneders 内容的 API。

我尝试使用 MongoDb 的 KAA 服务器 ip 通过 Java 建立数据库连接,但没有成功。 下面的代码:

public static void main(String[] args) {

    try {

        MongoClient mongo = new MongoClient("127.0.0.1", 27017);


        // if database doesn't exists, MongoDB will create it for you
        com.mongodb.DB db = mongo.getDB("Kaa");
        System.out.println("db="+db);

        DBCollection table = db.getCollection("logs_53659027389148522657");
        System.out.println("table="+table);

        BasicDBObject searchQuery = new BasicDBObject();
        searchQuery.put("temperature", "30");

        DBCursor cursor = table.find(searchQuery);

        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }
        System.out.println("Done");

    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (MongoException e) {
        e.printStackTrace();
    }

【问题讨论】:

  • 您收到什么错误消息,您是否通过 mongo 控制台检查了集合中的文档...?
  • 我收到 IO 异常:无法连接到 [/127.0.0.1:27017] bc:java.net.ConnectException: Connection denied: I have checked ,但我的问题更多是关于收集存储在 mongoDb Logs 的 KAA 服务器中的数据,也实现了 CollectionDemo Program 但无法检索。

标签: mongodb postman kaa


【解决方案1】:

Kaa 不提供 REST API 来检索使用 Log Appender 添加到 MongoDB 的数据。您可以在documentation 中找到所有可用的 REST API。您可以使用自己的应用程序连接到 MongoDB 并进行数据检索。

【讨论】:

  • 感谢您的回复,那么我们如何使用或检索存储在 Kaa Server 的 MongoDb 中的数据。我想那么存储在其中的数据是没有用的。
  • 我找到了通知演示,我们可以在其中将通知发送回 java 控制台,但仍在弄清楚如何从 MongoDb 日志 Appenders 获取数据。
【解决方案2】:

解决方案:在VM中将网络类型更改为“Bridge type”并通过“hostname -I”检查ubuntu中的IP,将特定IP设置为沙盒默认IP,运行您的第一个KAA应用程序。日志将在 MongoDB Log Appender 中生成。但是要连接它,您需要通过运行此命令“Vim /etc/mongod.conf”来更改配置文件 注释掉像这样“#127.0.0.1”这样的默认 ip 因为它只能允许本地主机,因为我不能将其连接到VM外部。 更改 IP 后,您需要再次生成应用程序的 SDK,以便它可以连接到该 IP,而不是“localhost”。

通过使用 roboClient,您可以轻松连接到 mongodb 数据库并进行分析。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2017-04-11
    • 1970-01-01
    • 2021-10-21
    • 2017-11-20
    相关资源
    最近更新 更多