{"id":32845,"date":"2023-08-02T12:23:58","date_gmt":"2023-08-02T15:23:58","guid":{"rendered":"https:\/\/www.locaweb.com.br\/ajuda\/?post_type=ht_kb&#038;p=32845"},"modified":"2024-05-23T18:36:18","modified_gmt":"2024-05-23T21:36:18","slug":"como-criar-plugins-personalizados-monitoramento-de-servidores","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/como-criar-plugins-personalizados-monitoramento-de-servidores\/","title":{"rendered":"Como criar plugins personalizados &#8211; Monitoramento de Servidores"},"content":{"rendered":"    \t\t<div class=\"hts-messages hts-messages--info  hts-messages--withtitle hts-messages--withicon \"   >\r\n    \t\t\t<span class=\"hts-messages__title\">Informa\u00e7\u00e3o!<\/span>    \t\t\t    \t\t\t\t<p>\r\n    \t\t\t\t\t<\/p>\n<p><span data-contrast=\"none\">O Monitoramento de Servidores oferece uma s\u00e9rie de plugins que permitem que voc\u00ea monitore servi\u00e7os adicionais. Por\u00e9m, se desejar, voc\u00ea tamb\u00e9m pode criar plugins personalizados.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Nesta wiki, mostramos um exemplo da cria\u00e7\u00e3o de um plugin para o WordPress Toolkit da Plesk. Este novo plugin dever\u00e1 trazer uma vis\u00e3o geral dos sites criados no WordPress e seus status, de acordo com o Toolkit.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p>    \t\t\t\t<\/p>\r\n    \t\t\t    \t\t\t\r\n    \t\t<\/div><!-- \/.ht-shortcodes-messages -->\r\n    \t\t\n<h6>Usando o WordPress Toolkit CLI<\/h6>\n<p><span data-contrast=\"none\">Voc\u00ea pode obter facilmente uma lista de todas as instala\u00e7\u00f5es WordPress gerenciadas, atrav\u00e9s do seguinte comando:<\/span><\/p>\n<pre>\\<span class=\"TextRun SCXW201807791 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW201807791 BCX8\">plesk<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW201807791 BCX8\">ext<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW201807791 BCX8\">wp<\/span><span class=\"NormalTextRun SCXW201807791 BCX8\">-toolkit -l<\/span><\/span><span class=\"EOP SCXW201807791 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<p><span data-contrast=\"none\">Depois que executar esta linha de comando, a lista \u00e9 retornada, atribuindo os dados corretos \u00e0s vari\u00e1veis. Mas&#8230; como isso \u00e9 feito? Vamos das uma olhada:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h6>O c\u00f3digo para o plugin<\/h6>\n<p><span data-contrast=\"none\">Por tr\u00e1s da teoria, vamos observar o c\u00f3digo real extra\u00eddo no passo anterior:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW93033109 BCX8\">#!\/<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">usr\/bin\/env <\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">python<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\"># -*- <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">coding<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">: utf-8 -*-<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\">import<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\"> os<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\">import<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\"> plugins<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\">class<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\"> Plugin(<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">plugins.BasePlugin<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">):<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\">\u202f\u202f\u202f __<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">name<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">__ = \u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">plesk-wpt<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">\u2019<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\">\u202f\u202f\u202f <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">def<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">run<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">(self, <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93033109 BCX8\">config<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">):<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW93033109 BCX8\"><span class=\"SCXW93033109 BCX8\">\u00a0<\/span><br class=\"SCXW93033109 BCX8\" \/><\/span><span class=\"TextRun SCXW93033109 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93033109 BCX8\">\u202f\u202f\u202f\u202f\u202f <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW93033109 BCX8\">\u202f\u202f\u201d<\/span><span class=\"NormalTextRun SCXW93033109 BCX8\">\u2019<\/span><\/span><\/pre>\n<p><span data-contrast=\"none\">Obtendo alguma informa\u00e7\u00e3o b\u00e1sica do servidor, utilize a seguinte linha a\u00a0<\/span> <span data-contrast=\"none\">\/etc\/sudoers:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">agent360 ALL=(ALL) NOPASSWD: \/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">usr<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">\/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">sbin<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">plesk<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f test by running:<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> -u agent360 <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">agent360<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> test <\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">plesk-wpt<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f Add to \/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">etc<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">\/agent360.ini:<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f [<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">plesk-wpt<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">]<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f enabled = yes<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f interval = 600<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f \u201d\u2019<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f data = {}<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f data[\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">wpsites<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">\u2019] = int(<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">os.popen<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">(\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> -n <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">plesk<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">ext<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> wp-toolkit \u2013list | grep -$<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f data[\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">wpsites<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">-live\u2019] = int(<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">os.popen<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">(\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> -n <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">plesk<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">ext<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> wp-toolkit \u2013list | g$<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f data[\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">wpsites<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">-outdated\u2019] = int(<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">os.popen<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">(\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> -n <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">plesk<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">ext<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> wp-toolkit \u2013list$<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f data[\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">wpsites<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">-outdated-<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">php<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">\u2019] = int(<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">os.popen<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">(\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> -n <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">plesk<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">ext<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> wp-toolkit \u2013$<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f data[\u2018<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">wpsites<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">-broken\u2019] = int(<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW193759723 BCX8\">os.popen<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">(\u2018<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> -n <\/span><span class=\"NormalTextRun SCXW193759723 BCX8\">plesk<\/span> <span class=\"NormalTextRun SCXW193759723 BCX8\">ext<\/span><span class=\"NormalTextRun SCXW193759723 BCX8\"> wp-toolkit \u2013list |$<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f\u202f\u202f\u202f\u202f return data<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">if __name__ == \u2018__main__\u2019:<\/span><\/span><span class=\"LineBreakBlob BlobObject DragDrop SCXW193759723 BCX8\"><span class=\"SCXW193759723 BCX8\">\u00a0<\/span><br class=\"SCXW193759723 BCX8\" \/><\/span><span class=\"TextRun SCXW193759723 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW193759723 BCX8\">\u202f\u202f\u202f Plugin().execute()<\/span><\/span><span class=\"EOP SCXW193759723 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<p><span data-contrast=\"none\">O passo-a-passo detalhado:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li><span data-contrast=\"none\">Primeiro, foi criado um vetor, onde os dados pudessem ser inseridos;<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"none\">O vetor foi preenchido com v\u00e1rios n\u00fameros inteiros obtidos da linha de comando;<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"none\">Por \u00faltimo (mas n\u00e3o menos importante), o dado foi retornado para ser coletado pelo agente de monitoramento.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<h6>Como usar e instalar seu plugin<\/h6>\n<p><span data-contrast=\"none\">Primeiro, voc\u00ea precisa encontrar o local onde os plugins do Monitoramento de Servidores est\u00e3o instalados. Para isso, execute a seguinte linha:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><span class=\"TextRun SCXW4030352 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW4030352 BCX8\">agent360 <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW4030352 BCX8\">info<\/span><\/span><span class=\"EOP SCXW4030352 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<p><strong>Exemplo de retorno:\u00a0<\/strong><\/p>\n<p><span data-contrast=\"none\">Version: 1.2.33<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"none\">Plugins enabled: ping, apt-updates, system, iostat, httpd, loadavg, memory, mysql, nginx, diskusage, network, process, docker, cpu, swap<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><i>Plugins directory:\u202f\/usr\/local\/lib\/python3.7\/dist-packages\/agent360\/plugins<\/i><\/p>\n<p><span data-contrast=\"none\">Server: 12354148123124<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Em seguida, voc\u00ea precisa criar um arquivo nesta pasta. Vamos cham\u00e1-lo de <\/span><span data-contrast=\"none\">plesk-wpt.py\u202f<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Agora, simplesmente abra este arquivo, cole o c\u00f3digo para o plugin e salve. Antes de testar, certifique-se que o user agente 360 possui permiss\u00e3o para acessar a linha de comando com sudo e sem senha. Para isso, adicione a seguinte linha a <\/span><span data-contrast=\"none\">\/etc\/sudoers:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><span class=\"TextRun SCXW239740908 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW239740908 BCX8\">agent360 ALL=(ALL) NOPASSWD: \/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW239740908 BCX8\">usr<\/span><span class=\"NormalTextRun SCXW239740908 BCX8\">\/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW239740908 BCX8\">sbin<\/span><span class=\"NormalTextRun SCXW239740908 BCX8\">\/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW239740908 BCX8\">plesk<\/span><\/span><span class=\"EOP SCXW239740908 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<p><span class=\"TextRun SCXW264188010 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW264188010 BCX8\">Para verificar se o plugin est\u00e1 instalado e funcionando, execute a linha:<\/span><\/span><span class=\"EOP SCXW264188010 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><span class=\"TextRun SCXW45348728 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW45348728 BCX8\">sudo<\/span><span class=\"NormalTextRun SCXW45348728 BCX8\"> -u agent360 <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW45348728 BCX8\">agent360<\/span><span class=\"NormalTextRun SCXW45348728 BCX8\"> test <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW45348728 BCX8\">plesk-wpt<\/span><\/span><span class=\"EOP SCXW45348728 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<p><span class=\"TextRun SCXW70098103 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW70098103 BCX8\">Agora voc\u00ea precisa gerar um retorno com dados reais. Para ent\u00e3o finalmente ativar o plugin e ter certeza <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW70098103 BCX8\">que<\/span><span class=\"NormalTextRun SCXW70098103 BCX8\"> os dados ser\u00e3o reportados ao Monitoramento de Servidores:<\/span><\/span><span class=\"EOP SCXW70098103 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><i><span data-contrast=\"none\">[plesk-wpt]<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span>\r\n\r\n<i><span data-contrast=\"none\">\u202f \u202f enabled = yes<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span>\r\n\r\n<i><span data-contrast=\"none\">\u202f \u202f interval = 600<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<p><span data-contrast=\"none\">A configura\u00e7\u00e3o acima diz ao agente 360 para n\u00e3o somente ser iniciado considerando o novo plugin, mas tamb\u00e9m para reportar seu status a cada 600 segundos.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Uma vez que tenha feito todos os passos, reinicie o servi\u00e7o de monitoramento:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><span class=\"TextRun SCXW208166252 BCX8\" lang=\"PT-BR\" xml:lang=\"PT-BR\" data-contrast=\"none\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW208166252 BCX8\">service<\/span><span class=\"NormalTextRun SCXW208166252 BCX8\"> agent360 <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW208166252 BCX8\">restart<\/span><\/span><span class=\"EOP SCXW208166252 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/pre>\n<h6>Verifique os dados<\/h6>\n<p><span data-contrast=\"none\">Depois de alguns minutos, voc\u00ea deve visualizar uma nova aba nos detalhes do seu servidor, com o nome <\/span><span data-contrast=\"none\">\u201cplesk-wpt\u201d<\/span><span data-contrast=\"none\">, ou seja, o nome atribu\u00eddo \u00e0 pasta do plugin personalizado. Todos os dados ser\u00e3o mostrados nesta aba, na forma gr\u00e1fica, de forma que voc\u00ea possa incluir alertas ou m\u00e9tricas baseados nestes dados.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n    \t\t<div class=\"hts-messages hts-messages--info  hts-messages--withtitle hts-messages--withicon \"   >\r\n    \t\t\t<span class=\"hts-messages__title\">Conhe\u00e7a!<\/span>    \t\t\t    \t\t\t\t<p>\r\n    \t\t\t\t\t<span data-contrast=\"none\">Aproveite para conhecer o <\/span><span data-contrast=\"none\"><a href=\"https:\/\/www.locaweb.com.br\/servidor-vps\/\" target=\"_blank\" rel=\"noopener\">VPS hosting<\/a>:<\/span><span data-contrast=\"none\"> todos os recursos de um servidor f\u00edsico, s\u00f3 que virtualizados na nuvem e com pre\u00e7os em Real.\u202f<\/span><span data-ccp-props=\"{}\">\u00a0<\/span>    \t\t\t\t<\/p>\r\n    \t\t\t    \t\t\t\r\n    \t\t<\/div><!-- \/.ht-shortcodes-messages -->\r\n    \t\t\n","protected":false},"excerpt":{"rendered":"<p>Usando o WordPress Toolkit CLI Voc\u00ea pode obter facilmente uma lista de todas as instala\u00e7\u00f5es WordPress gerenciadas, atrav\u00e9s do seguinte comando: \\plesk ext wp-toolkit -l\u00a0 Depois que executar esta linha de comando, a lista \u00e9 retornada, atribuindo os dados corretos \u00e0s vari\u00e1veis. Mas&#8230; como isso \u00e9 feito? Vamos das uma&#8230;<\/p>\n","protected":false},"author":29,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[654],"ht-kb-tag":[],"class_list":["post-32845","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-monitoramento-de-servidores"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/32845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=32845"}],"version-history":[{"count":4,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/32845\/revisions"}],"predecessor-version":[{"id":35227,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/32845\/revisions\/35227"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=32845"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=32845"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=32845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}