{"id":30144,"date":"2022-05-30T08:42:21","date_gmt":"2022-05-30T08:42:21","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=30144"},"modified":"2022-12-23T05:52:51","modified_gmt":"2022-12-23T05:52:51","slug":"appdynamics-tutorial-machine-agent-installation-and-configuration","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/appdynamics-tutorial-machine-agent-installation-and-configuration\/","title":{"rendered":"AppDynamics Tutorial &#8211; Machine Agent Installation and Configuration"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Machine Agent Installation in Linux<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 &#8211; Understand Machine Agent Requirements and Supported Environments<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>JRE 1.8 is required.<\/li><li>Machine Agent installations with a bundled JRE include:<ul><li>AARCH64, Linux, Solaris (Solaris_sparcv9), Solaris (Solaris_X64), Windows: JRE 11.0.15 (Zulu 11.56)<\/li><li>AIX: Machine Agent without JRE (Use the JRE 1.8 specific to AIX)<\/li><\/ul><\/li><li>Machine Agent installations without a bundled JRE should use:<ul><li>Linux: JRE 11<\/li><li>Other operating systems: JRE 8<\/li><\/ul><\/li><li>The Machine Agent starts within its own&nbsp;JVM.<\/li><li>You can use an existing JRE previously installed in your environment.<\/li><\/ul>\n\n\n\n<p><strong>JRE 11.0.15<\/strong><br>AARCH64, Linux, Solaris (Solaris_sparcv9), Solaris (Solaris_X64), Windows: JRE 11.0.15 (Zulu 11.56)<\/p>\n\n\n\n<p><strong>JRE 1.8<\/strong><br>AIX: Machine Agent without JRE (Use the JRE 1.8 specific to AIX)<\/p>\n\n\n\n<p><strong>Required Libraries<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"347\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-27-1024x347.png\" alt=\"\" class=\"wp-image-30145\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-27-1024x347.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-27-300x102.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-27-768x260.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-27.png 1092w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>JVM Memory Requirements<\/strong><\/p>\n\n\n\n<p>To accommodate the Machine Agent, AppDynamics recommends these additional heap and PermGen space sizes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>Maximum heap size (-Xmx):&nbsp;256 MB<\/code><\/li><li><code>Maximum PermGen heap size (-XX:MaxPermSize): 20 MB<\/code><\/li><\/ul>\n\n\n\n<p>These are example settings to increase the initial heap size:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Linux and Unix systems:&nbsp;<code>&lt;machine_agent_home&gt;\/bin\/machine-agent -Xms64m<\/code><\/li><li>Windows:&nbsp;&nbsp;<code>cscript &lt;machine_agent_home&gt;\\machine-agent.vbs -Xms64m<\/code><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 &#8211; Download Installer Linux Install Using ZIP with Bundled JRE<\/h2>\n\n\n\n<p>Options &#8211; Linux Install Using ZIP with Bundled JRE<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ mkdir \/opt\/machine-agent\n$ cd \/opt\/\n$ yum install wget unzip -y\n$ wget https:<span class=\"hljs-comment\">\/\/download-files.appdynamics.com\/download-file\/machine-bundle\/22.5.0.3361\/machineagent-bundle-64bit-linux-22.5.0.3361.zip<\/span>\n$ unzip machineagent-bundle<span class=\"hljs-number\">-64<\/span>bit-linux<span class=\"hljs-number\">-22.5<\/span><span class=\"hljs-number\">.0<\/span><span class=\"hljs-number\">.3361<\/span>.zip -d machine-agent<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 3 &#8211; Configure controller-info.xml<\/h2>\n\n\n\n<p>$ vi \/opt\/machine-agent\/conf\/controller-info.xml<\/p>\n\n\n\n<p><strong>Required Options<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-host<\/span>&gt;<\/span>xxxxxxxxxxxx.saas.appdynamics.com<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-host<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-port<\/span>&gt;<\/span>443<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-port<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-ssl-enabled<\/span>&gt;<\/span>true<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-ssl-enabled<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">account-access-key<\/span>&gt;<\/span>xg1xnx0lr5qr<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">account-access-key<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Optional<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">Optional\n\n=============================\nReview memory requirements\n=============================\n- Linux and Unix systems: <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">machine_agent_home<\/span>&gt;<\/span>\/bin\/machine-agent -Xms64m\n- Windows:  cscript <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">machine_agent_home<\/span>&gt;<\/span>\\machine-agent.vbs -Xms64m\n\n=============================\nConfigure the agent to use SSL\n\n=============================\n<span class=\"hljs-meta\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-info<\/span>&gt;<\/span>\n\t<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-host<\/span>&gt;<\/span>mycompany.saas.appdynamics.com<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-host<\/span>&gt;<\/span>\n\t<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-port<\/span>&gt;<\/span>443<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-port<\/span>&gt;<\/span>\n\t<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-ssl-enabled<\/span>&gt;<\/span>true<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-ssl-enabled<\/span>&gt;<\/span>\n    <span class=\"hljs-comment\">&lt;!-- Encrypted Controller keystore \/ agent trust store password --&gt;<\/span>\n\t<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-keystore-password<\/span>&gt;<\/span>Tw49bd0hdCMBoQ5pfMMuYA\/cA5B4pouVPkv48ovRm6c=<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-keystore-password<\/span>&gt;<\/span>\n\t<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">controller-keystore-filename<\/span>&gt;<\/span>..\/..\/conf\/cacerts.jks<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-keystore-filename<\/span>&gt;<\/span>\n\t...\n    <span class=\"hljs-comment\">&lt;!-- Secure Credential Store configuration --&gt;<\/span>\n    <span class=\"hljs-comment\">&lt;!-- Enable the Secure Credential Store --&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">use-encrypted-credentials<\/span>&gt;<\/span>true<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">use-encrypted-credentials<\/span>&gt;<\/span>\n    <span class=\"hljs-comment\">&lt;!-- Path to they secure credential keystore --&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">credential-store-filename<\/span>&gt;<\/span>\/opt\/appdynamics\/secretKeyStore<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">credential-store-filename<\/span>&gt;<\/span>\n    <span class=\"hljs-comment\">&lt;!-- Obfuscated secure credential keystore password --&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">credential-store-password<\/span>&gt;<\/span>n\/8GvAZsKk4gM3Z6g+XQ1w==<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">credential-store-password<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">controller-info<\/span>&gt;<\/span>\n\n\n=============================\nConfigure the agent to use proxy settings\n\n=============================\nElement in controller-info.xml: N\/A\nEnvironment Variable: N\/A\n\nSystem Property: \n-Dappdynamics.http.proxyHost\n-Dappdynamics.http.proxyPasswordFile\n-Dappdynamics.http.proxyPort\n-Dappdynamics.http.proxyUser\n\nExample: -Dappdynamics.http.proxyPasswordFile=\/path\/to\/file-with-password\n\n=============================\nConfigure the Agent Account Information\n=============================\nDetermine if you need to specify an application name and tier name.If you are installing the Machine Agent on the same server with any APM app agent, do not specify application name and tier name. \n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">node-name<\/span>&gt;<\/span>agent1<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">node-name<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">application-name<\/span>&gt;<\/span>devopsschool<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">application-name<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">tier-name<\/span>&gt;<\/span>web<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">tier-name<\/span>&gt;<\/span>\n\nhttps:&#47;&#47;docs.appdynamics.com\/display\/PRO43\/Standalone+Machine+Agent+Configuration+Property+Reference<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Example Configuration &#8211; Machine Agent controller-info.xml File<\/h2>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/f93ec955976d4ec7fddc5c629a36ad0f.js\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4 \u2013 Start Machine Agent<\/h2>\n\n\n\n<p>Start the&nbsp;Machine Agent by entering:&nbsp;<code><em>&lt;machine_agent_home&gt;<\/em>\/bin\/machine-agent<\/code>. For example, from&nbsp;the &lt;machine_agent_home&gt; directory:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">.\/bin\/machine-agent\n\n<\/code><\/span><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"378\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-29-1024x378.png\" alt=\"\" class=\"wp-image-30161\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-29-1024x378.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-29-300x111.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-29-768x284.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-29.png 1342w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5 &#8211; Understand Machine Agent Help options<\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">To<\/span> <span class=\"hljs-selector-tag\">review<\/span> <span class=\"hljs-selector-tag\">Machine<\/span> <span class=\"hljs-selector-tag\">Agent<\/span> <span class=\"hljs-selector-tag\">usage<\/span>, <span class=\"hljs-selector-tag\">enter<\/span>: <span class=\"hljs-selector-tag\">machine-agent<\/span> <span class=\"hljs-selector-tag\">-h<\/span>\n\n<span class=\"hljs-selector-tag\">Usage<\/span>: <span class=\"hljs-selector-tag\">machine-agent<\/span> <span class=\"hljs-selector-attr\">&#91;-dh]<\/span> <span class=\"hljs-selector-attr\">&#91;-j JAVA_HOME]<\/span> <span class=\"hljs-selector-attr\">&#91;-p pidfile]<\/span> <span class=\"hljs-selector-attr\">&#91;-D prop]<\/span> <span class=\"hljs-selector-attr\">&#91;-X prop]<\/span>\n<span class=\"hljs-selector-tag\">Start<\/span> <span class=\"hljs-selector-tag\">the<\/span> <span class=\"hljs-selector-tag\">machine<\/span> <span class=\"hljs-selector-tag\">agent<\/span>.\n    <span class=\"hljs-selector-tag\">-d<\/span>            <span class=\"hljs-selector-tag\">daemonize<\/span> (<span class=\"hljs-selector-tag\">run<\/span> <span class=\"hljs-selector-tag\">in<\/span> <span class=\"hljs-selector-tag\">background<\/span>)\n    <span class=\"hljs-selector-tag\">-p<\/span> <span class=\"hljs-selector-tag\">pidfile<\/span>    <span class=\"hljs-selector-tag\">write<\/span> <span class=\"hljs-selector-tag\">PID<\/span> <span class=\"hljs-selector-tag\">to<\/span> &lt;<span class=\"hljs-selector-tag\">pidfile<\/span>&gt;\n    <span class=\"hljs-selector-tag\">-h<\/span>\n    <span class=\"hljs-selector-tag\">--help<\/span>        <span class=\"hljs-selector-tag\">print<\/span> <span class=\"hljs-selector-tag\">command<\/span> <span class=\"hljs-selector-tag\">line<\/span> <span class=\"hljs-selector-tag\">options<\/span>\n    <span class=\"hljs-selector-tag\">-D<\/span> <span class=\"hljs-selector-tag\">prop<\/span>       <span class=\"hljs-selector-tag\">set<\/span> <span class=\"hljs-selector-tag\">JAVA<\/span> <span class=\"hljs-selector-tag\">system<\/span> <span class=\"hljs-selector-tag\">property<\/span>\n    <span class=\"hljs-selector-tag\">-X<\/span> <span class=\"hljs-selector-tag\">prop<\/span>       <span class=\"hljs-selector-tag\">set<\/span> <span class=\"hljs-selector-tag\">non-standard<\/span> <span class=\"hljs-selector-tag\">JAVA<\/span> <span class=\"hljs-selector-tag\">system<\/span> <span class=\"hljs-selector-tag\">property<\/span>\n\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Step 6 &#8211; Check Agent Logs<\/h2>\n\n\n\n<p>After a successful install, the agent&nbsp;log at&nbsp;<code>&lt;machine_agent_home&gt;\/logs<\/code>, should contain the following message:<br><\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Started AppDynamics Machine Agent Successfully<\/code><\/span><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"228\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-30-1024x228.png\" alt=\"\" class=\"wp-image-30162\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-30-1024x228.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-30-300x67.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-30-768x171.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-30-1536x342.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-30.png 1554w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>If the agent log file is not present, the Machine Agent may not be accessing the command properties. To troubleshoot, check the application server log file where STDOUT is logged. It has the fallback log messages, which are useful for troubleshooting the agent.<\/p>\n\n\n\n<p><strong>Verify that the Agent is Reporting to the Controller<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>From the Controller Top Navigation Bar, select\u00a0<strong>Settings >\u00a0AppDynamics Agents<\/strong>.<\/li><li>Click the\u00a0Machine Agents\u00a0tab.\u00a0<br>The listing for the Machine Agent displays.\u00a0If you do not see the Machine Agent listed, check your property settings in\u00a0<code>&lt;machine_agent_home>\/conf\/controller-info.xml<\/code>.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"413\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-28-1024x413.png\" alt=\"\" class=\"wp-image-30158\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-28-1024x413.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-28-300x121.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-28-768x310.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-28-1536x620.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/05\/image-28.png 1890w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Machine Agent Installation in Linux Step 1 &#8211; Understand Machine Agent Requirements and Supported Environments JRE 1.8 is required. Machine Agent installations with a bundled JRE include: AARCH64, Linux, Solaris (Solaris_sparcv9), Solaris (Solaris_X64), Windows: JRE 11.0.15 (Zulu 11.56) AIX: Machine Agent without JRE (Use the JRE 1.8 specific to AIX) Machine Agent installations without a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-30144","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/30144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=30144"}],"version-history":[{"count":12,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/30144\/revisions"}],"predecessor-version":[{"id":30163,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/30144\/revisions\/30163"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=30144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=30144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=30144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}