{"id":11258,"date":"2018-05-15T14:28:31","date_gmt":"2018-05-15T12:28:31","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/"},"modified":"2024-09-11T08:51:02","modified_gmt":"2024-09-11T06:51:02","slug":"configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/","title":{"rendered":"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions"},"content":{"rendered":"<p>Configure a Policy-action (new name for watch-notification) to send a JMX notification when the monitored WebLogic Server is having stuck threads or high memory usage. We will use a simple JMX notification listener program which can process WLDF JMX notifications. In this case, it will simply print the contents of the notification.<br \/>\nFor simplicity, we will have only two servers in the domain, AdminServer (admin-server) and Server1 (managed-server). We will configure WLDF on the Server1 to send a JMX notification when the Heap Free of the managed-server Server1 (actually, any server it is targeted to within the domain) is less than 20% or as soon as there is a Stuck thread.<br \/>\nWe will use WebLogic Server Administration Console to configure WLDF. It can also be done with WLST. Console provides a nice feature to Create Repeatable Configuration Scripts, which can be handy for building such scripts. Configuration steps for this case consist of:<br \/>\n1. Create a Diagnostic Module.<br \/>\n2. Enable periodic metrics collection in the Diagnostic module.<br \/>\n3. Create a JMX notification type.<br \/>\n4. Create a policy to detect if the WebLogic Server is having stuck threads<br \/>\n5. Create a policy to detect high memory usage on the WebLogic Server<br \/>\n6. Target the Diagnostic module to the WebLogic Server server1<br \/>\nWe will go over these steps and see how to configure WLDF using Console for this task.<\/p>\n<p><strong>1. Create a Diagnostic Module.<\/strong><\/p>\n<p>a) Log into Console and acquire Edit Lock so we can add new configuration to WebLogic Server.<br \/>\nb) From the left navigation tree, open the Diagnostics node and click on Diagnostic Modules. Console will show a table of existing Diagnostic modules within the domain. Click the New button to create a new diagnostic module. Call it myWLDF. Click OK to create the module. At this point, we have an empty myWLDF diagnostic module.<\/p>\n<p><strong>2. Enable periodic metrics collection in the Diagnostic module.<\/strong><\/p>\n<p>a) Click on the myWLDF module link in the table of Diagnostics modules.<br \/>\nb) Click on Collected Metrics sub-tab under Configuration tab.<br \/>\nc) Check the Enabled checkbox and set the Sampling Period to 10000 (10 seconds). Click Save.<\/p>\n<p><strong>3. Create a JMX notification type.<\/strong><\/p>\n<p>a) Configuring a policy\/actions (Watch and Notifications in earlier versions) has two aspects. The first aspect is a policy (watch rule) which specifies the condition that WLDF will check. The second aspect is the set of actions (notifications) that will be sent when the rule condition is met. Console provides configuration assistants to make the configuration task easier. To create an action type:<br \/>\nb) Click Policies and Actions sub-tab under Configuration tab.<br \/>\nOn the Actions sub-tab, click New in the Actions table.<br \/>\nc) Select &#8220;JMX Notification&#8221; for the notification type from the drop down list and click Next.<br \/>\nd) Give a name to the notification type (myJMX)<br \/>\ne) Keep the Notification Type to its default value<br \/>\nf) Check the Enable Notification checkbox and click OK to create the notification type.<\/p>\n<p><strong>4. Create a policy to detect servers having stuck threads<\/strong><\/p>\n<p>Now, we will create the policy rule based on runtime mbean data. Specifically, we will use the StuckThreadCount attribute on the WorkManagerRuntime mbeans. For each server within the domain, there is a WorkManagerRuntime mbean in the domain runtime mbean server. The StuckThreadCount attribute reflects the current number of stuck thread on the server. We will configure a rule which will fire as soon one server in the targets list is having a stuck thread.<br \/>\na) Click on the Policies sub-tab -&gt; Configuration. Click New in the Policies table.<br \/>\nb) Set Policy Name to WatchServerStuckThread. Select Collected Metrics for Policy Type, check Enabled checkbox and click Next.<br \/>\nc) Set the Policy Expression as below and Click Next:<\/p>\n<p><code>wls.runtime.query('com.bea:Type=WorkManagerRuntime,*','StuckThreadCount').stream().anyMatch( x -&gt; x &gt; 0 )<\/code><\/p>\n<p>Note that the syntax of Policy Expressions has changed from the previous WebLogic Versions. Starting from this version, the policy expression is to be provided in Java Expression Language (EL).<\/p>\n<p>d) Keep The Frequency to \u201cEvery N Seconds\u201d and Click Next<br \/>\ne) Set the Repeat parameter to 5 and click Next<br \/>\nf) In this wizard keep the default and click Next<br \/>\ng) In the diagnostic Actions part, in the available actions, select the myJMX created earlier and move it to the \u201cchosen\u201d actions.<br \/>\nh) Click Finish<\/p>\n<p><strong>5. Create a policy to detect high memory usage on the WebLogic Server<\/strong><\/p>\n<p>Now, we will create the policy rule based on runtime mbean data. Specifically, we will use the heapFreePercent attribute on the JVMRuntime    mbeans. For each server within the domain, there is a JVMRuntime mbean in the domain runtime mbean server. The heapFreePercent attribute reflects the current free heap size on the server. We will configure a rule which will fire as soon one server in the targets list is having less than 20% heap size free.<br \/>\na) Click on the Policies sub-tab -&gt; Configuration. Click New in the Policies table.<br \/>\nb) Set Policy Name to WatchServerHeapFree. Select Collected Metrics for Policy Type, check Enabled checkbox and click Next.<br \/>\nc) Set the Policy Expression as below and Click Next:<\/p>\n<p><code>wls.runtime.serverRuntime.JVMRuntime.heapFreePercent &lt; 20<\/code><\/p>\n<p>d) Keep The Frequency to \u201cEvery N Seconds\u201d and Click Next<br \/>\ne) Set the Repeat parameter to 5 and click Next<br \/>\nf) In this wizard keep the default and click Next<br \/>\ng) In the diagnostic Actions part, in the available actions, select the myJMX created earlier and move it to the \u201cchosen\u201d actions.<br \/>\nh) Click Finish<br \/>\n6. Target the Diagnostic module to the WebLogic Server server1<br \/>\na) Click on the Targets TAB<br \/>\nb) In the list of possible Targets, select the Server1 and click on Save<br \/>\nc) Activate Changes<\/p>\n<p><strong>Receiving Notifications<\/strong><\/p>\n<p>WLDF sends a JMX notification on a specific WLDF runtime mbean, whose ObjectName is of the form:<br \/>\ncom.bea:Name=DiagnosticsJMXNotificationSource,ServerRuntime=$SERVER,Type=WLDFWatchJMXNotificationRuntime,WLDFRuntime=WLDFRuntime,WLDFWatchNotificationRuntime=WatchNotification<br \/>\nwhere $SERVER is the name of the WebLogic Server instance. For our case (Server1), it is:<br \/>\ncom.bea:Name=DiagnosticsJMXNotificationSource,ServerRuntime=Server1,Type=WLDFWatchJMXNotificationRuntime,WLDFRuntime=WLDFRuntime,WLDFWatchNotificationRuntime=WatchNotification<br \/>\nBy registering for JMX notifications on this mbean, a client program can listen to generated notifications.<br \/>\nWe will use the JMXWatchNotificationListener.java provided in the Oracle WLDF documentation (see references). It is a simple notification listener for WLDF JMX notifications. It simply prints the contents of received notification, but can be easily adapted to perform other actions.<\/p>\n<p>A sample Java code of such listener can be downloaded from the Oracle WebLogic Diagnostic Framework documentation (<a title=\"here\" href=\"https:\/\/docs.oracle.com\/middleware\/12213\/wls\/WLDFC\/appendix_wlst_ex.htm#WLDFC371\" target=\"_blank\" rel=\"noopener\">here<\/a>)<\/p>\n<p>To run it for this blog sample run:<\/p>\n<p><code>java JMXWatchNotificationListener vm01 7006 weblogic Welcome1 Server1<\/code><\/p>\n<p>Note: The WebLogic Managed Server named Server1 is listening on port 7006.<\/p>\n<p>Sample WLDF message sent when the WebLogic Server is having Stuck Threads<\/p>\n<p><code>Notification name: myJMXNotif called. Count= 79.<br \/>\nWatch severity: Notice<br \/>\nWatch time: Apr 24, 2018 12:08:35 PM CEST<br \/>\nWatch ServerName: Server1<br \/>\nWatch RuleType: Harvester<br \/>\nWatch Rule: wls.runtime.query('com.bea:Type=WorkManagerRuntime,*','StuckThreadCount').stream().anyMatch( x -&gt; x &gt; 0 )<br \/>\nWatch Name: WatchServerStuckThread<br \/>\nWatch DomainName: wldf_domain<br \/>\nWatch AlarmType: None<br \/>\nWatch AlarmResetPeriod: 60000<\/code><\/p>\n<p>Sample WLDF message sent when the WebLogic Server heap free becomes low (less than 20%)<\/p>\n<p><code>Notification name: myJMXNotif called. Count= 114.<br \/>\nWatch severity: Notice<br \/>\nWatch time: Apr 24, 2018 12:11:45 PM CEST<br \/>\nWatch ServerName: Server1<br \/>\nWatch RuleType: Harvester<br \/>\nWatch Rule: wls.runtime.serverRuntime.JVMRuntime.heapFreePercent &lt; 20<br \/>\nWatch Name: WatchServerLowHeapFreePercent<br \/>\nWatch DomainName: wldf_domain<br \/>\nWatch AlarmType: None<br \/>\nWatch AlarmResetPeriod: 60000<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Configure a Policy-action (new name for watch-notification) to send a JMX notification when the monitored WebLogic Server is having stuck threads or high memory usage. We will use a simple JMX notification listener program which can process WLDF JMX notifications. In this case, it will simply print the contents of the notification. For simplicity, we [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[],"type_dbi":[],"class_list":["post-11258","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions - dbi Blog<\/title>\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.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions\" \/>\n<meta property=\"og:description\" content=\"Configure a Policy-action (new name for watch-notification) to send a JMX notification when the monitored WebLogic Server is having stuck threads or high memory usage. We will use a simple JMX notification listener program which can process WLDF JMX notifications. In this case, it will simply print the contents of the notification. For simplicity, we [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-15T12:28:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-11T06:51:02+00:00\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions\",\"datePublished\":\"2018-05-15T12:28:31+00:00\",\"dateModified\":\"2024-09-11T06:51:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\"},\"wordCount\":1092,\"commentCount\":0,\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\",\"name\":\"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2018-05-15T12:28:31+00:00\",\"dateModified\":\"2024-09-11T06:51:02+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions - dbi Blog","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.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/","og_locale":"en_US","og_type":"article","og_title":"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions","og_description":"Configure a Policy-action (new name for watch-notification) to send a JMX notification when the monitored WebLogic Server is having stuck threads or high memory usage. We will use a simple JMX notification listener program which can process WLDF JMX notifications. In this case, it will simply print the contents of the notification. For simplicity, we [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/","og_site_name":"dbi Blog","article_published_time":"2018-05-15T12:28:31+00:00","article_modified_time":"2024-09-11T06:51:02+00:00","author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions","datePublished":"2018-05-15T12:28:31+00:00","dateModified":"2024-09-11T06:51:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/"},"wordCount":1092,"commentCount":0,"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/","url":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/","name":"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-05-15T12:28:31+00:00","dateModified":"2024-09-11T06:51:02+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/configuring-weblogic-server-12-2-1-3-diagnostics-framework-policies-and-actions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Configuring WebLogic Server 12.2.1.3 Diagnostics Framework policies and actions"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=11258"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11258\/revisions"}],"predecessor-version":[{"id":34714,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11258\/revisions\/34714"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11258"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}