{"id":2833,"date":"2018-07-31T16:51:32","date_gmt":"2018-07-31T20:51:32","guid":{"rendered":"http:\/\/arielantigua.com\/weblog\/?p=2833"},"modified":"2018-07-31T16:51:32","modified_gmt":"2018-07-31T20:51:32","slug":"librenms-backups-con-oxidized","status":"publish","type":"post","link":"https:\/\/arielantigua.com\/weblog\/2018\/07\/librenms-backups-con-oxidized\/","title":{"rendered":"LibreNMS &#8211; backups con Oxidized."},"content":{"rendered":"<p><strong>LibreNMS &#8211; backups con Oxidized.<\/strong><\/p>\n<p>Si cuentas con una red con m\u00e1s de dos dispositivos (router o switch), debes considerar realizar respaldos de manera automatizada a esos equipos, est\u00e1 de m\u00e1s decir que tambi\u00e9n tenemos que monitorear el comportamiento de estos equipos. Podemos monitorear valores tales como CPU, memoria, estado de las interfaces de red y cantidad de tr\u00e1fico que pasa por estas, esto es solo por mencionar algunos de los objetos disponibles en un equipo de red.<\/p>\n<p>Sorpresa, todo esto se puede hacer con <a href=\"https:\/\/www.librenms.org\/\" target=\"_blank\" rel=\"noopener\">LibreNMS<\/a>.<\/p>\n<p>Esta plataforma de monitoreo es un fork de Observium el cual cambio su modo de distribuci\u00f3n a uno m\u00e1s cerrado y esto causo que usuarios como YO se movieran a LibreNMS. Recuerdo haber usado un paso a paso de c\u00f3mo mover la data de un software al otro.<\/p>\n<p>En esta entrada nos saltaremos la parte donde instalamos <a href=\"https:\/\/www.librenms.org\/\" target=\"_blank\" rel=\"noopener\">LibreNMS<\/a>, en la p\u00e1gina del proyecto oficial se puede encontrar <a href=\"https:\/\/docs.librenms.org\/#Installation\/\" target=\"_blank\" rel=\"noopener\">esta informaci\u00f3n<\/a>.<\/p>\n<p><strong>Oxidized<\/strong> \u2013 <a href=\"https:\/\/github.com\/ytti\/oxidized\">https:\/\/github.com\/ytti\/oxidized<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"201\" class=\"wp-image-2834\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image.png 717w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-300x84.png 300w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/p>\n<p>Como dice su <a href=\"https:\/\/github.com\/ytti\/oxidized\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener\">README<\/a> en GitHub, este es un intento de reemplazar RANCID, en mi opini\u00f3n este proyecto ha logrado su cometido, mi experiencia con RANCID no fue la m\u00e1s hermosa o placentera.<\/p>\n<p>Debian es la distribuci\u00f3n en la cual est\u00e1 instalado LibreNMS, en la secci\u00f3n de instalaci\u00f3n tienen varias distros, FreeBSD y Docker. Los pasos de instalaci\u00f3n de Debian aplican para Ubuntu.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2835\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-1.png\" alt=\"\" width=\"929\" height=\"257\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-1.png 929w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-1-300x83.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-1-768x212.png 768w\" sizes=\"auto, (max-width: 929px) 100vw, 929px\" \/><\/p>\n<p>Cuando toco instalar oxidized-web, este fallaba y al final pude determinar que faltaba g++, cuando instale Debian seleccione el m\u00ednimo de paquetes, lo extra\u00f1o fue que tambi\u00e9n paso lo mismo cuando realice la misma instalaci\u00f3n en Ubuntu.<\/p>\n<p><strong>Configurando Oxidized \u2013<\/strong><\/p>\n<p>Una vez instalado los tres componentes, podemos proceder a generar una configuraci\u00f3n por defecto la cual podemos editar m\u00e1s adelante. Es recomendado no ejecutar Oxidized como root, debemos crear una cuenta para este servicio.<\/p>\n<p>useradd oxidized<\/p>\n<p>Luego ejecutamos <strong>oxidized<\/strong> una vez para que sea creado el directorio y en este los archivos necesarios, aunque no usaremos algunos de ellos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"252\" height=\"177\" class=\"wp-image-2836\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-2.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-2.png 252w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-2-250x175.png 250w\" sizes=\"auto, (max-width: 252px) 100vw, 252px\" \/><\/p>\n<p>Los Outputs son una parte esencial de la configuraci\u00f3n, debemos seleccionar Git para contar con la funcionalidad de versiones dentro de LibreNMS.<\/p>\n<p>Aqu\u00ed un ejemplo de configuraci\u00f3n para Oxidized que funciona en LibreNMS, este es el usado en mi entorno actualmente.<\/p>\n<p><a href=\"https:\/\/gist.github.com\/aredan\/8e44cb0485d196020472c9c870f1a60c\" target=\"_blank\" rel=\"noopener\">https:\/\/gist.github.com\/aredan\/8e44cb0485d196020472c9c870f1a60c<\/a><\/p>\n<p>En router.db no necesitamos colocar equipos, la integraci\u00f3n de LibreNMS se encarga de eso y para que esta funcione debemos decirle a Oxidized cu\u00e1l es la URL del API y crear un usuario, al mismo usuario debemos asignarle un Token para ser usado desde Oxidized.<\/p>\n<p><strong>Oxidized como servicio \u2013<\/strong><\/p>\n<p>Muchas veces instalamos componentes que necesita inicializar con el sistema y este se encarga de colocar lo necesario, ya sea en init.d o en system.d, en el caso de Oxidized debemos hacerlo nosotros.<\/p>\n<p><a href=\"https:\/\/github.com\/ytti\/oxidized#extra\">https:\/\/github.com\/ytti\/oxidized#extra<\/a><\/p>\n<p>Para este momento debemos tener un Oxidized configurado y corriendo como servicio, ya que la manera de acceder estos respaldos ser\u00e1 usando LibreNMS, podemos dejar oxidized-web escuchando solo en 127.0.0.1 siempre y cuando ambas plataformas est\u00e1n instaladas en el mismo equipo.<\/p>\n<p><strong>Configurando LibreNMS \u2013<\/strong><\/p>\n<p>Usando la opci\u00f3n de configuraci\u00f3n mediante Global Settings -&gt; External Settings no funciono, ni siquiera presento errores en el log de LibreNMS, cuando introduje la configuraci\u00f3n directamente en config.php, autom\u00e1ticamente apareci\u00f3 la opci\u00f3n de Oxidized en Overview -&gt; Tools. Pasados unos minutos ya pod\u00eda ver intentos de conexi\u00f3n desde la maquina con LibreNMS\/Oxidized a los equipos de red que fueron definidos en la configuraci\u00f3n de Oxidized.<\/p>\n<pre>$config['oxidized']['enabled'] = TRUE;\r\n$config['oxidized']['url'] = 'http:\/\/127.0.0.1:8888';\r\n$config['oxidized']['features']['versioning'] = true;\r\n$config['oxidized']['group_support'] = true;\r\n$config['oxidized']['default_group'] = 'default';\r\n$config['oxidized']['reload_nodes'] = true;\r\n$config['oxidized']['group']['os'][] = array('match' =&gt; 'nxos', 'group' =&gt; 'nxos');\r\n$config['oxidized']['group']['os'][] = array('match' =&gt; 'ios', 'group' =&gt; 'ios');\r\n$config['oxidized']['group']['os'][] = array('match' =&gt; 'fortigate', 'group' =&gt; 'fortinet');\r\n$config['oxidized']['group']['os'][] = array('match' =&gt; 'routeros', 'group' =&gt; 'routeros');<\/pre>\n<p>En las \u00faltimas cuatro l\u00edneas est\u00e1n definidos los equipos que quiero que LibreNMS compare contra Oxidized, por lo menos as\u00ed lo entend\u00ed yo.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Aqu\u00ed algunas capturas de pantalla de LibreNMS accediendo a los respaldos realizados por Oxidized.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"527\" height=\"232\" class=\"wp-image-2837\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-3.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-3.png 527w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-3-300x132.png 300w\" sizes=\"auto, (max-width: 527px) 100vw, 527px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"570\" class=\"wp-image-2838\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-4.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-4.png 806w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-4-300x212.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-4-768x543.png 768w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1256\" height=\"243\" class=\"wp-image-2839\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-5.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-5.png 1256w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-5-300x58.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-5-768x149.png 768w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-5-1024x198.png 1024w\" sizes=\"auto, (max-width: 1256px) 100vw, 1256px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1290\" height=\"402\" class=\"wp-image-2840\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-6.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-6.png 1290w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-6-300x93.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-6-768x239.png 768w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-6-1024x319.png 1024w\" sizes=\"auto, (max-width: 1290px) 100vw, 1290px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"790\" height=\"559\" class=\"wp-image-2841\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-7.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-7.png 790w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-7-300x212.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-7-768x543.png 768w\" sizes=\"auto, (max-width: 790px) 100vw, 790px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"805\" height=\"704\" class=\"wp-image-2842\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-8.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-8.png 805w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-8-300x262.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/07\/word-image-8-768x672.png 768w\" sizes=\"auto, (max-width: 805px) 100vw, 805px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LibreNMS &#8211; backups con Oxidized. Si cuentas con una red con m\u00e1s de dos dispositivos (router o switch), debes considerar realizar respaldos de manera automatizada a esos equipos, est\u00e1 de m\u00e1s decir que tambi\u00e9n tenemos que monitorear el comportamiento de estos equipos. Podemos monitorear valores tales como CPU, memoria, estado de las interfaces de red [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,7,34],"tags":[136],"class_list":["post-2833","post","type-post","status-publish","format-standard","hentry","category-debian","category-general","category-networking","tag-librenms"],"_links":{"self":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/2833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/comments?post=2833"}],"version-history":[{"count":0,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/2833\/revisions"}],"wp:attachment":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/media?parent=2833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/categories?post=2833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/tags?post=2833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}