{"id":544,"date":"2017-12-26T15:51:56","date_gmt":"2017-12-26T07:51:56","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=544"},"modified":"2017-12-26T15:51:56","modified_gmt":"2017-12-26T07:51:56","slug":"dubbox%e6%9c%8d%e5%8a%a1%e7%9b%91%e6%8e%a7%e4%b8%8e%e6%97%a5%e5%bf%97%e9%87%87%e9%9b%86","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=544","title":{"rendered":"dubbox\u670d\u52a1\u76d1\u63a7\u4e0e\u65e5\u5fd7\u91c7\u96c6"},"content":{"rendered":"<p>\u7ee7\u4e0a\u4e00\u7bc7dubbox2.8.4\u7684\u914d\u7f6e\u548c\u4f7f\u7528\u540e\uff0c\u6211\u4eec\u8981\u8fdb\u4e00\u6b65\u8003\u8651dubbox\u670d\u52a1\u7684\u90e8\u7f72\u548c\u76d1\u63a7\u3002<br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115047141\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h2 id=\"dubbox\u65e5\u5fd7\u7684\u91c7\u96c6\u65b9\u6848\"><a name=\"t0\"><\/a>dubbox\u65e5\u5fd7\u7684\u91c7\u96c6\u65b9\u6848<\/h2>\n<h3 id=\"dubbox\u670d\u52a1\u90e8\u7f72\"><a name=\"t1\"><\/a>dubbox\u670d\u52a1\u90e8\u7f72<\/h3>\n<p>\u91c7\u7528\u7684\u662fELK\u7684\u65e5\u5fd7\u91c7\u96c6\u65b9\u6848\uff08<a href=\"http:\/\/blog.csdn.net\/u011282930\/article\/details\/52771237\" target=\"_blank\" rel=\"noopener\">http:\/\/blog.csdn.net\/u011282930\/article\/details\/52771237<\/a>\uff09\uff0c\u6211\u4eec\u9009\u62e9\u5c06dubbox\u7684\u670d\u52a1\u5355\u72ec\u62c6\u5206\u4e3a\u72ec\u7acb\u7684\u90e8\u7f72jar\u5305\uff0c\u5728\u7cfb\u7edf\u4e0a\u90e8\u7f72\u3002\u7ed3\u6784\u5982\u4e0b\uff1a<br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011112239759\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3 id=\"logstash\u65e5\u5fd7\u91c7\u96c6\"><a name=\"t2\"><\/a>logstash\u65e5\u5fd7\u91c7\u96c6<\/h3>\n<p>\u5176\u4e2d\uff0clogstash\u5c31\u662f\u7528\u6765\u6536\u96c6\u8fd0\u884c\u7684\u670d\u52a1\u7684\u65e5\u5fd7\uff0c\u91c7\u7528\u7684\u662f2.3.1\u7248\u672c\uff0c\u901a\u8fc7\u914d\u7f6e\u5bf9\u5e94\u7684\u89e3\u6790\u6587\u4ef6\u6765\u76d1\u63a7\uff0c\u6211\u7684\u89e3\u6790\u6587\u4ef6\u5982\u4e0b<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs tex has-numbering\">input <span class=\"hljs-special\">{<\/span>\n      file <span class=\"hljs-special\">{<\/span>\n            path =&gt; \"F:<span class=\"hljs-command\">\\log<\/span>.txt\" <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u586b\u5199\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84\n            start_position =&gt; \"beginning\"  <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u4ece\u5934\u5f00\u59cb\u8fdb\u884c\u6536\u96c6\n            codec =&gt; multiline <span class=\"hljs-special\">{<\/span>  <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u901a\u8fc7\u914d\u7f6e\u8bc6\u522b\u65e5\u5fd7\u5f00\u5934\uff0c\u6765\u4fdd\u8bc1\u591a\u884c\u53ef\u4ee5\u88ab\u5408\u5e76\n                pattern =&gt; \"^<span class=\"hljs-special\">[<\/span><span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>:<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>:<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>.<span class=\"hljs-command\">\\d<\/span>+<span class=\"hljs-special\">]<\/span>\" <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u6b63\u5219\u5339\u914d\u4ee5\u4ec0\u4e48\u4f5c\u4e3a\u65e5\u5fd7\u5f00\u5934\u6807\u5fd7\n                negate =&gt; true\n                what =&gt; \"previous\"\n            <span class=\"hljs-special\">}<\/span>\n        <span class=\"hljs-special\">}<\/span>\n    <span class=\"hljs-special\">}<\/span>\n    filter <span class=\"hljs-special\">{<\/span>\n        grok <span class=\"hljs-special\">{<\/span><span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u5e38\u7528\u7684filter\u4e4b\u4e00\uff0c\u7528\u4e8e\u5bf9\u6587\u672c\u65e5\u5fd7\u8bb0\u5f55\u8fdb\u884cjson\u683c\u5f0f\u5316\n            match =&gt; <span class=\"hljs-special\">{<\/span>\n                \"message\" =&gt; <span class=\"hljs-special\">[<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u591a\u4e2a\u6b63\u5219\u683c\u5f0f\u6570\u636e\n                    \"(?&lt;time&gt;<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>:<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>:<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>.<span class=\"hljs-command\">\\d<\/span>+)<span class=\"hljs-command\">\\s<\/span>(?&lt;thread&gt;<span class=\"hljs-command\">\\[<\/span><span class=\"hljs-special\">[<\/span>^<span class=\"hljs-special\">]<\/span><span class=\"hljs-special\">]<\/span>*<span class=\"hljs-command\">\\]<\/span><span class=\"hljs-special\">{<\/span>1<span class=\"hljs-special\">}<\/span>)<span class=\"hljs-command\">\\s<\/span>(?&lt;level&gt;<span class=\"hljs-command\">\\w<\/span>+)<span class=\"hljs-command\">\\s<\/span><span class=\"hljs-command\">\\s<\/span>(?&lt;class&gt;<span class=\"hljs-special\">[<\/span><span class=\"hljs-command\">\\w<\/span>|.<span class=\"hljs-special\">]<\/span>*)<span class=\"hljs-command\">\\s<\/span>-<span class=\"hljs-special\">{<\/span>1<span class=\"hljs-special\">}<\/span><span class=\"hljs-command\">\\s<\/span>+(?&lt;dubbo&gt;<span class=\"hljs-command\">\\[<\/span><span class=\"hljs-special\">[<\/span><span class=\"hljs-command\">\\w<\/span>|<span class=\"hljs-command\">\\d<\/span>|<span class=\"hljs-command\">\\-<\/span><span class=\"hljs-special\">]<\/span>*<span class=\"hljs-command\">\\]<\/span><span class=\"hljs-special\">{<\/span>1<span class=\"hljs-special\">}<\/span>)<span class=\"hljs-command\">\\s<\/span>(?&lt;date&gt;<span class=\"hljs-command\">\\[<\/span><span class=\"hljs-command\">\\d<\/span>+-<span class=\"hljs-command\">\\d<\/span>+-<span class=\"hljs-command\">\\d<\/span>+<span class=\"hljs-command\">\\s<\/span><span class=\"hljs-command\">\\d<\/span>+:<span class=\"hljs-command\">\\d<\/span>+:<span class=\"hljs-command\">\\d<\/span>+<span class=\"hljs-command\">\\]<\/span>)<span class=\"hljs-command\">\\s<\/span>(?&lt;customer&gt;<span class=\"hljs-command\">\\d<\/span>+.<span class=\"hljs-command\">\\d<\/span>+.<span class=\"hljs-command\">\\d<\/span>+.<span class=\"hljs-command\">\\d<\/span>+):<span class=\"hljs-command\">\\d<\/span>+<span class=\"hljs-command\">\\s<\/span>-<span class=\"hljs-command\">\\&gt;<\/span><span class=\"hljs-command\">\\s<\/span>(?&lt;producer&gt;<span class=\"hljs-command\">\\d<\/span>+.<span class=\"hljs-command\">\\d<\/span>+.<span class=\"hljs-command\">\\d<\/span>+.<span class=\"hljs-command\">\\d<\/span>+:<span class=\"hljs-command\">\\d<\/span>+)<span class=\"hljs-command\">\\s<\/span>-<span class=\"hljs-command\">\\s<\/span>(?&lt;content&gt;<span class=\"hljs-special\">[<\/span><span class=\"hljs-command\">\\s<\/span>|<span class=\"hljs-command\">\\S<\/span><span class=\"hljs-special\">]<\/span>*)\",\n                    \"(?&lt;time&gt;<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>:<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>:<span class=\"hljs-command\">\\d<\/span><span class=\"hljs-special\">{<\/span>2<span class=\"hljs-special\">}<\/span>.<span class=\"hljs-command\">\\d<\/span>+)<span class=\"hljs-command\">\\s<\/span>(?&lt;thread&gt;<span class=\"hljs-command\">\\[<\/span><span class=\"hljs-special\">[<\/span>^<span class=\"hljs-special\">]<\/span><span class=\"hljs-special\">]<\/span>*<span class=\"hljs-command\">\\]<\/span><span class=\"hljs-special\">{<\/span>1<span class=\"hljs-special\">}<\/span>)<span class=\"hljs-command\">\\s<\/span>(?&lt;level&gt;<span class=\"hljs-command\">\\w<\/span>+)<span class=\"hljs-command\">\\s<\/span>(?&lt;content&gt;<span class=\"hljs-special\">[<\/span><span class=\"hljs-command\">\\s<\/span>|<span class=\"hljs-command\">\\S<\/span><span class=\"hljs-special\">]<\/span>*)\"\n                <span class=\"hljs-special\">]<\/span>\n            <span class=\"hljs-special\">}<\/span>\n            remove_field =&gt; <span class=\"hljs-special\">[<\/span>\"message\"<span class=\"hljs-special\">]<\/span>\n        <span class=\"hljs-special\">}<\/span>\n        date <span class=\"hljs-special\">{<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u65e5\u671f\u914d\u7f6e\n            match =&gt; <span class=\"hljs-special\">[<\/span> \"timestamp\" , \"HH:mm:ss Z\" <span class=\"hljs-special\">]<\/span>\n        <span class=\"hljs-special\">}<\/span>\n    <span class=\"hljs-special\">}<\/span>\n    output <span class=\"hljs-special\">{<\/span>\n        if<span class=\"hljs-special\">[<\/span>level<span class=\"hljs-special\">]<\/span>==\"ERROR\"<span class=\"hljs-special\">{<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u8f93\u51fa\u914d\u7f6e\uff0c\u5982\u679c\u5f53\u524d\u65e5\u5fd7\u6807\u5fd7\u4e3aERROR\uff0c\u5219\u8fdb\u884c\u4e0b\u65b9\u8f93\u51fa\n            stdout <span class=\"hljs-special\">{<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u8f93\u51fa\u5230\u63a7\u5236\u7aef\n                codec =&gt; rubydebug\n            <span class=\"hljs-special\">}<\/span>\n            file <span class=\"hljs-special\">{<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u8f93\u51fa\u5230\u6587\u4ef6\n                path =&gt; \"\/diskb\/bi_error_log\/bi_error.log\"\n            <span class=\"hljs-special\">}<\/span>\n        <span class=\"hljs-special\">}<\/span>\n        if<span class=\"hljs-special\">[<\/span>level<span class=\"hljs-special\">]<\/span>==\"ERROR\" or <span class=\"hljs-special\">[<\/span>level<span class=\"hljs-special\">]<\/span>==\"INFO\" and \"monitor\" not in <span class=\"hljs-special\">[<\/span>content<span class=\"hljs-special\">]<\/span><span class=\"hljs-special\">{<\/span>\n            elasticsearch <span class=\"hljs-special\">{<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> \u8f93\u51fa\u5230es\n                hosts =&gt; <span class=\"hljs-special\">[<\/span>\"localhost:9200\"<span class=\"hljs-special\">]<\/span> <span class=\"hljs-special\">#<\/span><span class=\"hljs-special\">#<\/span> es\u5730\u5740\u548c\u7aef\u53e3\n                flush_size =&gt; 5000\n                index =&gt; \"ebs-<span class=\"hljs-comment\">%{+YYYY.MM.dd}\" ## kibana\u7684\u68c0\u7d22index<\/span>\n                idle_flush_time =&gt; 10\n            <span class=\"hljs-special\">}<\/span>\n        <span class=\"hljs-special\">}<\/span>\n    <span class=\"hljs-special\">}<\/span><\/code><\/pre>\n<ul class=\"pre-numbering\">\n<li>1<\/li>\n<li>2<\/li>\n<li>3<\/li>\n<li>4<\/li>\n<li>5<\/li>\n<li>6<\/li>\n<li>7<\/li>\n<li>8<\/li>\n<li>9<\/li>\n<li>10<\/li>\n<li>11<\/li>\n<li>12<\/li>\n<li>13<\/li>\n<li>14<\/li>\n<li>15<\/li>\n<li>16<\/li>\n<li>17<\/li>\n<li>18<\/li>\n<li>19<\/li>\n<li>20<\/li>\n<li>21<\/li>\n<li>22<\/li>\n<li>23<\/li>\n<li>24<\/li>\n<li>25<\/li>\n<li>26<\/li>\n<li>27<\/li>\n<li>28<\/li>\n<li>29<\/li>\n<li>30<\/li>\n<li>31<\/li>\n<li>32<\/li>\n<li>33<\/li>\n<li>34<\/li>\n<li>35<\/li>\n<li>36<\/li>\n<li>37<\/li>\n<li>38<\/li>\n<li>39<\/li>\n<li>40<\/li>\n<li>41<\/li>\n<li>42<\/li>\n<li>43<\/li>\n<\/ul>\n<h3 id=\"kibana\u65e5\u5fd7\u67e5\u770b\"><a name=\"t3\"><\/a>Kibana\u65e5\u5fd7\u67e5\u770b<\/h3>\n<p>\u901a\u8fc7Kibana\u4e0a\u6765\u67e5\u770b\u548c\u7edf\u8ba1\u670d\u52a1\u7684\u65e5\u5fd7\u72b6\u6001<br \/>\n\u65e5\u5fd7\u8be6\u7ec6\u5185\u5bb9<br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115242941\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><br \/>\n\u5bf9\u65e5\u5fd7\u8fdb\u884c\u7edf\u8ba1\u5b9e\u65f6\u67e5\u770b<br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115205455\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115412267\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h2 id=\"dubbox\u670d\u52a1\u76d1\u63a7\u65b9\u6848\"><a name=\"t4\"><\/a>dubbox\u670d\u52a1\u76d1\u63a7\u65b9\u6848<\/h2>\n<h3 id=\"\u5229\u7528heartbeat\u5fc3\u8df3\u68c0\u6d4brest\u63a5\u53e3\"><a name=\"t5\"><\/a>\u5229\u7528HeartBeat\u5fc3\u8df3\u68c0\u6d4brest\u63a5\u53e3<\/h3>\n<p><img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115656643\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3 id=\"\u5229\u7528dubbo-monitor\u6765\u67e5\u770b\u670d\u52a1\u5065\u5eb7\u5ea6\"><a name=\"t6\"><\/a>\u5229\u7528dubbo-monitor\u6765\u67e5\u770b\u670d\u52a1\u5065\u5eb7\u5ea6<\/h3>\n<p>\u670d\u52a1\u8c03\u5ea6\u7edf\u8ba1<br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115749659\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><br \/>\n\u670d\u52a1\u54cd\u5e94\u7edf\u8ba1<br \/>\n<img decoding=\"async\" title=\"\" src=\"http:\/\/img.blog.csdn.net\/20161011115924059\" alt=\"\u8fd9\u91cc\u5199\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7ee7\u4e0a\u4e00\u7bc7dubbox2.8.4\u7684\u914d\u7f6e\u548c\u4f7f\u7528\u540e\uff0c\u6211\u4eec\u8981\u8fdb\u4e00\u6b65\u8003\u8651dubbox\u670d\u52a1\u7684\u90e8\u7f72\u548c\u76d1\u63a7\u3002 dubbox\u65e5\u5fd7\u7684\u91c7\u96c6\u65b9\u6848 dubbox\u670d\u52a1\u90e8\u7f72 \u91c7\u7528\u7684\u662fELK\u7684\u65e5\u5fd7\u91c7\u96c6\u65b9\u6848\uff08http:\/\/blog.csdn.net\/u011282930\/article\/details\/52771237\uff09\uff0c\u6211\u4eec\u9009\u62e9\u5c06dubbox\u7684\u670d\u52a1\u5355\u72ec\u62c6\u5206\u4e3a\u72ec\u7acb\u7684\u90e8\u7f72jar\u5305\uff0c\u5728\u7cfb\u7edf\u4e0a\u90e8\u7f72\u3002\u7ed3\u6784\u5982\u4e0b\uff1a logstash\u65e5\u5fd7\u91c7\u96c6 \u5176\u4e2d\uff0clogstash\u5c31\u662f\u7528\u6765\u6536\u96c6\u8fd0\u884c\u7684\u670d\u52a1\u7684\u65e5\u5fd7\uff0c\u91c7\u7528\u7684\u662f2.3.1\u7248\u672c\uff0c\u901a\u8fc7\u914d\u7f6e\u5bf9\u5e94\u7684\u89e3\u6790\u6587\u4ef6\u6765\u76d1\u63a7\uff0c\u6211\u7684\u89e3\u6790\u6587\u4ef6\u5982\u4e0b input { file { path =&gt; &#8220;F:\\log.txt&#8221; ## \u586b\u5199\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84 start_position =&gt; &#8220;beginning&#8221; ## \u4ece\u5934\u5f00\u59cb\u8fdb\u884c\u6536\u96c6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-544","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=544"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/544\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}