{"id":893,"date":"2018-07-27T08:39:24","date_gmt":"2018-07-27T00:39:24","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=893"},"modified":"2018-07-27T08:39:24","modified_gmt":"2018-07-27T00:39:24","slug":"%e5%bc%80%e6%ba%90apm%e7%b3%bb%e7%bb%9fskywalking%e4%bb%8b%e7%bb%8d%e4%b8%8e%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=893","title":{"rendered":"\u5f00\u6e90APM\u7cfb\u7edfskywalking\u4ecb\u7ecd\u4e0e\u4f7f\u7528"},"content":{"rendered":"<h2 id=\"\u4ecb\u7ecd\">\u4ecb\u7ecd<\/h2>\n<p><strong>SkyWalking<\/strong>\u00a0\u521b\u5efa\u4e0e2015\u5e74\uff0c\u63d0\u4f9b\u5206\u5e03\u5f0f\u8ffd\u8e2a\u529f\u80fd\u3002\u4ece5.x\u5f00\u59cb\uff0c\u9879\u76ee\u8fdb\u5316\u4e3a\u4e00\u4e2a\u5b8c\u6210\u529f\u80fd\u7684<a href=\"https:\/\/en.wikipedia.org\/wiki\/Application_performance_management\">Application Performance Management<\/a>\u7cfb\u7edf\u3002<br \/>\n\u4ed6\u88ab\u7528\u4e8e\u8ffd\u8e2a\u3001\u76d1\u63a7\u548c\u8bca\u65ad\u5206\u5e03\u5f0f\u7cfb\u7edf\uff0c\u7279\u522b\u662f\u4f7f\u7528\u5fae\u670d\u52a1\u67b6\u6784\uff0c\u4e91\u539f\u751f\u6216\u5bb9\u79ef\u6280\u672f\u3002\u63d0\u4f9b\u4ee5\u4e0b\u4e3b\u8981\u529f\u80fd\uff1a<\/p>\n<ul>\n<li>\u5206\u5e03\u5f0f\u8ffd\u8e2a\u548c\u4e0a\u4e0b\u6587\u4f20\u8f93<\/li>\n<li>\u5e94\u7528\u3001\u5b9e\u4f8b\u3001\u670d\u52a1\u6027\u80fd\u6307\u6807\u5206\u6790<\/li>\n<li>\u6839\u6e90\u5206\u6790<\/li>\n<li>\u5e94\u7528\u62d3\u6251\u5206\u6790<\/li>\n<li>\u5e94\u7528\u548c\u670d\u52a1\u4f9d\u8d56\u5206\u6790<\/li>\n<li>\u6162\u670d\u52a1\u68c0\u6d4b<\/li>\n<li>\u6027\u80fd\u4f18\u5316<\/li>\n<\/ul>\n<h3 id=\"\u4e3b\u8981\u7279\u6027\">\u4e3b\u8981\u7279\u6027<\/h3>\n<ul>\n<li>\u591a\u8bed\u8a00\u63a2\u9488\u6216\u7c7b\u5e93\n<ul>\n<li>Java\u81ea\u52a8\u63a2\u9488\uff0c\u8ffd\u8e2a\u548c\u76d1\u63a7\u7a0b\u5e8f\u65f6\uff0c\u4e0d\u9700\u8981\u4fee\u6539\u6e90\u7801\u3002<\/li>\n<li>\u793e\u533a\u63d0\u4f9b\u7684\u5176\u4ed6\u591a\u8bed\u8a00\u63a2\u9488\n<ul>\n<li><a href=\"https:\/\/github.com\/OpenSkywalking\/skywalking-netcore\">.NET Core<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/OpenSkywalking\/skywalking-nodejs\">Node.js<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u591a\u79cd\u540e\u7aef\u5b58\u50a8\uff1a ElasticSearch\uff0c H2<\/li>\n<li>\u652f\u6301<a href=\"http:\/\/opentracing.io\/\">OpenTracing<\/a>\n<ul>\n<li>Java\u81ea\u52a8\u63a2\u9488\u652f\u6301\u548cOpenTracing API\u534f\u540c\u5de5\u4f5c<\/li>\n<\/ul>\n<\/li>\n<li>\u8f7b\u91cf\u7ea7\u3001\u5b8c\u5584\u529f\u80fd\u7684\u540e\u7aef\u805a\u5408\u548c\u5206\u6790<\/li>\n<li>\u73b0\u4ee3\u5316Web UI<\/li>\n<li>\u65e5\u5fd7\u96c6\u6210<\/li>\n<li>\u5e94\u7528\u3001\u5b9e\u4f8b\u548c\u670d\u52a1\u7684\u544a\u8b66<\/li>\n<\/ul>\n<h3 id=\"\u67b6\u6784\">\u67b6\u6784<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/skywalkingtest.github.io\/page-resources\/5.0\/architecture.png\" \/><\/p>\n<h3 id=\"\u5728\u7ebf\u4f53\u9a8c\">\u5728\u7ebf\u4f53\u9a8c<\/h3>\n<ul>\n<li>\u5317\u4eac\u670d\u52a1\u5668.\u00a0<a href=\"http:\/\/49.4.12.44:8080\/\">\u524d\u5f80<\/a><\/li>\n<li>\u9999\u6e2f\u670d\u52a1\u5668.\u00a0<a href=\"http:\/\/159.138.0.181:8080\/\">\u524d\u5f80<\/a><\/li>\n<\/ul>\n<h2 id=\"\u5b89\u88c5\">\u5b89\u88c5<\/h2>\n<h3 id=\"\u5b89\u88c5es\">\u5b89\u88c5es<\/h3>\n<p>\u65b0\u7248\u672c\u7684skywalking\u4f7f\u7528ES\u4f5c\u4e3a\u5b58\u50a8\uff0c\u6240\u4ee5\u5148\u5b89\u88c5es\uff0c\u6ce8\u610f6.X\u7248\u672c\u4e0d\u884c\uff0c\u5b89\u88c55.6.8\uff1a<\/p>\n<pre class=\"bash\"><code class=\"hljs\">wget https:\/\/artifacts.elastic.co\/downloads\/elasticsearch\/elasticsearch-5.6.8.tar.gz\ntar zxvf elasticsearch-5.6.8.tar.gz\n<span class=\"hljs-built_in\">cd<\/span> elasticsearch-5.6.8\/<\/code><\/pre>\n<p>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u4e3b\u8981\u4fee\u6539cluster.name\uff0c\u5e76\u589e\u52a0\u4e24\u884c\u914d\u7f6e\uff0c<br \/>\nvim config\/elasticsearch.yml\uff1a<\/p>\n<pre><code class=\"hljs http\"><span class=\"hljs-attribute\">cluster.name<\/span>: CollectorDBCluster\n\n<span class=\"css\"># <span class=\"hljs-selector-tag\">ES<\/span>\u76d1\u542c\u7684<span class=\"hljs-selector-tag\">ip<\/span>\u5730\u5740\n<span class=\"hljs-selector-tag\">network<\/span><span class=\"hljs-selector-class\">.host<\/span>: 0<span class=\"hljs-selector-class\">.0<\/span><span class=\"hljs-selector-class\">.0<\/span><span class=\"hljs-selector-class\">.0<\/span>\n<span class=\"hljs-selector-tag\">thread_pool<\/span><span class=\"hljs-selector-class\">.bulk<\/span><span class=\"hljs-selector-class\">.queue_size<\/span>: 1000<\/span><\/code><\/pre>\n<p>\u4fdd\u5b58\uff0c\u7136\u540e\u542f\u52a8es\uff1a<\/p>\n<pre><code class=\"hljs nginx\"><span class=\"hljs-attribute\">nohup<\/span> bin\/elasticsearch &amp;<\/code><\/pre>\n<h3 id=\"\u5b89\u88c5skywalking\">\u5b89\u88c5skywalking<\/h3>\n<p>\u5148\u4e0b\u8f7d\u7f16\u8bd1\u597d\u7684\u7248\u672c\u5e76\u89e3\u538b\uff1a<\/p>\n<pre class=\"bash\"><code class=\"hljs\">wget http:\/\/mirrors.hust.edu.cn\/apache\/incubator\/skywalking\/5.0.0-beta\/apache-skywalking-apm-incubating-5.0.0-beta.tar.gz\ntar zxvf apache-skywalking-apm-incubating-5.0.0-beta.tar.gz\n<span class=\"hljs-built_in\">cd<\/span> apache-skywalking-apm-incubating\/<\/code><\/pre>\n<p>\u7136\u540e\u90e8\u7f72\uff0c\u6ce8\u610fskywalking\u4f1a\u4f7f\u7528(8080, 10800, 11800, 12800)\u7aef\u53e3\uff0c\u56e0\u6b64\u5148\u6392\u9664\u7aef\u53e3\u5360\u7528\u60c5\u51b5\u3002<\/p>\n<p>\u7136\u540e\u8fd0\u884cbin\/startup.sh\uff0cwindows\u7528\u6237\u4e3a.bat\u6587\u4ef6\u3002<\/p>\n<p>\u4e00\u5207\u6b63\u5e38\u7684\u8bdd\uff0c\u8bbf\u95eelocalhost:8080\u5c31\u80fd\u770b\u5230\u9875\u9762\u4e86\u3002<\/p>\n<h4 id=\"\u5b89\u88c5\u8fc7\u7a0b\u95ee\u9898\u89e3\u51b3\">\u5b89\u88c5\u8fc7\u7a0b\u95ee\u9898\u89e3\u51b3<\/h4>\n<ol>\n<li>\u542f\u52a8bin\/startup.sh\u540e\uff0c\u63d0\u793asuccess\uff0c\u4f46\u662f\u4e0d\u80fd\u8bbf\u95ee\uff0cps \u67e5\u770b\u5e76\u65e0\u76f8\u5173\u8fdb\u7a0b\uff0c\u7ecf\u8fc7\u68c0\u67e5\u53d1\u73b0\u662f\u7aef\u53e3\u88ab\u5360\u7528<\/li>\n<li>collector \u4e0d\u80fd\u6b63\u5e38\u542f\u52a8\uff0c\u53d1\u73b0\u662fes\u95ee\u9898\uff1a\n<ul>\n<li>es\u9700\u8981\u4f7f\u75285.x\u7248\u672c<\/li>\n<li>es\u7684\u96c6\u7fa4\u540d\u79f0\u9700\u8981\u548ccollector\u7684\u914d\u7f6e\u6587\u4ef6\u4e00\u81f4<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3 id=\"java\u7a0b\u5e8f\u4f7f\u7528skywalking\u63a2\u9488\">java\u7a0b\u5e8f\u4f7f\u7528skywalking\u63a2\u9488<\/h3>\n<p>1.\u62f7\u8d1dapache-skywalking-apm-incubating\u76ee\u5f55\u4e0b\u7684agent\u76ee\u5f55\u5230\u5e94\u7528\u7a0b\u5e8f\u4f4d\u7f6e\uff0c\u63a2\u9488\u5305\u542b\u6574\u4e2a\u76ee\u5f55\uff0c\u8bf7\u4e0d\u8981\u6539\u53d8\u76ee\u5f55\u7ed3\u6784<br \/>\n2.java\u7a0b\u5e8f\u542f\u52a8\u65f6\uff0c\u589e\u52a0JVM\u542f\u52a8\u53c2\u6570\uff0c-javaagent:\/path\/to\/agent\/skywalking-agent.jar\u3002\u53c2\u6570\u503c\u4e3askywalking-agent.jar\u7684\u7edd\u5bf9\u8def\u5f84<\/p>\n<p>\u5728IDEA\u91cc\u8c03\u8bd5\u7a0b\u5e8f\u600e\u4e48\u529e\uff1f<\/p>\n<p><img decoding=\"async\" title=\"IDEA \u914d\u7f6e\" src=\"http:\/\/oyqmmpkcm.bkt.clouddn.com\/1527477582714.jpg\" alt=\"enter description here\" \/><\/p>\n<p>\u589e\u52a0VM\u53c2\u6570\u5373\u53ef\u3002<\/p>\n<p>agent\u63a2\u9488\u914d\u7f6e\uff0c\u7b80\u5355\u4fee\u6539\u4e0bagent.application_code\u5373\u53ef<\/p>\n<pre class=\"vala\"><code class=\"hljs cpp\"><span class=\"hljs-meta\"># \u5f53\u524d\u7684\u5e94\u7528\u7f16\u7801\uff0c\u6700\u7ec8\u4f1a\u663e\u793a\u5728webui\u4e0a\u3002<\/span>\n<span class=\"hljs-meta\"># \u5efa\u8bae\u4e00\u4e2a\u5e94\u7528\u7684\u591a\u4e2a\u5b9e\u4f8b\uff0c\u4f7f\u7528\u6709\u76f8\u540c\u7684application_code\u3002\u8bf7\u4f7f\u7528\u82f1\u6587<\/span>\nagent.application_code=Your_ApplicationName\n\n<span class=\"hljs-meta\"># \u6bcf\u4e09\u79d2\u91c7\u6837\u7684Trace\u6570\u91cf<\/span>\n<span class=\"hljs-meta\"># \u9ed8\u8ba4\u4e3a\u8d1f\u6570\uff0c\u4ee3\u8868\u5728\u4fdd\u8bc1\u4e0d\u8d85\u8fc7\u5185\u5b58Buffer\u533a\u7684\u524d\u63d0\u4e0b\uff0c\u91c7\u96c6\u6240\u6709\u7684Trace<\/span>\n<span class=\"hljs-meta\"># agent.sample_n_per_3_secs=-1<\/span>\n\n<span class=\"hljs-meta\"># \u8bbe\u7f6e\u9700\u8981\u5ffd\u7565\u7684\u8bf7\u6c42\u5730\u5740<\/span>\n<span class=\"hljs-meta\"># \u9ed8\u8ba4\u914d\u7f6e\u5982\u4e0b<\/span>\n<span class=\"hljs-meta\"># agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg<\/span>\n\n<span class=\"hljs-meta\"># \u63a2\u9488\u8c03\u8bd5\u5f00\u5173\uff0c\u5982\u679c\u8bbe\u7f6e\u4e3atrue\uff0c\u63a2\u9488\u4f1a\u5c06\u6240\u6709\u64cd\u4f5c\u5b57\u8282\u7801\u7684\u7c7b\u8f93\u51fa\u5230\/debugging\u76ee\u5f55\u4e0b<\/span>\n<span class=\"hljs-meta\"># skywalking\u56e2\u961f\u53ef\u80fd\u5728\u8c03\u8bd5\uff0c\u9700\u8981\u6b64\u6587\u4ef6<\/span>\n<span class=\"hljs-meta\"># agent.is_open_debugging_class = true<\/span>\n\n<span class=\"hljs-meta\"># \u5bf9\u5e94Collector\u7684config\/application.yml\u914d\u7f6e\u6587\u4ef6\u4e2d agent_server\/jetty\/port \u914d\u7f6e\u5185\u5bb9<\/span>\n<span class=\"hljs-meta\"># \u4f8b\u5982\uff1a<\/span>\n<span class=\"hljs-meta\"># \u5355\u8282\u70b9\u914d\u7f6e\uff1aSERVERS=<span class=\"hljs-string\">\"127.0.0.1:8080\"<\/span> <\/span>\n<span class=\"hljs-meta\"># \u96c6\u7fa4\u914d\u7f6e\uff1aSERVERS=<span class=\"hljs-string\">\"10.2.45.126:8080,10.2.45.127:7600\"<\/span> <\/span>\ncollector.servers=<span class=\"hljs-number\">127.0<\/span><span class=\"hljs-number\">.0<\/span><span class=\"hljs-number\">.1<\/span>:<span class=\"hljs-number\">10800<\/span>\n\n<span class=\"hljs-meta\"># \u65e5\u5fd7\u6587\u4ef6\u540d\u79f0\u524d\u7f00<\/span>\nlogging.file_name=skywalking-agent.<span class=\"hljs-built_in\">log<\/span>\n\n<span class=\"hljs-meta\"># \u65e5\u5fd7\u6587\u4ef6\u6700\u5927\u5927\u5c0f<\/span>\n<span class=\"hljs-meta\"># \u5982\u679c\u8d85\u8fc7\u6b64\u5927\u5c0f\uff0c\u5219\u4f1a\u751f\u6210\u65b0\u6587\u4ef6\u3002<\/span>\n<span class=\"hljs-meta\"># \u9ed8\u8ba4\u4e3a300M<\/span>\nlogging.max_file_size=<span class=\"hljs-number\">314572800<\/span>\n\n<span class=\"hljs-meta\"># \u65e5\u5fd7\u7ea7\u522b\uff0c\u9ed8\u8ba4\u4e3aDEBUG\u3002<\/span>\nlogging.level=DEBUG<\/code><\/pre>\n<p>\u4e00\u5207\u6b63\u5e38\u7684\u8bdd\uff0c\u7a0d\u540e\u5c31\u53ef\u4ee5\u5728skywalking ui\u770b\u5230\u4e86\u3002<\/p>\n<p><img decoding=\"async\" title=\"SW UI\" src=\"http:\/\/oyqmmpkcm.bkt.clouddn.com\/1527477724637.jpg\" alt=\"enter description here\" \/><\/p>\n<p>\u53ef\u4ee5\u770b\u5230\u7d2f\u51fa\u4e86slow service\u7b49\u4fe1\u606f\uff0c\u66f4\u591a\u7684\u7ec6\u8282\u6162\u6162\u6316\u6398\u5427\u3002<\/p>\n<hr \/>\n<blockquote><p>\u4f5c\u8005\uff1aJadepeng<br \/>\n\u51fa\u5904\uff1ajqpeng\u7684\u6280\u672f\u8bb0\u4e8b\u672c&#8211;<a class=\"uri\" href=\"http:\/\/www.cnblogs.com\/xiaoqi\">http:\/\/www.cnblogs.com\/xiaoqi<\/a><br \/>\n\u60a8\u7684\u652f\u6301\u662f\u5bf9\u535a\u4e3b\u6700\u5927\u7684\u9f13\u52b1\uff0c\u611f\u8c22\u60a8\u7684\u8ba4\u771f\u9605\u8bfb\u3002<br \/>\n\u672c\u6587\u7248\u6743\u5f52\u4f5c\u8005\u6240\u6709\uff0c\u6b22\u8fce\u8f6c\u8f7d\uff0c\u4f46\u672a\u7ecf\u4f5c\u8005\u540c\u610f\u5fc5\u987b\u4fdd\u7559\u6b64\u6bb5\u58f0\u660e\uff0c\u4e14\u5728\u6587\u7ae0\u9875\u9762\u660e\u663e\u4f4d\u7f6e\u7ed9\u51fa\u539f\u6587\u8fde\u63a5\uff0c\u5426\u5219\u4fdd\u7559\u8ffd\u7a76\u6cd5\u5f8b\u8d23\u4efb\u7684\u6743\u5229\u3002<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u4ecb\u7ecd SkyWalking\u00a0\u521b\u5efa\u4e0e2015\u5e74\uff0c\u63d0\u4f9b\u5206\u5e03\u5f0f\u8ffd\u8e2a\u529f\u80fd\u3002\u4ece5.x\u5f00\u59cb\uff0c\u9879\u76ee\u8fdb\u5316\u4e3a\u4e00\u4e2a\u5b8c\u6210\u529f\u80fd\u7684Application Performance Management\u7cfb\u7edf\u3002 \u4ed6\u88ab\u7528\u4e8e\u8ffd\u8e2a\u3001\u76d1\u63a7\u548c\u8bca\u65ad\u5206\u5e03\u5f0f\u7cfb\u7edf\uff0c\u7279\u522b\u662f\u4f7f\u7528\u5fae\u670d\u52a1\u67b6\u6784\uff0c\u4e91\u539f\u751f\u6216\u5bb9\u79ef\u6280\u672f\u3002\u63d0\u4f9b\u4ee5\u4e0b\u4e3b\u8981\u529f\u80fd\uff1a \u5206\u5e03\u5f0f\u8ffd\u8e2a\u548c\u4e0a\u4e0b\u6587\u4f20\u8f93 \u5e94\u7528\u3001\u5b9e\u4f8b\u3001\u670d\u52a1\u6027\u80fd\u6307\u6807\u5206\u6790 \u6839\u6e90\u5206\u6790 \u5e94\u7528\u62d3\u6251\u5206\u6790 \u5e94\u7528\u548c\u670d\u52a1\u4f9d\u8d56\u5206\u6790 \u6162\u670d\u52a1\u68c0\u6d4b \u6027\u80fd\u4f18\u5316 \u4e3b\u8981\u7279\u6027 \u591a\u8bed\u8a00\u63a2\u9488\u6216\u7c7b\u5e93 Java\u81ea\u52a8\u63a2\u9488\uff0c\u8ffd\u8e2a\u548c\u76d1\u63a7\u7a0b\u5e8f\u65f6\uff0c\u4e0d\u9700\u8981\u4fee\u6539\u6e90\u7801\u3002 \u793e\u533a\u63d0\u4f9b\u7684\u5176\u4ed6\u591a\u8bed\u8a00\u63a2\u9488 .NET Core Node.js \u591a\u79cd\u540e\u7aef\u5b58\u50a8\uff1a [&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-893","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/893","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=893"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/893\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}