{"id":10308,"date":"2016-07-13T11:38:53","date_gmt":"2016-07-13T09:38:53","guid":{"rendered":"https:\/\/blog.zhaw.ch\/icclab\/?p=10308"},"modified":"2016-07-13T13:45:25","modified_gmt":"2016-07-13T11:45:25","slug":"cyclops-2-0-supports-ceilometer-data-collection","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/","title":{"rendered":"Cyclops 2.0 supports Ceilometer Data Collection!"},"content":{"rendered":"<p>As announced in our last blogpost about the official release of\u00a0<a href=\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\">Cyclops 2.0<\/a>,\u00a0which\u00a0is finally out and is adding new features.<\/p>\n<p>The collector that is being released today is the Ceilometer Usage Collector. This collector enables Cyclops 2.0 to provide full rating, charging and billing support to an\u00a0OpenStack deployment using the data provided by Ceilometer.<\/p>\n<p>In addition to the announced features, our\u00a0team has pushed forward in the development of the new Usage Collectors. The Usage Collectors are the entry point of data for the Framework itself. They consist of isolated microservices that gather data from a specific provider and distributes it via <a href=\"https:\/\/www.rabbitmq.com\/\">RabbitMQ<\/a>\u00a0to the UDR microservice.<\/p>\n<p><a href=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10316 size-medium\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png\" alt=\"Screen Shot 2016-07-11 at 16\" width=\"300\" height=\"193\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-467x300.png 467w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16.png 670w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><!--more--><\/p>\n<p><a href=\"https:\/\/github.com\/icclab\/cyclops\/tree\/master\/collectors\/openstack-ceilometer\">The Ceilometer Usage\u00a0collector<\/a>\u00a0is in contact with the Ceilometer Service from the OpenStack deployment, and periodically asks for Usage Data. These requests are authenticated via <a href=\"http:\/\/docs.openstack.org\/developer\/keystone\/\">Keystone<\/a>\u00a0credentials that have to be provided in a configuration file. The used credentials must have the rights to use the ceilometer, which in our case were in the &#8220;admin&#8221; tenant.<a href=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-16.19.08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-10318 aligncenter\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-16.19.08.png\" alt=\"Screen Shot 2016-07-12 at 16.19.08\" width=\"584\" height=\"172\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-16.19.08.png 982w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-16.19.08-300x89.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-16.19.08-768x227.png 768w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-16.19.08-500x148.png 500w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Every time the collector gets information from the\u00a0<a href=\"http:\/\/docs.openstack.org\/developer\/ceilometer\/\">Ceilometer<\/a>, it sends it to the RabbitMQ queue where <a href=\"https:\/\/github.com\/icclab\/cyclops\/tree\/master\/core\/udr\">UDR microservice<\/a>\u00a0is subscribed. This data will be first stored into\u00a0InfluxDB until the UDR Generation Command is sent to the UDR.<\/p>\n<p>Once the UDR command is received, the microservice will compute the usage that every meter supposes\u00a0and will store it as a unified UDR which the rest of microservices in Cyclops will use. There are three\u00a0different\u00a0kind of meters in Ceilometer:<\/p>\n<ul>\n<li>Cumulative meters represent the accumulated resource consumption of a resource.<\/li>\n<li>Gauge meters are representing the value of a meter at a certain point of time.<\/li>\n<li>Delta meters represent the difference between the last measurement and the current one.<\/li>\n<\/ul>\n<figure id=\"attachment_10317\" aria-describedby=\"caption-attachment-10317\" style=\"width: 584px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-15.53.26.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10317 size-large\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-15.53.26-1024x252.png\" alt=\"Cumulative Meter\" width=\"584\" height=\"144\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-15.53.26-1024x252.png 1024w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-15.53.26-300x74.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-15.53.26-768x189.png 768w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-12-at-15.53.26-500x123.png 500w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><figcaption id=\"caption-attachment-10317\" class=\"wp-caption-text\">Example of cumulative meter usage stored into the database.<\/figcaption><\/figure>\n<p>New code features and a\u00a0video of the full workflow will be released\u00a0soon.<\/p>\n<p>Stay\u00a0tuned!<\/p>\n<p>Follow us <a href=\"https:\/\/twitter.com\/rcb_cyclops\">@rcb_cyclops<\/a> to get the latest news from the Cyclops Team or write to us at icclab-rcb-cyclops[at]dornbirn.zhaw.ch if you have questions.<\/p>\n<div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/billing-2\/\">billing<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/ceilometer\/\">Ceilometer<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/charging-2\/\">charging<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/openstack\/\">openstack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/rating-2\/\">rating<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>As announced in our last blogpost about the official release of\u00a0Cyclops 2.0,\u00a0which\u00a0is finally out and is adding new features. The collector that is being released today is the Ceilometer Usage Collector. This collector enables Cyclops 2.0 to provide full rating, charging and billing support to an\u00a0OpenStack deployment using the data provided by Ceilometer. In addition [&hellip;]<\/p>\n","protected":false},"author":210,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1,8,21],"tags":[56,65,75,240,277],"features":[],"class_list":["post-10308","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-charging","category-openstack-2","tag-billing-2","tag-ceilometer","tag-charging-2","tag-openstack","tag-rating-2"],"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>Cyclops 2.0 supports Ceilometer Data Collection! - 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\/cyclops-2-0-supports-ceilometer-data-collection\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cyclops 2.0 supports Ceilometer Data Collection!\" \/>\n<meta property=\"og:description\" content=\"As announced in our last blogpost about the official release of\u00a0Cyclops 2.0,\u00a0which\u00a0is finally out and is adding new features. The collector that is being released today is the Ceilometer Usage Collector. This collector enables Cyclops 2.0 to provide full rating, charging and billing support to an\u00a0OpenStack deployment using the data provided by Ceilometer. In addition [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2016-07-13T09:38:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-07-13T11:45:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png\" \/>\n<meta name=\"author\" content=\"perz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"perz\" \/>\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\/cyclops-2-0-supports-ceilometer-data-collection\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/\"},\"author\":{\"name\":\"perz\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6\"},\"headline\":\"Cyclops 2.0 supports Ceilometer Data Collection!\",\"datePublished\":\"2016-07-13T09:38:53+00:00\",\"dateModified\":\"2016-07-13T11:45:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/\"},\"wordCount\":348,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png\",\"keywords\":[\"billing\",\"Ceilometer\",\"charging\",\"openstack\",\"rating\"],\"articleSection\":[\"*.*\",\"Charging\",\"OpenStack\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/\",\"name\":\"Cyclops 2.0 supports Ceilometer Data Collection! - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png\",\"datePublished\":\"2016-07-13T09:38:53+00:00\",\"dateModified\":\"2016-07-13T11:45:25+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16.png\",\"width\":670,\"height\":430},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cyclops 2.0 supports Ceilometer Data Collection!\"}]},{\"@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\/701968ffab9472ccfd37487101a6f5c6\",\"name\":\"perz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g\",\"caption\":\"perz\"},\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/perz\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cyclops 2.0 supports Ceilometer Data Collection! - 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\/cyclops-2-0-supports-ceilometer-data-collection\/","og_locale":"en_US","og_type":"article","og_title":"Cyclops 2.0 supports Ceilometer Data Collection!","og_description":"As announced in our last blogpost about the official release of\u00a0Cyclops 2.0,\u00a0which\u00a0is finally out and is adding new features. The collector that is being released today is the Ceilometer Usage Collector. This collector enables Cyclops 2.0 to provide full rating, charging and billing support to an\u00a0OpenStack deployment using the data provided by Ceilometer. In addition [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2016-07-13T09:38:53+00:00","article_modified_time":"2016-07-13T11:45:25+00:00","og_image":[{"url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png","type":"","width":"","height":""}],"author":"perz","twitter_card":"summary_large_image","twitter_misc":{"Written by":"perz","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/"},"author":{"name":"perz","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6"},"headline":"Cyclops 2.0 supports Ceilometer Data Collection!","datePublished":"2016-07-13T09:38:53+00:00","dateModified":"2016-07-13T11:45:25+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/"},"wordCount":348,"commentCount":0,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png","keywords":["billing","Ceilometer","charging","openstack","rating"],"articleSection":["*.*","Charging","OpenStack"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/","url":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/","name":"Cyclops 2.0 supports Ceilometer Data Collection! - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16-300x193.png","datePublished":"2016-07-13T09:38:53+00:00","dateModified":"2016-07-13T11:45:25+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/701968ffab9472ccfd37487101a6f5c6"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16.png","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/07\/Screen-Shot-2016-07-11-at-16.png","width":670,"height":430},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-supports-ceilometer-data-collection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"Cyclops 2.0 supports Ceilometer Data Collection!"}]},{"@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\/701968ffab9472ccfd37487101a6f5c6","name":"perz","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/24485438264fa02d76545242399ac2a519feea74d1becceb1d72abf4d03d9f91?s=96&d=mm&r=g","caption":"perz"},"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/perz\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10308","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\/210"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=10308"}],"version-history":[{"count":13,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10308\/revisions"}],"predecessor-version":[{"id":10332,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10308\/revisions\/10332"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=10308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=10308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=10308"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=10308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}