{"id":1358,"date":"2012-11-22T13:34:23","date_gmt":"2012-11-22T11:34:23","guid":{"rendered":"http:\/\/www.cloudcomp.ch\/?p=1358"},"modified":"2014-03-28T16:03:24","modified_gmt":"2014-03-28T14:03:24","slug":"monitoring-and-openstack","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/","title":{"rendered":"Monitoring and OpenStack"},"content":{"rendered":"<p><strong>Motivation for OpenStack monitoring<\/strong><\/p>\n<p>Many people think it maybe an unnecessary burden to set up a monitoring system for their infrastructure. However this, when it comes to an <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> installation should be considered indispensable and required. Knowing which resources are used by which VMs (and tenants) is crucial for cloud computing providers as well for their customers from billing and usage perspectives.<\/p>\n<p>Customers want to be sure they get what they pay for at any time whereas the cloud provider needs the information for his billing and rating system. Furthermore this information can be useful when it comes to dimension and scalability questions.<\/p>\n<p><strong>Requirements for OpenStack monitoring<\/strong><\/p>\n<p>For monitoring an <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> environment there are different requirements:<\/p>\n<ul>\n<li>An <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> monitoring tool must be able to monitor not only physical machines but also virtual machines or network devices.<del datetime=\"2012-11-20T18:41\"> <\/del><\/li>\n<li>The information of the monitored resources must be assignable to its tenant.<\/li>\n<li>The metered values must be collected and correlated automatically<\/li>\n<li>The monitoring tool must be as generic as possible to ensure support of any device.<\/li>\n<li>The monitoring tool must offer an API.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<figure style=\"width: 559px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg\" alt=\"architecture monitoring tool\" width=\"559\" height=\"468\" \/><figcaption class=\"wp-caption-text\">Architecture Monitoring Tool<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p><strong>As-is state<\/strong><\/p>\n<p>There exist a lot of tools for network and server monitoring like <a title=\"nagios\" href=\"http:\/\/nagios.com\" target=\"_blank\">Nagios<\/a>, <a title=\"zabbix\" href=\"http:\/\/www.zabbix.com\/\" target=\"_blank\">Zabbix<\/a> and <a title=\"munin\" href=\"http:\/\/munin-monitoring.org\/\" target=\"_blank\">Munin<\/a>. Most of them do not easily support <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> monitoring.<\/p>\n<p><a title=\"zenoss\" href=\"http:\/\/www.zenoss.com\/\" target=\"_blank\">Zenoss<\/a> is one of the few monitoring tools that supports an integration for <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a>. It is possible to download and install an extension for <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> monitoring (<a title=\"OpenStack ZenPack\" href=\"https:\/\/github.com\/zenoss\/ZenPacks.zenoss.OpenStack\" target=\"_blank\">https:\/\/github.com\/zenoss\/ZenPacks.zenoss.OpenStack<\/a>). Unfortunately the latest version of this extension does only support the <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> API Version 1.1. The Folsom release ships with an OpenStack API version 2.0. The extension allows <a title=\"zenoss\" href=\"http:\/\/www.zenoss.com\/\" target=\"_blank\">Zenoss<\/a> to collect data only from a single tenant.\u00a0That is not good enough because we need some more data to do rating and billing.<\/p>\n<p>Another promising monitoring tool will be included in the upcoming <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> release Grizzly (March 2013) and is known as\u00a0<a title=\"ceilometer\" href=\"https:\/\/launchpad.net\/ceilometer\" target=\"_blank\">Ceilometer<\/a>. \u00a0It will be part of the <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> core. <a title=\"ceilometer\" href=\"https:\/\/launchpad.net\/ceilometer\" target=\"_blank\">Ceilometer<\/a> makes it easy to monitor VMs belonging to a tenant. What <a title=\"ceilometer\" href=\"https:\/\/launchpad.net\/ceilometer\" target=\"_blank\">Ceilometer<\/a> cannot offer at the moment is physical device monitoring.<\/p>\n<p>After an evaluation we decided to extend <a title=\"ceilometer\" href=\"https:\/\/launchpad.net\/ceilometer\" target=\"_blank\">Ceilometer<\/a> to monitor the physical devices as well. With this extension <a title=\"ceilometer\" href=\"https:\/\/launchpad.net\/ceilometer\" target=\"_blank\">Ceilometer<\/a> will be able to monitor the whole <a title=\"openstack\" href=\"http:\/\/www.openstack.org\/\" target=\"_blank\">OpenStack<\/a> environment of the ICCLab and provide the data for further systems like the billing module.<\/p>\n<div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/ceilometer\/\">Ceilometer<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/cloud\/\">cloud<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/computing\/\">computing<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/metering\/\">metering<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/monitoring\/\">monitoring<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/open\/\">open<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/open-source-software\/\">Open Source Software<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/opensource\/\">opensource<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/openstack\/\">openstack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/zenoss\/\">Zenoss<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>Many people think it maybe an unnecessary burden to set up a monitoring system for their infrastructure. However this, when it comes to an OpenStack installation should be considered indispensable and required. Knowing which resources are used by which VMs (and tenants) is crucial for cloud computing providers as well for their customers from billing and usage perspectives.<\/p>\n","protected":false},"author":87,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[5,15,21],"tags":[65,79,92,217,225,234,236,239,240,353],"features":[],"class_list":["post-1358","post","type-post","status-publish","format-standard","hentry","category-articles","category-howtos","category-openstack-2","tag-ceilometer","tag-cloud","tag-computing","tag-metering","tag-monitoring","tag-open","tag-open-source-software","tag-opensource","tag-openstack","tag-zenoss"],"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>Monitoring and OpenStack - Service Engineering (ICCLab &amp; SPLab)<\/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:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monitoring and OpenStack\" \/>\n<meta property=\"og:description\" content=\"Many people think it maybe an unnecessary burden to set up a monitoring system for their infrastructure. However this, when it comes to an OpenStack installation should be considered indispensable and required. Knowing which resources are used by which VMs (and tenants) is crucial for cloud computing providers as well for their customers from billing and usage perspectives.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-22T11:34:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-03-28T14:03:24+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg\" \/>\n<meta name=\"author\" content=\"graflu0\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"graflu0\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\"},\"author\":{\"name\":\"graflu0\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/eea455c1378b7aa37126cc4555e20d74\"},\"headline\":\"Monitoring and OpenStack\",\"datePublished\":\"2012-11-22T11:34:23+00:00\",\"dateModified\":\"2014-03-28T14:03:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\"},\"wordCount\":395,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg\",\"keywords\":[\"Ceilometer\",\"cloud\",\"computing\",\"metering\",\"monitoring\",\"open\",\"Open Source Software\",\"opensource\",\"openstack\",\"Zenoss\"],\"articleSection\":[\"Articles\",\"HowTos\",\"OpenStack\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\",\"name\":\"Monitoring and OpenStack - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg\",\"datePublished\":\"2012-11-22T11:34:23+00:00\",\"dateModified\":\"2014-03-28T14:03:24+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/eea455c1378b7aa37126cc4555e20d74\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg\",\"width\":621,\"height\":520,\"caption\":\"architecture monitoring tool\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitoring and OpenStack\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/\",\"name\":\"Service Engineering (ICCLab &amp; SPLab)\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/eea455c1378b7aa37126cc4555e20d74\",\"name\":\"graflu0\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/5a5c4a890ed0ea8cd0f7e0f012bc4c4ad4ef657dfced4c3d7cef6b6939b91b31?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5a5c4a890ed0ea8cd0f7e0f012bc4c4ad4ef657dfced4c3d7cef6b6939b91b31?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5a5c4a890ed0ea8cd0f7e0f012bc4c4ad4ef657dfced4c3d7cef6b6939b91b31?s=96&d=mm&r=g\",\"caption\":\"graflu0\"},\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/graflu0\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Monitoring and OpenStack - Service Engineering (ICCLab &amp; SPLab)","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:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/","og_locale":"en_US","og_type":"article","og_title":"Monitoring and OpenStack","og_description":"Many people think it maybe an unnecessary burden to set up a monitoring system for their infrastructure. However this, when it comes to an OpenStack installation should be considered indispensable and required. Knowing which resources are used by which VMs (and tenants) is crucial for cloud computing providers as well for their customers from billing and usage perspectives.","og_url":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2012-11-22T11:34:23+00:00","article_modified_time":"2014-03-28T14:03:24+00:00","og_image":[{"url":"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg","type":"","width":"","height":""}],"author":"graflu0","twitter_card":"summary_large_image","twitter_misc":{"Written by":"graflu0","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/"},"author":{"name":"graflu0","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/eea455c1378b7aa37126cc4555e20d74"},"headline":"Monitoring and OpenStack","datePublished":"2012-11-22T11:34:23+00:00","dateModified":"2014-03-28T14:03:24+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/"},"wordCount":395,"commentCount":1,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg","keywords":["Ceilometer","cloud","computing","metering","monitoring","open","Open Source Software","opensource","openstack","Zenoss"],"articleSection":["Articles","HowTos","OpenStack"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/","url":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/","name":"Monitoring and OpenStack - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg","datePublished":"2012-11-22T11:34:23+00:00","dateModified":"2014-03-28T14:03:24+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/eea455c1378b7aa37126cc4555e20d74"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2012\/11\/architecture_monitoring_tool.jpg","width":621,"height":520,"caption":"architecture monitoring tool"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/monitoring-and-openstack\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"Monitoring and OpenStack"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/icclab\/#website","url":"https:\/\/blog.zhaw.ch\/icclab\/","name":"Service Engineering (ICCLab &amp; SPLab)","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/eea455c1378b7aa37126cc4555e20d74","name":"graflu0","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5a5c4a890ed0ea8cd0f7e0f012bc4c4ad4ef657dfced4c3d7cef6b6939b91b31?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5a5c4a890ed0ea8cd0f7e0f012bc4c4ad4ef657dfced4c3d7cef6b6939b91b31?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5a5c4a890ed0ea8cd0f7e0f012bc4c4ad4ef657dfced4c3d7cef6b6939b91b31?s=96&d=mm&r=g","caption":"graflu0"},"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/graflu0\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/1358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=1358"}],"version-history":[{"count":1,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/1358\/revisions"}],"predecessor-version":[{"id":4312,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/1358\/revisions\/4312"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=1358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=1358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=1358"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=1358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}