{"id":91726,"date":"2020-08-17T19:42:14","date_gmt":"2020-08-17T17:42:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/inventarizacziya-raid-massivov-lsi-v-glpi"},"modified":"2020-08-17T19:42:14","modified_gmt":"2020-08-17T17:42:14","slug":"inventarizacziya-raid-massivov-lsi-v-glpi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/inventarizacziya-raid-massivov-lsi-v-glpi","title":{"rendered":"Invent\u00e1rio de arrays RAID LSI no GLPI","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/515154\/\"><img decoding=\"async\" alt=\"Invent\u00e1rio de arrays RAID LSI no GLPI\" src=\"\/wp-content\/uploads\/2020\/08\/3926fbb818865d1d1aa48fe97b1af2bc.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\nEm meu trabalho, frequentemente sou acometido por uma obsess\u00e3o em rela\u00e7\u00e3o \u00e0 falta de informa\u00e7\u00f5es sobre a infraestrutura, e conforme o n\u00famero de servidores gerenciados aumenta, isso se torna uma verdadeira tortura. Mesmo quando administrei em pequenas organiza\u00e7\u00f5es, sempre quis saber onde cada coisa estava, onde estava conectado, quem era respons\u00e1vel por cada equipamento ou servi\u00e7o e, o mais importante, registrar as mudan\u00e7as em tudo isso. Quando se chega a um novo lugar e se enfrenta algum incidente, muito tempo \u00e9 desperdi\u00e7ado na busca por essas informa\u00e7\u00f5es. A seguir, contarei sobre os desafios que enfrentei na RuVDS e como resolvi o problema mencionado no t\u00edtulo. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Antecedentes<\/h2>\n<p>\nComo administrador de enterprise, tive pouca experi\u00eancia em data centers, mas vi RackTables de relance. Nele, a estrutura era apresentada de forma clara, com todos os servidores, UPS, switches e todas as conex\u00f5es entre eles. Na RuVDS, n\u00e3o havia um sistema parecido, apenas arquivos em Excel\/papel com informa\u00e7\u00f5es sobre os servidores, alguns de seus componentes, n\u00fameros de racks, etc. Com essa abordagem, \u00e9 muito dif\u00edcil acompanhar mudan\u00e7as e detalhes sobre componentes menores. E o que mais frequentemente muda nos servidores s\u00e3o os discos. \u00c9 crucial manter informa\u00e7\u00f5es atualizadas sobre o estado dos discos e seu estoque estrat\u00e9gico. Se um disco falhar no array RAID e n\u00e3o houver uma troca r\u00e1pida, isso pode resultar em consequ\u00eancias fatais. Portanto, precisamos urgentemente de um sistema que monitore a localiza\u00e7\u00e3o dos discos e seu estado, para entender nossas necessidades e quais modelos devem ser adquiridos.<\/p>\n<p>Veio em nosso aux\u00edlio o GLPI, um produto de c\u00f3digo aberto, criado para melhorar o trabalho dos departamentos de TI e lev\u00e1-los ao ideal do ITIL. Ele possui, al\u00e9m do invent\u00e1rio de equipamentos e gerenciamento de racks, uma base de conhecimento, help desk, gerenciamento de documentos e muito mais. O GLPI conta com diversos plugins, incluindo o FusionInventory e o OCS Inventory, que permitem coletar automaticamente informa\u00e7\u00f5es sobre computadores e outros dispositivos por meio da instala\u00e7\u00e3o de agentes e SNMP. Para mais detalhes sobre a instala\u00e7\u00e3o do GLPI e dos plugins, voc\u00ea pode ler em outros artigos, o ideal \u00e9 que <noindex><a rel=\"nofollow\" href=\"https:\/\/glpi-install.readthedocs.io\/en\/latest\">documenta\u00e7\u00e3o oficial<\/a><\/noindex>. Voc\u00ea pode instal\u00e1-lo em nosso servi\u00e7o de hospedagem usando um template j\u00e1 pronto <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/marketplace\/lamp#order\">LAMP<\/a><\/noindex>.<\/p>\n<p>No entanto, ap\u00f3s a implanta\u00e7\u00e3o do agente, abriremos os componentes do computador no GLPI e veremos isto:<\/p>\n<p><img decoding=\"async\" alt=\"Invent\u00e1rio de arrays RAID LSI no GLPI\" src=\"\/wp-content\/uploads\/2020\/08\/4acc211c12487f961e198edfcdca8b6f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nO problema \u00e9 que nenhum dos plugins consegue ver as informa\u00e7\u00f5es sobre os discos f\u00edsicos em arrays RAID LSI. Vendo como essa quest\u00e3o foi resolvida para monitoramento no Zabbix usando um script em PowerShell. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/datazon\/zabbix-lsi-raid\/blob\/master\/lsi-raid.ps1\">lsi-raid.ps1<\/a><\/noindex> Decidi escrever um semelhante para transmitir informa\u00e7\u00f5es ao GLPI.<br \/>\nOs dados dos discos no array podem ser obtidos com utilit\u00e1rios do fabricante do controlador, no caso da LSI, \u00e9 o StorCLI. Com ele, \u00e9 poss\u00edvel obter dados em formato JSON, analis\u00e1-los e envi\u00e1-los para a API do GLPI. Vamos vincular os discos aos computadores que j\u00e1 foram criados pelo FusionInventory. Ao executar o script novamente, ele atualizar\u00e1 os dados dos discos e adicionar\u00e1 novos. O pr\u00f3prio script Send-RAIDtoGLPI.ps1 est\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ChaoticNeural\/Send-RAIDtoGLPI\">aqui no GitHub<\/a><\/noindex>. A seguir, irei explicar como utiliz\u00e1-lo.<\/p>\n<h2>O que ser\u00e1 necess\u00e1rio<\/h2>\n<p><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/glpi-project.org\/ru\/download-ru\">GLPI<\/a><\/noindex> vers\u00e3o 9.5.1 (esta foi a testada)<\/li>\n<li>Plugin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fusioninventory\/fusioninventory-for-glpi\/releases\">FusionInventory<\/a><\/noindex> e agente para Windows<\/li>\n<li>Windows 2012 R2 (ou superior) como o sistema host, ou uma VM de gerenciamento com o controlador conectado a ela, PowerShell vers\u00e3o 4 ou superior<\/li>\n<li>Driver MegaRAID instalado<\/li>\n<li>M\u00f3dulo para PowerShell \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/J-C-P\/PSGLPI\">PSGLPI <\/a><\/noindex><\/li>\n<li>Conta no GLPI com perfil de Admin para autoriza\u00e7\u00e3o via API, com UserToken e AppToken gerados<\/li>\n<\/ol>\n<p>\nUm ponto importante. No GLPI, h\u00e1 duas entidades diferentes para o modelo de disco, mas n\u00e3o existe a propriedade \"tipo de m\u00eddia\". Portanto, para gravar a propriedade HDD e SSD, decidi usar a lista suspensa \"Modelos de Discos R\u00edgidos\" (front\/devicemodel.php?itemtype=DeviceHardDriveModel). Para o script, \u00e9 necess\u00e1rio que esses valores estejam no banco de dados GLPI, caso contr\u00e1rio, ele n\u00e3o conseguir\u00e1 gravar os dados do modelo do disco. Portanto, \u00e9 preciso adicionar a lista vazia inicialmente com HDD, depois SSD, para que os IDs desses elementos no banco sejam 1 e 2. Se houver outros, substitua nesta linha do script Send-RAIDtoGLPI.ps1 ap\u00f3s HDD e SSD, os IDs correspondentes a 1 e 2: <\/p>\n<pre><code class=\"powershell\">deviceharddrivemodels_id = switch ($MediaType) { \"HDD\" { \"1\" }; \"SSD\" { \"2\" }; default { \"\" } }<\/code><\/pre>\n<p>\nSe voc\u00ea n\u00e3o quiser se preocupar com isso ou se estiver usando essa lista suspensa de forma diferente, pode simplesmente remover esta linha do script. <\/p>\n<p>Al\u00e9m disso, \u00e9 necess\u00e1rio adicionar status para os discos em \"Status dos Itens\" (front\/state.php). Eu adicionei os status \"MediaError\" (houve pelo menos um erro de acesso ao disco) e \"OK\", a linha no script onde seus IDs s\u00e3o transmitidos, \"2\" para \"OK\" e \"1\" para \"MediaError\":<\/p>\n<pre><code class=\"powershell\">states_id = switch ($MediaError) { 0 { \"2\" }; { $_ -gt 0 } { \"1\" } }<\/code><\/pre>\n<p>\nEsses status s\u00e3o necess\u00e1rios para conveni\u00eancia, se voc\u00ea n\u00e3o precisar dessas propriedades, pode tamb\u00e9m remover esta linha inteira.<\/p>\n<p>No script, n\u00e3o se esque\u00e7a de especificar as vari\u00e1veis necess\u00e1rias. $GlpiCreds deve conter a URL do servidor API GLPI, UserToken e AppToken.<\/p>\n<h2>O que est\u00e1 no script<\/h2>\n<p>\nDevido \u00e0 complexidade da an\u00e1lise JSON e \u00e0 quantidade de instru\u00e7\u00f5es if, o script \u00e9 dif\u00edcil de ler, portanto, descreverei sua l\u00f3gica aqui.<\/p>\n<p>Na primeira execu\u00e7\u00e3o no host, o script verifica todos os controladores e procura discos na base GLPI pelos n\u00fameros de s\u00e9rie; se n\u00e3o encontrar, procura pelo modelo. Se n\u00e3o encontrar nem o modelo, adiciona o modelo do novo disco no GLPI e registra esse disco na base.<\/p>\n<p>A cada nova execu\u00e7\u00e3o, o script tentar\u00e1 detectar novos discos, mas n\u00e3o conseguir\u00e1 remover os ausentes, portanto, ser\u00e1 necess\u00e1rio faz\u00ea-lo manualmente.<\/p>\n<h2>Exemplo de implanta\u00e7\u00e3o<\/h2>\n<p>\nNo reposit\u00f3rio do script, h\u00e1 um script Deploy-Send-RAIDtoGLPI.ps1, que baixar\u00e1 um arquivo ZIP com os arquivos necess\u00e1rios do nosso servidor GLPI e os implantar\u00e1 em cada host.<\/p>\n<p>Ap\u00f3s a c\u00f3pia dos arquivos, o script instalar\u00e1 o agente FusionInventory, agendando sua execu\u00e7\u00e3o como uma tarefa di\u00e1ria, e criar\u00e1 uma tarefa similar para o nosso script. Ap\u00f3s a implementa\u00e7\u00e3o bem-sucedida, finalmente poderemos ver os discos na se\u00e7\u00e3o 'Componentes' do computador no GLPI.<\/p>\n<h2>Resultado<\/h2>\n<p>\nAgora, ao acessar o GLPI no menu 'Configura\u00e7\u00f5es' -&gt; 'Componentes' -&gt; 'Discos r\u00edgidos', podemos clicar nos modelos de discos e ver suas quantidades para entender o que precisamos comprar.<\/p>\n<p><img decoding=\"async\" alt=\"Invent\u00e1rio de arrays RAID LSI no GLPI\" src=\"\/wp-content\/uploads\/2020\/08\/a51546ba78716f8174a6fbf29632c77d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=gen&amp;utm_content=raidlsiglpi#order\"><img decoding=\"async\" alt=\"Invent\u00e1rio de arrays RAID LSI no GLPI\" src=\"\/wp-content\/uploads\/2020\/08\/352649653a9adc6b179b6c752948077b.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/515154\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u044f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u044b\u0442\u044b\u0432\u0430\u044e \u043e\u0431\u0441\u0435\u0441\u0441\u0438\u0438 \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0430 \u043f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043f\u0430\u0440\u043a\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u044d\u0442\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u043f\u044b\u0442\u043a\u0443. \u0414\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u044f \u0430\u0434\u043c\u0438\u043d\u0438\u043b \u0432 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0445, \u043c\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u0433\u0434\u0435 \u0441\u0442\u043e\u0438\u0442, \u043a\u0443\u0434\u0430 \u0432\u043e\u0442\u043a\u043d\u0443\u0442\u043e, \u043a\u0442\u043e \u0438\u0437 \u043b\u044e\u0434\u0435\u0439 \u0437\u0430 \u043a\u0430\u043a\u0443\u044e \u0436\u0435\u043b\u0435\u0437\u043a\u0443 \u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442, \u0438 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":91727,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-91726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/inventarizacziya-raid-massivov-lsi-v-glpi\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044f RAID-\u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 LSI \u0432 GLPI | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/inventarizacziya-raid-massivov-lsi-v-glpi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-17T17:42:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-17T17:42:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Invent\u00e1rio de arrays RAID LSI no GLPI | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/inventarizacziya-raid-massivov-lsi-v-glpi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044f RAID-\u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 LSI \u0432 GLPI | ProHoster","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/inventarizacziya-raid-massivov-lsi-v-glpi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-17T17:42:14+00:00","article:modified_time":"2020-08-17T17:42:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"91726","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:22:22","updated":"2026-08-11 12:50:10","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/91726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=91726"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/91726\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/91727"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=91726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=91726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=91726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}