{"id":50905,"date":"2024-06-17T00:00:00","date_gmt":"2024-06-17T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/"},"modified":"2025-11-14T07:56:47","modified_gmt":"2025-11-14T15:56:47","slug":"monitor-spring-boot","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/","title":{"rendered":"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996"},"content":{"rendered":"<h2><strong>\u306f\u3058\u3081\u306b<\/strong><\/h2>\n<p>\u4eca\u65e5\u306e\u9ad8\u901f\u304b\u3064\u30c7\u30fc\u30bf\u4e3b\u5c0e\u306e\u4e16\u754c\u3067\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u30b7\u30b9\u30c6\u30e0\u306e\u30b7\u30fc\u30e0\u30ec\u30b9\u306a\u904b\u7528\u304c\u91cd\u8981\u306a\u512a\u5148\u4e8b\u9805\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30c0\u30a6\u30f3\u30bf\u30a4\u30e0\u3092\u9632\u304e\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u6e80\u8db3\u5ea6\u3092\u7dad\u6301\u3057\u3001\u30ea\u30bd\u30fc\u30b9\u306e\u5229\u7528\u7387\u3092\u6700\u9069\u5316\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u30d1 \u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u3092\u65e9\u671f\u306b\u767a\u898b\u3057\u3001\u89e3\u6c7a\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u65ad\u7d9a\u7684\u306a\u30c1\u30a7\u30c3\u30af\u3068\u65ad\u7247\u7684\u306a\u30c7\u30fc\u30bf\u30fb\u30bd\u30fc\u30b9\u306b\u4f9d\u5b58\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u5f93\u6765\u306e\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u624b\u6cd5\u3067\u306f\u3001\u6700\u65b0\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u8981\u6c42\u306b\u5bfe\u5fdc\u3059\u308b\u306e\u306f\u56f0\u96e3\u3067\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u30fb\u30b7\u30b9\u30c6\u30e0\u306e\u51fa\u756a\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u7d99\u7d9a\u7684\u306b\u30c7\u30fc\u30bf\u3092\u53ce\u96c6\u30fb\u5206\u6790\u3057\u3001\u30b7\u30b9\u30c6\u30e0\u306e\u5065\u5168\u6027\u3068\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u5305\u62ec\u7684\u306a\u30d3\u30e5\u30fc\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30d7\u30ed\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u7570\u5e38\u3084\u6f5c\u5728\u7684\u306a\u554f\u984c\u3092\u7279\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u306f\u3001\u8fc5\u901f\u306a\u662f\u6b63\u63aa\u7f6e\u3092\u53d6\u308b\u3053\u3068\u3092\u53ef\u80fd\u306b\u3057\u3001\u4e2d\u65ad\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0\u3092\u4fdd\u8a3c\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u9ad8\u6027\u80fd\u306a\u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3067\u3042\u308bGridDB\u3068\u3001\u4e00\u822c\u7684\u306aJava\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3042\u308bSpring Boot\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u3001\u5805\u7262\u306a\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002GridDB\u30af\u30e9\u30b9\u30bf\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304b\u3089Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u3001\u30a2\u30e9\u30fc\u30c8\u30e1\u30ab\u30cb\u30ba\u30e0\u3084\u901a\u77e5\u30b7\u30b9\u30c6\u30e0\u306e\u5b9f\u88c5\u307e\u3067\u3001\u3053\u306e\u76e3\u8996\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210\u306b\u95a2\u308f\u308b\u5404\u30b9\u30c6\u30c3\u30d7\u3092\u6982\u8aac\u3057\u306a\u304c\u3089\u3001\u5b9f\u7528\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u6398\u308a\u4e0b\u3052\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<h2>GridDB\u30af\u30e9\u30b9\u30bf\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068Spring Boot\u306e\u7d71\u5408\uff1a \u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306b<\/h2>\n<p>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u76e3\u8996\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u6700\u521d\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u3001\u5f37\u56fa\u306a\u57fa\u76e4\u3092\u78ba\u7acb\u3059\u308b\u3053\u3068\u3067\u3059\u3002\u3053\u308c\u306f\u3001GridDB\u30af\u30e9\u30b9\u30bf\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304cGridDB\u30af\u30e9\u30b9\u30bf\u3068\u30b7\u30fc\u30e0\u30ec\u30b9\u306b\u901a\u4fe1\u3067\u304d\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/p>\n<ul>\n<li><strong>GridDB\u30af\u30e9\u30b9\u30bf\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/strong><\/li>\n<\/ul>\n<p>GridDB\u306b\u306f\u3001\u69d8\u3005\u306a\u30cb\u30fc\u30ba\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u591a\u69d8\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\u3002\u958b\u767a\u74b0\u5883\u3067\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30de\u30b7\u30f3\u4e0a\u306e\u30b7\u30f3\u30b0\u30eb\u30ce\u30fc\u30c9\u30af\u30e9\u30b9\u30bf\u3067\u5341\u5206\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u672c\u756a\u74b0\u5883\u3067\u306f\u3001\u8010\u969c\u5bb3\u6027\u3068\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u3092\u5f37\u5316\u3059\u308b\u305f\u3081\u306b\u3001\u8907\u6570\u306e\u30de\u30b7\u30f3\u306b\u5206\u6563\u3057\u305f\u30af\u30e9\u30b9\u30bf\u304c\u6709\u52b9\u3067\u3059\u3002\u9078\u629e\u3057\u305f\u30c7\u30d7\u30ed\u30a4\u6226\u7565\u306b\u57fa\u3065\u304f\u30af\u30e9\u30b9\u30bf\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u8a73\u7d30\u306a\u624b\u9806\u306b\u3064\u3044\u3066\u306f\u3001GridDB\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>GridDB\u30af\u30e9\u30b9\u30bf\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u306b\u306f\u3001<a href=\"https:\/\/docs.griddb.net\/gettingstarted\/using-apt\/#install-with-apt-get\">\u3053\u3061\u3089<\/a>\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<ul>\n<li><strong>Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/strong> <\/li>\n<\/ul>\n<p>GridDB\u30af\u30e9\u30b9\u30bf\u304c\u7a3c\u50cd\u3057\u305f\u3089\u3001\u3044\u3088\u3044\u3088Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u63a5\u7d9a\u3057\u307e\u3059\u3002GridDB Java Client API\u306f\u3001\u3053\u306e\u901a\u4fe1\u30c1\u30e3\u30cd\u30eb\u3092\u78ba\u7acb\u3059\u308b\u305f\u3081\u306e\u5fc5\u9808\u30c4\u30fc\u30eb\u3092\u63d0\u4f9b\u3059\u308b\u3002\u5e78\u3044\u306a\u3053\u3068\u306b\u3001<code>griddb-spring-boot-starter<\/code>\u306e\u3088\u3046\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u7c21\u7d20\u5316\u3057\u3066\u304f\u308c\u308b\u3002\u3053\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f9d\u5b58\u95a2\u4fc2\u3068\u3057\u3066\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u542b\u3081\u308b\u3053\u3068\u3067\u3001\u63a5\u7d9a\u8a2d\u5b9a\u3092\u52b9\u7387\u5316\u3059\u308b\u4e8b\u524d\u8a2d\u5b9a\u6e08\u307f\u306eBean\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30af\u30e9\u30b9\u30bf\u540d\u3001\u30db\u30b9\u30c8\u540d\u3001\u8a8d\u8a3c\u60c5\u5831\u306a\u3069\u306e\u63a5\u7d9a\u306e\u8a73\u7d30\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u8a2d\u5b9a\u306f\u901a\u5e38\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u3067\u5b9a\u7fa9\u3059\u308b\u304b\u3001Spring Boot\u306e\u8a2d\u5b9a\u30af\u30e9\u30b9\u5185\u3067\u76f4\u63a5\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u63a5\u7d9a\u304c\u78ba\u7acb\u3055\u308c\u308b\u3068\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306fGridDB\u30af\u30e9\u30b9\u30bf\u3068\u5bfe\u8a71\u3057\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u4fdd\u5b58\u3068\u7ba1\u7406\u306bGridDB\u306e\u6a5f\u80fd\u3092\u6d3b\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><strong>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u6210<\/strong><\/p>\n<p>\u4ee5\u4e0b\u306f\u3001\u3053\u306e\u3088\u3046\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u63a8\u5968\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u6210\u3067\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">.\n\u251c\u2500\u2500 pom.xml\n\u251c\u2500\u2500 src\n\u2502   \u251c\u2500\u2500 main\n\u2502   \u2502   \u251c\u2500\u2500 java\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 mycode\n\u2502   \u2502   \u2502       \u251c\u2500\u2500 config\n\u2502   \u2502   \u2502       \u2502   \u2514\u2500\u2500 GridDBConfig.java\n\u2502   \u2502   \u2502       \u251c\u2500\u2500 dto\n\u2502   \u2502   \u2502       \u2502   \u2514\u2500\u2500 CpuMetric.java\n\u2502   \u2502   \u2502       \u251c\u2500\u2500 MySpringBootApplication.java\n\u2502   \u2502   \u2502       \u2514\u2500\u2500 service\n\u2502   \u2502   \u2502           \u251c\u2500\u2500 AlertingService.java\n\u2502   \u2502   \u2502           \u2514\u2500\u2500 MetricsCollectionService.java\n\u2502   \u2502   \u2514\u2500\u2500 resources\n\u2502   \u2502       \u2514\u2500\u2500 application.properties<\/code><\/pre>\n<\/div>\n<p>\u3053\u306e\u69cb\u9020\u3067\u306f\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u3001\u30e2\u30c7\u30eb\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u3001\u30b5\u30fc\u30d3\u30b9\u3001\u304a\u3088\u3073\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a8\u30f3\u30c8\u30ea\u30dd\u30a4\u30f3\u30c8\u306b\u3064\u3044\u3066\u3001\u500b\u5225\u306e\u30ec\u30a4\u30e4\u30fc\u3092\u5b9a\u7fa9\u3057\u3001\u30e2\u30b8\u30e5\u30fc\u30eb\u6027\u3068\u4fdd\u5b88\u6027\u3092\u4fc3\u9032\u3057\u307e\u3059\u3002\u3055\u3089\u306b\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d7\u30ed\u30d1\u30c6\u30a3\u3084\u30ed\u30ae\u30f3\u30b0\u8a2d\u5b9a\u306a\u3069\u306e\u30ea\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3084\u3001\u5805\u7262\u6027\u3092\u78ba\u4fdd\u3059\u308b\u305f\u3081\u306e\u30c6\u30b9\u30c8\u30b9\u30a4\u30fc\u30c8\u3082\u542b\u307e\u308c\u307e\u3059\u3002<\/p>\n<p><strong>GridDB\u4f9d\u5b58\u6027\u306e\u8ffd\u52a0<\/strong><\/p>\n<p>Spring Boot\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067GridDB\u3068\u3084\u308a\u53d6\u308a\u3059\u308b\u306b\u306f\u3001GridDB Java Client API\u4f9d\u5b58\u95a2\u4fc2\u3092\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\uff08Maven\u306e\u5834\u5408\u306f <code>pom.xml<\/code>\u3001Gradle\u306e\u5834\u5408\u306f\u540c\u7b49\u306e\u30d5\u30a1\u30a4\u30eb\uff09\u306b\u5fc5\u8981\u306a\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306f\u3001<code>pom.xml<\/code>\u30d5\u30a1\u30a4\u30eb\u306b\u4f9d\u5b58\u95a2\u4fc2\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u306e\u4f8b\u3067\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">&lt;project \n  xmlns_xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n  xsi_schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/maven-v4_0_0.xsd\"&gt;\n  &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n  &lt;groupId&gt;com.example&lt;\/groupId&gt;\n  &lt;artifactId&gt;my-griddb-app&lt;\/artifactId&gt;\n  &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n  &lt;name&gt;my-griddb-app&lt;\/name&gt;\n  &lt;url&gt;http:\/\/maven.apache.org&lt;\/url&gt;\n  &lt;parent&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n    &lt;version&gt;3.2.4&lt;\/version&gt;\n    &lt;relativePath \/&gt; &lt;!-- lookup parent from repository --&gt;\n  &lt;\/parent&gt;\n  &lt;properties&gt;\n    &lt;maven.compiler.source&gt;17&lt;\/maven.compiler.source&gt;\n    &lt;maven.compiler.target&gt;17&lt;\/maven.compiler.target&gt;\n  &lt;\/properties&gt;\n\n  &lt;dependencies&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n      &lt;artifactId&gt;spring-boot-starter-actuator&lt;\/artifactId&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;junit&lt;\/groupId&gt;\n      &lt;artifactId&gt;junit&lt;\/artifactId&gt;\n      &lt;version&gt;3.8.1&lt;\/version&gt;\n      &lt;scope&gt;test&lt;\/scope&gt;\n    &lt;\/dependency&gt;\n    &lt;!-- https:\/\/mvnrepository.com\/artifact\/com.github.griddb\/gridstore-jdbc --&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;com.github.griddb&lt;\/groupId&gt;\n      &lt;artifactId&gt;gridstore-jdbc&lt;\/artifactId&gt;\n      &lt;version&gt;5.3.0&lt;\/version&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;com.github.griddb&lt;\/groupId&gt;\n      &lt;artifactId&gt;gridstore&lt;\/artifactId&gt;\n      &lt;version&gt;5.5.0&lt;\/version&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n      &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n      &lt;exclusions&gt;\n        &lt;exclusion&gt;\n          &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n          &lt;artifactId&gt;spring-boot-starter-logging&lt;\/artifactId&gt;\n        &lt;\/exclusion&gt;\n      &lt;\/exclusions&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n      &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\n      &lt;scope&gt;test&lt;\/scope&gt;\n    &lt;\/dependency&gt;\n    &lt;dependency&gt;\n      &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n      &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n      &lt;optional&gt;true&lt;\/optional&gt;\n    &lt;\/dependency&gt;\n  &lt;\/dependencies&gt;\n&lt;\/project&gt;<\/code><\/pre>\n<\/div>\n<p><strong>GridDB\u63a5\u7d9a\u306e\u8a2d\u5b9a<\/strong><\/p>\n<p>GridDB\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3057\u305f\u3089\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\uff08\u901a\u5e38\u306f<code>application.properties<\/code>\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u540d\uff09\u3067GridDB\u30af\u30e9\u30b9\u30bf\u3078\u306e\u63a5\u7d9a\u306e\u8a73\u7d30\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u3001\u69d8\u3005\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u3092\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306f\u63a5\u7d9a\u8a2d\u5b9a\u306e\u4f8b\u3067\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">GRIDDB_NOTIFICATION_MEMBER=127.0.0.1:10001\nGRIDDB_CLUSTER_NAME=myCluster\nGRIDDB_USER=admin\nGRIDDB_PASSWORD=admin\nmanagement.endpoints.web.exposure.include=*<\/code><\/pre>\n<\/div>\n<ul>\n<li><code>griddb.cluster.host<\/code>: The hostname or IP address of your GridDB cluster.<\/li>\n<li><code>griddb.cluster.port<\/code>: The port number on which the GridDB cluster is listening.<\/li>\n<li><code>griddb.cluster.user<\/code>: The username for accessing the GridDB cluster.<\/li>\n<li><code>griddb.cluster.password<\/code>: The password for the specified GridDB user (replace with your actual password).<\/li>\n<\/ul>\n<p><strong>GridDB\u30af\u30e9\u30a4\u30a2\u30f3\u30c8Bean\u3092\u4f5c\u6210\u3059\u308b<\/strong><\/p>\n<p>\u8a2d\u5b9a\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066GridDB\u63a5\u7d9a\u3092\u521d\u671f\u5316\u3059\u308bSpring Bean\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u3053\u306eBean\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5168\u4f53\u3067GridDB\u30af\u30e9\u30b9\u30bf\u3068\u3084\u308a\u53d6\u308a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306fGridDbConfig.java\u3067\u884c\u3044\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067GridDB\u3068\u52b9\u7387\u7684\u306b\u3084\u308a\u53d6\u308a\u3059\u308b\u305f\u3081\u306b\u3001GridDB\u63a5\u7d9a\u3092\u7ba1\u7406\u3059\u308b\u5c02\u7528\u306eBean\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306eBean\u306f\u3001<code>application.properties<\/code>\u30d5\u30a1\u30a4\u30eb\u3067\u6307\u5b9a\u3057\u305f\u8a2d\u5b9a\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u4f7f\u3063\u3066\u63a5\u7d9a\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\u4e00\u5ea6\u4f5c\u6210\u3055\u308c\u305fBean\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5168\u4f53\u3067GridDB\u30af\u30e9\u30b9\u30bf\u3068\u3084\u308a\u3068\u308a\u3059\u308b\u305f\u3081\u306e\u4e2d\u5fc3\u7684\u306a\u5f79\u5272\u3092\u679c\u305f\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u3088\u3046\u306a\u30d3\u30fc\u30f3\u3092 <code>GridDbConfig.java<\/code> \u3068\u3044\u3046 Java \u30af\u30e9\u30b9\u3067\u5b9a\u7fa9\u3059\u308b\u4f8b\u3092\u4ee5\u4e0b\u306b\u793a\u3057\u307e\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">package mycode.config;\n\nimport java.util.Properties;\n\nimport org.springframework.beans.factory.annotation.Value;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.context.annotation.PropertySource;\n\nimport com.toshiba.mwcloud.gs.GSException;\nimport com.toshiba.mwcloud.gs.GridStore;\nimport com.toshiba.mwcloud.gs.GridStoreFactory;\n\n@Configuration\n@PropertySource(\"classpath:application.properties\")\npublic class GridDBConfig {\n\n  @Value(\"${GRIDDB_NOTIFICATION_MEMBER}\")\n  private String notificationMember;\n\n  @Value(\"${GRIDDB_CLUSTER_NAME}\")\n  private String clusterName;\n\n  @Value(\"${GRIDDB_USER}\")\n  private String user;\n\n  @Value(\"${GRIDDB_PASSWORD}\")\n  private String password;\n\n  @Bean\n  public GridStore gridStore() throws GSException {\n    \/\/ Acquiring a GridStore instance\n    Properties properties = new Properties();\n    properties.setProperty(\"notificationMember\", notificationMember);\n    properties.setProperty(\"clusterName\", clusterName);\n    properties.setProperty(\"user\", user);\n    properties.setProperty(\"password\", password);\n    return GridStoreFactory.getInstance().getGridStore(properties);\n  }\n}<\/code><\/pre>\n<\/div>\n<h2>\u30e1\u30c8\u30ea\u30af\u30b9\u53ce\u96c6<\/h2>\n<p>GridDB\u3068Spring Boot\u306e\u7d71\u5408\u3067\u57fa\u790e\u3092\u56fa\u3081\u305f\u306e\u3067\u3001\u6b21\u306f\u30c7\u30fc\u30bf\u53ce\u96c6\u3068\u30b9\u30ad\u30fc\u30de\u8a2d\u8a08\u306e\u91cd\u8981\u306a\u5074\u9762\u306b\u8e0f\u307f\u8fbc\u3082\u3046\u3002\u3053\u308c\u3089\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u306f\u3001\u76e3\u8996\u3059\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u69cb\u9020\u3068\u69cb\u6210\u3092\u5b9a\u7fa9\u3059\u308b\u3002<\/p>\n<p><strong>\u30b7\u30fc\u30e0\u30ec\u30b9\u306a\u30e1\u30c8\u30ea\u30af\u30b9\u53ce\u96c6\u306e\u305f\u3081\u306eSpring Actuator\u306e\u6d3b\u7528<\/strong><\/p>\n<p>Spring Boot Actuator\u306f\u3001\u69d8\u3005\u306a\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u516c\u958b\u3059\u308b\u3053\u3068\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u76e3\u8996\u3092\u7c21\u7d20\u5316\u3059\u308b\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5065\u5168\u6027\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3001\u8a2d\u5b9a\u306b\u95a2\u3059\u308b\u8cb4\u91cd\u306a\u6d1e\u5bdf\u3092\u63d0\u4f9b\u3059\u308b\u3002\u79c1\u305f\u3061\u306e\u30b7\u30ca\u30ea\u30aa\u3067\u306f\u3001Spring Actuator\u306f\u4e3b\u8981\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u53ce\u96c6\u306e\u305f\u3081\u306e\u4e3b\u8981\u306a\u30bd\u30fc\u30b9\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002Spring Actuator\u306e\u95a2\u9023\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3068\u7d71\u5408\u3059\u308b\u3053\u3068\u3067\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u91cd\u8981\u306a\u30c7\u30fc\u30bf\u30dd\u30a4\u30f3\u30c8\u3092\u53ce\u96c6\u3067\u304d\u307e\u3059\uff1a<\/p>\n<ul>\n<li>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\uff08\u30d2\u30fc\u30d7\u3001\u975e\u30d2\u30fc\u30d7\uff09<\/li>\n<li>\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u6d3b\u52d5<\/li>\n<li>CPU\u4f7f\u7528\u7387<\/li>\n<li>\u30b9\u30ec\u30c3\u30c9\u30fb\u30d7\u30fc\u30eb\u306e\u7d71\u8a08<\/li>\n<li>HTTP\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u5f85\u3061\u6642\u9593\u3068\u30a8\u30e9\u30fc\u7387<\/li>\n<\/ul>\n<p>\u3053\u306e\u4f8b\u3067\u306f\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eCPU\u4f7f\u7528\u7387\u30e1\u30c8\u30ea\u30af\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u65b9\u6cd5\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n<p>Spring Boot Actuator\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u76e3\u8996\u30fb\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u69d8\u3005\u306a\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u3088\u3046\u306a\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e1\u3064\u3067\u3042\u308b <code>\/actuator\/metrics\/system.cpu.usage<\/code> \u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b\u30b7\u30b9\u30c6\u30e0\u306eCPU\u4f7f\u7528\u7387\u306b\u95a2\u3059\u308b\u30c7\u30fc\u30bf\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3053\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u901a\u5e38\u3001CPU\u4f7f\u7528\u7387\u3092\u30d1\u30fc\u30bb\u30f3\u30c8\u5024\u3067\u542b\u3080JSON\u5fdc\u7b54\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<p>CPU\u4f7f\u7528\u7387\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u542b\u3080\u3059\u3079\u3066\u306e\u30a2\u30af\u30c1\u30e5\u30a8\u30fc\u30bf\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u3001Spring Boot\u306e\u8a2d\u5b9a\u3092\u8abf\u6574\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u4ee5\u4e0b\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092<code>application.properties<\/code>\u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u3001\u3059\u3079\u3066\u306e\u30a2\u30af\u30c1\u30e5\u30a8\u30fc\u30bf\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u516c\u958b\u3067\u304d\u307e\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">management.endpoints.web.exposure.include=*<\/code><\/pre>\n<\/div>\n<p>\u8a2d\u5b9a\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001Postman\u306e\u3088\u3046\u306a\u30c4\u30fc\u30eb\u3092\u4f7f\u3046\u304b\u3001\u4ee5\u4e0b\u306eURL\u306b\u76f4\u63a5HTTP GET\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u308b\u3053\u3068\u3067\u3001CPU\u4f7f\u7528\u7387\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\uff1a<\/p>\n<pre><code>http:\/\/localhost:&lt;port&gt;\/actuator\/metrics\/system.cpu.usage\n<\/code><\/pre>\n<p><port>`\u306fSpring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b\u5b9f\u969b\u306e\u30dd\u30fc\u30c8\u756a\u53f7\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u901a\u5e38\u3001CPU\u4f7f\u7528\u7387\u306e\u8a73\u7d30\u3092\u542b\u3080JSON\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8fd4\u3057\u307e\u3059\u3002<\/port><\/p>\n<p>\u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u6b63\u78ba\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306fSpring Boot\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3084\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u3057\u304b\u3057\u3001\u901a\u5e38\u306fCPU\u4f7f\u7528\u7387\u3092\u30d1\u30fc\u30bb\u30f3\u30c6\u30fc\u30b8\u3067\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">{\n  \"name\": \"system.cpu.usage\",\n  \"measurements\": [\n    {\n      \"statistic\": \"VALUE\",\n      \"value\": 0.25\n    }\n  ],\n  \"availableTags\": []\n}<\/code><\/pre>\n<\/div>\n<p><strong>\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u305f\u30bf\u30b9\u30af\u306e\u5b9f\u884c<\/strong><\/p>\n<p>\u3042\u3089\u304b\u3058\u3081\u5b9a\u7fa9\u3055\u308c\u305f\u9593\u9694\u3067\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3092\u884c\u3046\u305f\u3081\u306b\u306f\u3001\u30b9\u30d7\u30ea\u30f3\u30b0\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u5229\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002\u3053\u308c\u3089\u306e\u30bf\u30b9\u30af\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ed\u30b0\u3001\u30b7\u30b9\u30c6\u30e0\u30e1\u30c8\u30ea\u30af\u30b9\u3001\u5916\u90e8API\u306a\u3069\u69d8\u3005\u306a\u30bd\u30fc\u30b9\u304b\u3089\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3057\u3001\u5206\u6790\u306e\u305f\u3081\u306bGridDB\u306b\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/p>\n<p>Spring Boot\u306b\u306f\u30d3\u30eb\u30c8\u30a4\u30f3\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u6a5f\u69cb\u304c\u3042\u308a\u3001\u4e8b\u524d\u306b\u5b9a\u7fa9\u3057\u305f\u9593\u9694\u3067\u30bf\u30b9\u30af\u3092\u81ea\u52d5\u5316\u3067\u304d\u308b\u3002\u3053\u3053\u3067\u306f\u3001\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u305f\u30bf\u30b9\u30af\u3092\u6d3b\u7528\u3057\u3066\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u53ce\u96c6\u3068GridDB\u3078\u306e\u4fdd\u5b58\u3092\u884c\u3044\u3001\u3055\u3089\u306b\u5206\u6790\u3092\u884c\u3046\u3002<\/p>\n<p><strong>\u30bf\u30b9\u30af\u6a5f\u80fd:<\/strong><\/p>\n<p>\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u305f\u30bf\u30b9\u30af\u306f\u6b21\u306e\u3088\u3046\u306a\u8cac\u4efb\u3092\u8ca0\u3046<\/p>\n<ul>\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6307\u6a19\u306e\u53ce\u96c6:<\/strong> \u3053\u308c\u3089\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30ed\u30b0\u3001\u30b7\u30b9\u30c6\u30e0\u30fb\u30e1\u30c8\u30ea\u30af\u30b9\uff08CPU\u4f7f\u7528\u7387\u306a\u3069\uff09\u3001\u5916\u90e8API\u306a\u3069\u3001\u3055\u307e\u3056\u307e\u306a\u30bd\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/li>\n<li><strong>GridDB\u306b\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b:<\/strong> \u53ce\u96c6\u3055\u308c\u305f\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u51e6\u7406\u3055\u308c\u3001\u52b9\u7387\u7684\u306a\u5206\u6790\u306e\u305f\u3081\u306bGridDB\u306b\u4fdd\u5b58\u3055\u308c\u308b\u3002<\/li>\n<\/ul>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">package mycode.service;\n\nimport java.util.Date;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.http.HttpStatus;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.scheduling.annotation.Scheduled;\nimport org.springframework.stereotype.Service;\nimport org.springframework.web.client.HttpClientErrorException;\nimport org.springframework.web.client.RestTemplate;\n\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.toshiba.mwcloud.gs.*;\n\nimport mycode.dto.CpuMetric;\n\n@Service\npublic class MetricsCollectionService {\n  @Autowired\n  GridStore store;\n\n  @Scheduled(fixedRate = 6000) \/\/ Collect metrics every minute\n  public void collectMetrics() throws GSException {\n    \/\/ Fetch CPU usage metrics from Spring Boot Actuator endpoint\n    double cpuUsage = getCPUUsageFromActuator();\n    Date timestamp = new Date();\n\n    \/\/ Create a CPU metric object\n    CpuMetric cpuMetric = new CpuMetric(timestamp, cpuUsage);\n\n    \/\/ Store the metric in GridDB\n    System.out.println(\"Fetching CPU metrics at current time\");\n    TimeSeries&lt;cpumetric> ts = store.putTimeSeries(\"cpuMetrics\", CpuMetric.class);\n    ts.append(cpuMetric);\n  }\n\n  private double getCPUUsageFromActuator() {\n    String actuatorUrl = \"http:\/\/localhost:8080\/actuator\/metrics\/system.cpu.usage\";\n    RestTemplate restTemplate = new RestTemplate();\n    try {\n      ResponseEntity&lt;string> responseEntity = restTemplate.getForEntity(actuatorUrl, String.class);\n\n      if (responseEntity.getStatusCode() == HttpStatus.OK) {\n        ObjectMapper mapper = new ObjectMapper();\n        JsonNode root = mapper.readTree(responseEntity.getBody());\n        JsonNode measurements = root.path(\"measurements\");\n\n        if (measurements.isArray() && measurements.size() > 0) {\n          JsonNode valueNode = measurements.get(0).path(\"value\");\n          if (valueNode.isDouble())\n            return valueNode.asDouble();\n        }\n      }\n    } catch (HttpClientErrorException e) {\n      \/\/ Handle HTTP client errors\n      System.err.println(\"HTTP error: \" + e.getMessage());\n    } catch (Exception e) {\n      \/\/ Handle other exceptions\n      System.err.println(\"Error: \" + e.getMessage());\n    }\n\n    \/\/ Return a default value if unable to fetch or parse the CPU usage\n    return -1.0;\n  }\n}&lt;\/string>&lt;\/cpumetric><\/code><\/pre>\n<\/div>\n<p>GridDB\u306b\u51e6\u7406\u30c7\u30fc\u30bf\u3092\u683c\u7d0d\u3057\u307e\u3059: \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30fb\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u52b9\u7387\u7684\u306b\u683c\u7d0d\u3059\u308b\u305f\u3081\u306b\u3001GridDB\u5185\u306b\u5c02\u7528\u306e\u30b9\u30ad\u30fc\u30de\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306f\u3001CPU\u4f7f\u7528\u7387\u30c7\u30fc\u30bf\u3092\u8868\u3059<code>CpuMetric<\/code>\u3068\u3044\u3046\u30b9\u30ad\u30fc\u30de\u30af\u30e9\u30b9\u306e\u4f8b\u3067\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">package mycode.dto;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Data;\nimport lombok.NoArgsConstructor;\nimport java.util.Date;\n\nimport com.toshiba.mwcloud.gs.RowKey;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class CpuMetric {\n  @RowKey\n  public Date timestamp;\n  public double cpuUsage;\n}<\/code><\/pre>\n<\/div>\n<h2> <\/h2>\n<p><strong>GridDB\u306b\u3088\u308b\u52d5\u7684CPU\u4f7f\u7528\u91cf\u3057\u304d\u3044\u5024<\/strong><\/p>\n<p>\u5f93\u6765\u306eCPU\u76e3\u8996\u3067\u306f\u3001\u9759\u7684\u306a\u95be\u5024\u306b\u4f9d\u5b58\u3059\u308b\u3053\u3068\u304c\u591a\u304f\u3001\u8aa4\u691c\u77e5\u3084\u91cd\u8981\u306a\u72b6\u6cc1\u3092\u898b\u9003\u3059\u5371\u967a\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001GridDB\u306b\u4fdd\u5b58\u3055\u308c\u305f\u5c65\u6b74\u30c7\u30fc\u30bf\u306b\u57fa\u3065\u3044\u3066CPU\u4f7f\u7528\u7387\u306e\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u52d5\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u691c\u8a0e\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u306f\u3001\u52d5\u7684\u95be\u5024\u306e\u624b\u6cd5\u3092\u5229\u7528\u3057\u3066\u3001\u5c65\u6b74\u30c7\u30fc\u30bf\u306b\u57fa\u3065\u3044\u3066 CPU \u4f7f\u7528\u7387\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u307e\u305a\u3001GridDB \u304b\u3089\u904e\u53bb\u306e CPU \u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u3053\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3057\u3001\u7dcfCPU\u4f7f\u7528\u7387\u3084\u30c7\u30fc\u30bf\u30dd\u30a4\u30f3\u30c8\u306e\u6570\u306a\u3069\u306e\u96c6\u8a08\u30e1\u30c8\u30ea\u30c3\u30af\u30b9\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u6307\u5b9a\u3055\u308c\u305f\u671f\u9593\u306e\u5e73\u5747CPU\u4f7f\u7528\u7387\u3092\u8a08\u7b97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6700\u5f8c\u306b\u3001\u904e\u53bb\u306e\u50be\u5411\u3068\u504f\u5dee\u3092\u6d3b\u7528\u3057\u3066\u3001\u73fe\u5728\u306e\u30b7\u30b9\u30c6\u30e0\u72b6\u614b\u306b\u5408\u308f\u305b\u305f\u52d5\u7684\u306a\u95be\u5024\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306b\u3088\u308a\u3001\u30b7\u30b9\u30c6\u30e0\u306e\u5909\u52d5\u306b\u5bfe\u3059\u308b\u9069\u5fdc\u6027\u304c\u4fdd\u8a3c\u3055\u308c\u3001CPU \u306e\u7570\u5e38\u306a\u52d5\u4f5c\u306b\u5bfe\u3059\u308b\u30d7\u30ed\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u76e3\u8996\u3068\u30a2\u30e9\u30fc\u30c8\u304c\u5bb9\u6613\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><strong>calculateDynamicThreshold<\/strong>\u30e1\u30bd\u30c3\u30c9\u306f\u3001GridDB\u306b\u4fdd\u5b58\u3055\u308c\u305f\u904e\u53bb\u306eCPU\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u5206\u6790\u3057\u3001CPU\u4f7f\u7528\u7387\u306b\u9069\u3057\u305f\u95be\u5024\u3092\u52d5\u7684\u306b\u6c7a\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u30b7\u30b9\u30c6\u30e0\u306e\u5065\u5168\u6027\u3092\u76e3\u8996\u3059\u308b\u4e0a\u3067\u91cd\u8981\u306a\u5f79\u5272\u3092\u679c\u305f\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">package mycode.service;\n\nimport java.io.IOException;\nimport java.text.SimpleDateFormat;\nimport java.time.Instant;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.concurrent.TimeUnit;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.scheduling.annotation.Scheduled;\nimport org.springframework.stereotype.Service;\n\nimport com.toshiba.mwcloud.gs.Container;\nimport com.toshiba.mwcloud.gs.GridStore;\nimport com.toshiba.mwcloud.gs.Query;\nimport com.toshiba.mwcloud.gs.Row;\nimport com.toshiba.mwcloud.gs.RowSet;\n\nimport mycode.dto.CpuMetric;\n\n@Service\npublic class AlertingService {\n\n  private final double cpuUsageThreshold = 90.0; \/\/ CPU usage threshold in percentage\n  @Autowired\n  GridStore store;\n\n  @Scheduled(fixedRate = 60000) \/\/ Check metrics every minute\n  public void monitorAndAlert() throws Exception {\n    \/\/ Fetch the latest CPU metric from GridDB\n\n    double currentThreshold = c sendAlertOException ex) {\n      ex.printStackTrace();\n    }\n  }\n\n  private double calculateDynamicThreshold() throws Exception {\n\n    Container<?, Row> container = store.getContainer(\"cpuMetrics\");\n    if (container == null) {\n      throw new Exception(\"Container not found.\");\n    }\n\n    SimpleDateFormat dateFormat = new SimpleDateFormat(\"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'\");\n    Date now = new Date();\n    Date sixHoursAgo = new Date(now.getTime() - TimeUnit.HOURS.toMillis(6));\n\n    String nowString = dateFormat.format(now);\n    String sixHoursAgoString = dateFormat.format(sixHoursAgo);\n\n    String queryString = \"select * where timestamp >= TIMESTAMP('\" + sixHoursAgoString\n        + \"') and timestamp &lt;= TIMESTAMP('\" + nowString + \"')\";\n    System.out.println(queryString);\n    Query&lt;row> query = container.query(queryString);\n    \/\/ Fetch the results using RowSet\n    RowSet&lt;\/row>&lt;row> rs = query.fetch();\n\n    \/\/ Process the fetched CPU metrics\n    double totalCpuUsage = 0.0;\n    int count = 0;\n    while (rs.hasNext()) {\n      Row row = rs.next();\n      Double cpuUsage = row.getDouble(1);\n      totalCpuUsage += cpuUsage;\n      count++;\n      System.out\n          .println(\"Timestamp: \" + row.getTimestamp(0) + \", CPU Usage: \" + row.getDouble(1));\n    }\n\n    \/\/ Calculate the average CPU usage over the past six hours\n    double averageCpuUsage = (count > 0) ? (totalCpuUsage \/ count) : 0.0;\n\n    \/\/ Perform additional calculations based on averageCpuUsage and return the\n    \/\/ result\n    double dynamicThreshold = calculateThreshold(averageCpuUsage);\n\n    return dynamicThreshold;\n  }\n\n  private double calculateThreshold(double averageCpuUsage) {\n    return averageCpuUsage * 1.2;\n  }\n\n}&lt;\/row><\/code><\/pre>\n<\/div>\n<p>\u7d99\u7d9a\u76e3\u8996\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u3088\u3063\u3066\u30e1\u30c8\u30ea\u30c3\u30af\u9055\u53cd\u304c\u691c\u51fa\u3055\u308c\u308b\u3068\u3001Spring Boot\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u95a2\u9023\u60c5\u5831\u3092\u30ab\u30d7\u30bb\u30eb\u5316\u3057\u305f\u30a2\u30e9\u30fc\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u306f\u901a\u5e38\u3001\u6b21\u306e\u3088\u3046\u306a\u8a73\u7d30\u304c\u542b\u307e\u308c\u307e\u3059\uff1a<\/p>\n<ul>\n<li><strong>Metric Name:<\/strong>\u3057\u304d\u3044\u5024\u3092\u8d85\u3048\u305f\u7279\u5b9a\u306e\u30e1\u30c8\u30ea\u30c3\u30af<\/li>\n<li><strong>Threshold Violated:<\/strong>\u8d85\u904e\u3057\u305f\u7279\u5b9a\u306e\u95be\u5024<\/li>\n<li><strong>Current Value:<\/strong> \u9055\u53cd\u6642\u306e\u30e1\u30c8\u30ea\u30c3\u30af\u306e\u5b9f\u969b\u306e\u5024<\/li>\n<li><strong>Timestamp:<\/strong> \u9055\u53cd\u304c\u767a\u751f\u3057\u305f\u6b63\u78ba\u306a\u6642\u523b<\/li>\n<\/ul>\n<p>TsendAlert()<code>\u30e1\u30bd\u30c3\u30c9\u3067SendGrid\u306e\u3088\u3046\u306a\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306eAPI\u3092\u4f7f\u3063\u3066\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b\u306b\u306f\u3001\u307e\u305aSendGrid Java\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u7d71\u5408\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002sendAlert<\/code>\u30e1\u30bd\u30c3\u30c9\u306f\u3001SendGrid\u306e\u3088\u3046\u306a\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306eAPI\u3092\u5229\u7528\u3057\u3066\u30e1\u30fc\u30eb\u901a\u77e5\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u3092\u5b9f\u73fe\u3059\u308b\u306b\u306f\u3001SendGrid Java\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u7d71\u5408\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u305d\u306e\u65b9\u6cd5\u3067\u3059\uff1a<\/p>\n<ul>\n<li>SendGrid \u306e\u4f9d\u5b58\u95a2\u4fc2\u3092 <code>pom.xml<\/code> \u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a<\/li>\n<\/ul>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">  &lt;dependency&gt;\n      &lt;groupId&gt;com.sendgrid&lt;\/groupId&gt;\n      &lt;artifactId&gt;sendgrid-java&lt;\/artifactId&gt;\n      &lt;version&gt;4.8.0&lt;\/version&gt;\n  &lt;\/dependency&gt;<\/code><\/pre>\n<\/div>\n<ul>\n<li>SendGrid\u306eAPI\u30ad\u30fc\u3068\u305d\u306e\u4ed6\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092<code>application.properties<\/code>\u3067\u8a2d\u5b9a\u3057\u307e\u3059\uff1a<\/li>\n<\/ul>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">sendgrid.api.key=YOUR_SENDGRID_API_KEY<\/code><\/pre>\n<\/div>\n<ul>\n<li>SendGrid \u3092\u4f7f\u7528\u3057\u3066 <code>sendAlert()<\/code> \u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5\u3057\u307e\u3059\uff1a<\/li>\n<\/ul>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">  public void sendAlert(double cpuUsage) {\n    Email from = new Email(\"your@example.com\");\n    String subject = \"CPU Alert - High CPU Usage Detected\";\n    Email to = new Email(\"admin@example.com\");\n    Content content = new Content(\"text\/plain\",\n        \"CPU usage has exceeded the threshold.\" + cpuUsage + \"at\" + Instant.now());\n    Mail mail = new Mail(from, subject, to, content);\n\n    SendGrid sg = new SendGrid(sendGridApiKey);\n    Request request = new Request();\n    try {\n      request.setMethod(Method.POST);\n      request.setEndpoint(\"mail\/send\");\n      request.setBody(mail.build());\n      Response response = sg.api(request);\n      System.out.println(response.getStatusCode());\n      System.out.println(response.getBody());\n      System.out.println(response.getHeaders());\n    } catch (IOException ex) {\n      ex.printStackTrace();\n    }\n  }<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30e1\u30fc\u30eb\u304c\u9001\u4fe1\u3055\u308c\u307e\u3059\uff1a<\/p>\n<p><img decoding=\"async\" src=\"img\/image.png\" alt=\"\" \/><\/p>\n<h3>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u5b9f\u884c<\/h3>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30d3\u30eb\u30c9\u3057\u3001\u5b9f\u884c\u3057\u307e\u3059\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">mvn clean install && mvn spring-boot:run  <\/code><\/pre>\n<\/div>\n<p>\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u884c\u306b\u6210\u529f\u3059\u308b\u3068\u3001\u30bf\u30fc\u30df\u30ca\u30eb\u30fb\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3060\uff1a<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">[INFO] Attaching agents: []\nSLF4J(W): Class path contains multiple SLF4J providers.\nSLF4J(W): Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@5fa7e7ff]\nSLF4J(W): Found provider [org.slf4j.jul.JULServiceProvider@4629104a]\nSLF4J(W): See https:\/\/www.slf4j.org\/codes.html#multiple_bindings for an explanation.\nSLF4J(I): Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@5fa7e7ff]\n\n  .   ____          _            __ _ _\n \/\\ \/ ___'_ __ _ _(_)_ __  __ _    \n( ( )___ | '_ | '_| | '_ \/ _` |    \n \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )\n  '  |____| .__|_| |_|_| |___, | \/ \/ \/ \/\n =========|_|==============|___\/=\/_\/_\/_\/\n :: Spring Boot ::             my-griddb-app)\n2024-04-05T16:55:48.101+05:30  INFO 1271 --- [           main] mycode.MySpringBootApplication           : No active profile set, falling back to 1 default profile: \"default\"\n2024-04-05T16:55:50.941+05:30  INFO 1271 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)\n2024-04-05T16:55:50.971+05:30  INFO 1271 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]\n2024-04-05T16:55:50.971+05:30  INFO 1271 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat\/10.1.19]\n2024-04-05T16:55:51.092+05:30  INFO 1271 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[\/]       : Initializing Spring embedded WebApplicationContext\n2024-04-05T16:55:51.093+05:30  INFO 1271 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2876 ms\n2024-04-05T16:55:53.025+05:30  INFO 1271 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 13 endpoint(s) beneath base path '\/actuator'\n2024-04-05T16:55:53.143+05:30  INFO 1271 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path ''\n2024-04-05T16:55:53.163+05:30  INFO 1271 --- [           main] mycode.MySpringBootApplication           : Started MySpringBootApplication in 6.047 seconds (pr24-04-05T16:55:53.328Z')\n2024-04-05T16:55:53.647+05:30  INFO 1271 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[\/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'\n2024-04-05T16:55:53.648+05:30  INFO 1271 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'\n2024-04-05T16:55:53.649+05:30  INFO 1271 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms\nFetching CPU metrics at current time\nFetching CPU metrics at current time\nFetching CPU metrics at current time\nFetching CPU metrics at current time\nFetching CPU metrics at current time\nTimestamp: Fri Apr 05 16:55:59 IST 2024, CPU Usage: 0.004949328305444261\nTimestamp: Fri Apr 05 16:56:05 IST 2024, CPU Usage: 0.0020863759649488835\nTimestamp: Fri Apr 05 16:56:11 IST 2024, CPU Usage: 0.001875390706397166\nTimestamp: Fri Apr 05 16:56:17 IST 2024, CPU Usage: 0.001665972511453561\nTimestamp: Fri Apr 05 16:56:23 IST 2024, CPU Usage: 0.001669449081803005\nTimestamp: Fri Apr 05 16:56:29 IST 2024, CPU Usage: 6.253908692933083E-4\nTimestamp: Fri Apr 05 16:56:35 IST 2024, CPU Usage: 0.0016677089847821555\nTimestamp: Fri Apr 05 16:56:41 IST 2024, CPU Usage: 0.0010412328196584756\nTimestamp: Fri Apr 05 16:56:47 IST 2024, CPU Usage: 6.264355815410315E-4hing CPU metrics at current time<\/code><\/pre>\n<\/div>\n<p>CPU\u4f7f\u7528\u7387\u304c\u52d5\u7684\u306b\u8a08\u7b97\u3055\u308c\u305f\u3057\u304d\u3044\u5024\u3092\u8d85\u3048\u308b\u3068\u3001<code>sendAlert<\/code>\u30e1\u30bd\u30c3\u30c9\u304c\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u524d\u8ff0\u3057\u305f\u3088\u3046\u306b\u3001SendGrid\u306e\u3088\u3046\u306a\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306eAPI\u3092\u5229\u7528\u3057\u3066\u3001CPU\u30aa\u30fc\u30d0\u30fc\u30ed\u30fc\u30c9\u306e\u53ef\u80fd\u6027\u306b\u95a2\u3059\u308b\u901a\u77e5\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>**GridDB\u306b\u304a\u3051\u308b\u30c7\u30fc\u30bf\u30b9\u30c8\u30ec\u30fc\u30b8<\/p>\n<p>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u76e3\u8996\u306e\u305f\u3081\u306b\u30a2\u30e9\u30fc\u30c8\u304c\u9001\u4fe1\u3055\u308c\u308b\u4e00\u65b9\u3067\u3001\u53ce\u96c6\u3055\u308c\u305fCPU\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u3001\u5c65\u6b74\u5206\u6790\u3084\u5c06\u6765\u306e\u53c2\u7167\u306e\u305f\u3081\u306b\u3001\u5185\u90e8\u306eGridDB\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u7d99\u7d9a\u7684\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30c7\u30fc\u30bf\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3084\u30af\u30a8\u30ea\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b GridDB Shell \u30c4\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u3066\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-bash\">$ gs_sh\nLoading \"\/var\/lib\/gridstore\/.gsshrc\"\nSLF4J: Class path contains multiple SLF4J bindings.\nSLF4J: Found binding in [jar:file:\/usr\/share\/java\/griddb-cli.jar!\/org\/slf4j\/impl\/StaticLoggerBinder.class]\nSLF4J: Found binding in [jar:file:\/usr\/gridstore\/lib\/logback-classic-1.0.13.jar!\/org\/slf4j\/impl\/StaticLoggerBinder.class]\nSLF4J: See http:\/\/www.slf4j.org\/codes.html#multiple_bindings for an explanation.\nSLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]\nThe connection attempt was successful(NoSQL).\nThe connection attempt was successful(NewSQL).\ngs[public]> SELECT * FROM cpuMetrics;\n65 results. (14 ms)\ngs[public]> get 65\n+--------------------------+-----------------------+\n| Timestamp                | CpuUsage              |\n+--------------------------+-----------------------+\n| 2024-04-03T18:37:16.331Z | 0.0048760521050437682 |\n| 2024-04-05T11:27:23.156Z | 8.333333333333334E-4  |\n| 2024-04-05T11:27:29.073Z | 8.347245409015025E-4  |\n| 2024-04-05T11:27:35.091Z | 8.340283569641367E-4  |\n| 2024-04-05T11:27:41.107Z | 6.256517205422314E-4  |\n| 2024-04-05T11:27:47.123Z | 0.0010444955086693127 |\n| 2024-04-05T11:27:53.137Z | 8.335069806209627E-4  |\n| 2024-04-05T11:27:59.153Z | 6.255212677231026E-4  |\n| 2024-04-05T11:28:05.070Z | 4.1718815185648727E-4 |\n| 2024-04-05T11:28:11.086Z | 6.256517205422315E-4  |\n| 2024-04-05T11:28:17.097Z | 6.252605252188412E-4  |\n| 2024-04-05T11:28:23.109Z | 0.0012513034410844628 |\n| 2024-04-05T11:28:29.125Z | 0.0025010421008753647 |\n| 2024-04-05T11:28:35.141Z | 0.004586199708150928  |\n| 2024-04-05T11:28:41.154Z | 0.01920267167605928   |\n| 2024-04-05T11:28:47.069Z | 0.0018769551616266945 |\n| 2024-04-05T11:28:53.334Z | 0.0018575851393188856 |\n| 2024-04-05T11:28:59.149Z | 0.0021235931195582925 |\n| 2024-04-05T11:29:05.166Z | 0.0014583333333333334 |\n| 2024-04-05T11:29:11.083Z | 0.0022921441967076474 |\n| 2024-04-05T11:29:17.099Z | 0.002082032063293775  |\n| 2024-04-05T11:29:23.116Z | 8.350730688935282E-4  |\n| 2024-04-05T11:29:29.132Z | 6.256517205422314E-4  |\n| 2024-04-05T11:29:35.148Z | 8.338544923910778E-4  |\n| 2024-04-05T11:29:41.162Z | 0.001043187982474442  |\n| 2024-04-05T11:29:47.077Z | 0.0014601585314977055 |\n| 2024-04-05T11:29:53.093Z | 0.004372267332916927  |\n| 2024-04-05T11:29:59.111Z | 0.0010438413361169101 |\n| 2024-04-05T11:30:05.125Z | 0.0012505210504376823 |\n| 2024-04-05T11:30:11.142Z | 0.0010423181154888472 |\n| 2024-04-05T11:30:17.155Z | 0.01943979933110368   |\n| 2024-04-05T11:30:23.070Z | 0.0014595496246872393 |\n| 2024-04-05T11:30:29.086Z | 8.340283569641367E-4  |\n| 2024-04-05T11:30:35.231Z | 0.002073828287017835  |\n+--------------------------+-----------------------+\nThe 65 results had been acquired.<\/code><\/pre>\n<\/div>\n<h3><strong>\u7d50\u8ad6:<\/strong><\/h3>\n<p>\u8981\u7d04\u3059\u308b\u3068\u3001GridDB\u3068Spring Boot\u306e\u7d71\u5408\u306f\u3001\u6700\u65b0\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u304a\u3051\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3068\u30a2\u30e9\u30fc\u30c8\u306e\u305f\u3081\u306e\u5f37\u529b\u306a\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002GridDB\u306e\u9ad8\u6027\u80fdJava\u30af\u30e9\u30a4\u30a2\u30f3\u30c8API\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u958b\u767a\u8005\u306f\u4e3b\u8981\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u4fdd\u5b58\u3068\u30af\u30a8\u30ea\u3092\u52b9\u7387\u7684\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002Spring Boot\u306e\u5805\u7262\u306a\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u3053\u306e\u7d71\u5408\u306f\u7d99\u7d9a\u7684\u306a\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u306e\u5b9f\u88c5\u3068\u3001\u5fdc\u7b54\u6027\u306e\u9ad8\u3044\u901a\u77e5\u30b7\u30b9\u30c6\u30e0\u306e\u958b\u767a\u3092\u5bb9\u6613\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>\u52b9\u7387\u7684\u306a\u30b9\u30ad\u30fc\u30de\u8a2d\u8a08\u3068\u52d5\u7684\u69cb\u6210\u306b\u3088\u308a\u3001\u958b\u767a\u8005\u306f\u76e3\u8996\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u7279\u5b9a\u306e\u30cb\u30fc\u30ba\u306b\u5408\u308f\u305b\u3066\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u3001\u7570\u5e38\u306e\u30bf\u30a4\u30e0\u30ea\u30fc\u306a\u691c\u51fa\u3068\u89e3\u6c7a\u3092\u78ba\u5b9f\u306b\u3057\u307e\u3059\u3002\u96fb\u5b50\u30e1\u30fc\u30eb\u3001SMS\u3001Slack\u306e\u901a\u77e5\u30b5\u30fc\u30d3\u30b9\u3092\u7d71\u5408\u3059\u308b\u6a5f\u80fd\u306b\u3088\u308a\u3001\u95a2\u4fc2\u8005\u306f\u5e38\u306b\u60c5\u5831\u3092\u5165\u624b\u3057\u3001\u91cd\u8981\u306a\u30a4\u30d9\u30f3\u30c8\u306b\u8fc5\u901f\u306b\u5bfe\u5fdc\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u8981\u3059\u308b\u306b\u3001GridDB\u3068Spring Boot\u306f\u3001\u958b\u767a\u8005\u304c\u4fca\u654f\u3067\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u76e3\u8996\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u3092\u53ef\u80fd\u306b\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4fe1\u983c\u6027\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3001\u305d\u3057\u3066\u4eca\u65e5\u306e\u30da\u30fc\u30b9\u306e\u901f\u3044\u30c7\u30b8\u30bf\u30eb\u74b0\u5883\u306b\u304a\u3051\u308b\u30e6\u30fc\u30b6\u30fc\u306e\u6e80\u8db3\u5ea6\u3092\u5411\u4e0a\u3055\u305b\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u4eca\u65e5\u306e\u9ad8\u901f\u304b\u3064\u30c7\u30fc\u30bf\u4e3b\u5c0e\u306e\u4e16\u754c\u3067\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u30b7\u30b9\u30c6\u30e0\u306e\u30b7\u30fc\u30e0\u30ec\u30b9\u306a\u904b\u7528\u304c\u91cd\u8981\u306a\u512a\u5148\u4e8b\u9805\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30c0\u30a6\u30f3\u30bf\u30a4\u30e0\u3092\u9632\u304e\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u6e80\u8db3\u5ea6\u3092\u7dad\u6301\u3057\u3001\u30ea\u30bd\u30fc\u30b9\u306e\u5229\u7528\u7387\u3092\u6700\u9069\u5316\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u30d1 \u30d5\u30a9\u30fc\u30de\u30f3 [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":49709,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1005],"tags":[],"class_list":["post-50905","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1005"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996 | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"\u306f\u3058\u3081\u306b\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/monitor-spring-boot\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996 | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"\u306f\u3058\u3081\u306b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/monitor-spring-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-17T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T15:56:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1536\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996\",\"datePublished\":\"2024-06-17T07:00:00+00:00\",\"dateModified\":\"2025-11-14T15:56:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/\"},\"wordCount\":217,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/\",\"url\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/\",\"name\":\"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996 | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg\",\"datePublished\":\"2024-06-17T07:00:00+00:00\",\"dateModified\":\"2025-11-14T15:56:47+00:00\",\"description\":\"\u306f\u3058\u3081\u306b\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg\",\"width\":1536,\"height\":1536},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.griddb.net\/en\/#website\",\"url\":\"https:\/\/www.griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/www.griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/www.griddb.net\/ja\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996 | GridDB: Open Source Time Series Database for IoT","description":"\u306f\u3058\u3081\u306b","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/monitor-spring-boot\/","og_locale":"ja_JP","og_type":"article","og_title":"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996 | GridDB: Open Source Time Series Database for IoT","og_description":"\u306f\u3058\u3081\u306b","og_url":"https:\/\/www.griddb.net\/ja\/\u672a\u5206\u985e\/monitor-spring-boot\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2024-06-17T07:00:00+00:00","article_modified_time":"2025-11-14T15:56:47+00:00","og_image":[{"width":1536,"height":1536,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg","type":"image\/jpeg"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"\u57f7\u7b46\u8005":"griddb-admin","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#article","isPartOf":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/"},"author":{"name":"griddb-admin","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996","datePublished":"2024-06-17T07:00:00+00:00","dateModified":"2025-11-14T15:56:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/"},"wordCount":217,"commentCount":0,"publisher":{"@id":"https:\/\/www.griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg","inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/","url":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/","name":"GridDB\u3068Spring Boot\u306b\u3088\u308b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30fb\u30a4\u30f3\u30d5\u30e9\u76e3\u8996 | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/www.griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage"},"image":{"@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg","datePublished":"2024-06-17T07:00:00+00:00","dateModified":"2025-11-14T15:56:47+00:00","description":"\u306f\u3058\u3081\u306b","inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/monitor-spring-boot\/#primaryimage","url":"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg","contentUrl":"\/wp-content\/uploads\/2024\/06\/Gemini_Generated_Image_pvazzapvazzapvaz.jpg","width":1536,"height":1536},{"@type":"WebSite","@id":"https:\/\/www.griddb.net\/en\/#website","url":"https:\/\/www.griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/www.griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/www.griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/www.griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/www.griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/www.griddb.net\/ja\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/comments?post=50905"}],"version-history":[{"count":1,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50905\/revisions"}],"predecessor-version":[{"id":51725,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50905\/revisions\/51725"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/media\/49709"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/media?parent=50905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/categories?post=50905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/tags?post=50905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}