{"id":151204,"date":"2024-06-12T17:00:46","date_gmt":"2024-06-12T17:00:46","guid":{"rendered":"https:\/\/www.redeszone.net\/?post_type=marcas&amp;p=824649"},"modified":"2024-06-12T17:00:46","modified_gmt":"2024-06-12T17:00:46","slug":"configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap","status":"publish","type":"post","link":"http:\/\/cordobadirecto.com\/index.php\/2024\/06\/12\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap\/","title":{"rendered":"Configura Telegraf, InfluxDBv2 y Grafana para monitorizar los NAS de QNAP"},"content":{"rendered":"<p>Este software es bastante f\u00e1cil de configurar, b\u00e1sicamente tendremos un origen de datos que puede ser HTTP, sensores usando diferentes protocolos y tambi\u00e9n la nube. En la parte de \u00ab<strong>Input<\/strong>\u00bb o entrada, podremos leer los estados de CPU, RAM, los mensajes MQTT, leer el estado del sistema a trav\u00e9s de SNMP y mucho m\u00e1s. Una vez que hayamos recopilado toda esta informaci\u00f3n, tenemos la posibilidad de procesar estos datos e incluso hacer agregaci\u00f3n de ellos, para posteriormente escribir en una base de datos o en un archivo, para su posterior tratamiento.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824670\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap.jpg\" alt width=\"1000\" height=\"354\" srcset=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap.jpg 1000w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-43.jpg 300w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-44.jpg 655w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-45.jpg 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\"><\/p>\n<p>En este tutorial <strong>usaremos Telegraf para recopilar el estado del servidor NAS del fabricante QNAP v\u00eda SNMP<\/strong>, el propio sistema operativo QTS y QuTS hero disponen de un servidor SNMPv3 desde donde podemos leer una gran cantidad de datos del equipo. Adem\u00e1s, QNAP nos proporciona la MIB necesaria para poder leer todos los datos, y poder configurar Telegraf adecuadamente para su posterior env\u00edo a la base de datos de InfluxDBv2.<\/p>\n<p><strong>InfluxDB<\/strong> es la base de datos de series temporales Open Source m\u00e1s utilizada, esta base de datos tiene todo lo que necesitamos en el mismo software, y es que no solo contamos con la propia base de datos, sino tambi\u00e9n una interfaz gr\u00e1fica de usuario que nos permitir\u00e1 mostrar los datos que nosotros queramos, e incluso tiene herramientas para hacer agregaci\u00f3n de datos de manera avanzada. No obstante, para mostrar toda la informaci\u00f3n con sus gr\u00e1ficas y dem\u00e1s usaremos Grafana. La interfaz gr\u00e1fica de usuario de InfluxDB nos permitir\u00e1 crear las bases de datos, y tambi\u00e9n obtener el c\u00f3digo de la consulta para posteriormente copiarlo y pegarlo en Grafana.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824673\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-1.jpg\" alt width=\"1000\" height=\"523\" srcset=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-1.jpg 1000w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-46.jpg 300w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-47.jpg 655w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-48.jpg 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\"><\/p>\n<p>La base de datos de InfluxDB dispone ahora mismo de un total de tres versiones:<\/p>\n<ul>\n<li><strong>InfluxDBv1<\/strong>: todav\u00eda se sigue utilizando esta base de datos para almacenar todos los registros desde Telegraf. Utiliza un lenguaje SQL para la realizaci\u00f3n de todas las consultas, con el objetivo de facilitar a los administradores la b\u00fasqueda de todo lo que necesiten dentro de la BBDD.<\/li>\n<li><strong>InfluxDBv2<\/strong>: esta base de datos es la actual \u00abstable\u00bb, Telegraf y muchos otros softwares son compatibles con ella. La parte negativa es que usa un lenguaje llamado \u00abFlux\u00bb que es propio, por lo que la sintaxis es bastante diferente al t\u00edpico SQL. Esto no es ning\u00fan problema, porque la interfaz gr\u00e1fica de usuario de InfluxDBv2 incorpora un \u00abEditor de consultas\u00bb donde nosotros vamos seleccionando las diferentes tablas para que nos genere el c\u00f3digo necesario para posteriormente copiarlo en Grafana u otro software. Adem\u00e1s de hacer la consulta, tambi\u00e9n es capaz de usar funciones avanzadas de agregaci\u00f3n de datos, y todo ello sin necesidad de tener apenas conocimientos de Flux.<\/li>\n<li><strong>InfluxDBv3<\/strong>: es la nueva versi\u00f3n de la base de datos, pero todav\u00eda no est\u00e1 en versi\u00f3n \u00abstable\u00bb, es bastante nueva y todav\u00eda no tenemos compatibilidad con muchos softwares. Esta nueva versi\u00f3n mejora las prestaciones de la segunda versi\u00f3n, y vuelve a tener un lenguaje de consulta SQL abandonando Flux (al menos, es lo que se sabe, aunque podr\u00eda cambiar).<\/li>\n<\/ul>\n<p>En este tutorial nosotros usaremos InfluxDBv2, y ver\u00e9is que el lenguaje Flux no es ning\u00fan problema, y el funcionamiento es simplemente perfecto. Adem\u00e1s, todas las comunicaciones las haremos v\u00eda HTTPS para proporcionar la mejor seguridad posible, los certificados SSL\/TLS ser\u00e1n autofirmados.<\/p>\n<p><strong>Grafana<\/strong> es un software libre que nos permite la visualizaci\u00f3n de cualquier dato, permiti\u00e9ndonos crear cuadros de mando y gr\u00e1ficos muy \u00fatiles a partir de m\u00faltiples fuentes. Este software es compatible con bases de datos relacionales, noSQL e incluso bases de datos de series de tiempo como Graphite o InfluxDB entre otras. Lo mejor de este software es que es multiplataforma, aunque tambi\u00e9n lo podemos instalar perfectamente en Docker. Este software dispone de una grand\u00edsima cantidad de or\u00edgenes donde leer la informaci\u00f3n para poder mostrarla, adem\u00e1s, incorpora much\u00edsimos plugins que podemos instalar para aumentar las funcionalidades.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824676\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-2.jpg\" alt width=\"1000\" height=\"409\" srcset=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-2.jpg 1000w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-49.jpg 300w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-50.jpg 655w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-51.jpg 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\"><\/p>\n<p>En nuestro tutorial, usaremos Grafana para conectarse con InfluxDBv2 y obtener todos los datos, para posteriormente mostrarlos en gr\u00e1ficas realmente impresionantes. Las posibilidades de Grafana son inmensas, porque tambi\u00e9n nos permitir\u00e1 transformar los datos obtenidos en otros, directamente \u00abal vuelo\u00bb, sin necesidad de escribirlos en una base de datos adicional. La comunicaci\u00f3n de este software con InfluxDBv2 ser\u00e1 a trav\u00e9s de HTTPS con certificados autofirmados, y comprobando la CA para dotar al sistema de la m\u00e1xima seguridad.<\/p>\n<p>El objetivo de este tutorial es poder crear un panel de control donde podamos ver mucha informaci\u00f3n sobre el servidor NAS de QNAP, o cualquier otro equipo que env\u00ede datos a InfluxDBv2. En nuestro caso, estamos monitorizando un NAS TVS-h1288X con el sistema operativo QuTS hero. Podemos monitorizar el tiempo de encendido, firmware actual o si hay una actualizaci\u00f3n, el SAI conectado, CPU y RAM, ventiladores, temperaturas, los conjuntos de almacenamiento y en definitiva, todo lo que nos permita la MIB del SNMP del sistema operativo QTS o QuTS hero.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824679\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-3.jpg\" alt width=\"1200\" height=\"770\"><\/p>\n<p>Gracias a las diferentes gr\u00e1ficas que nos permite crear Grafana, tenemos la posibilidad de verlo todo de una manera realmente espectacular. Dependiendo de los datos que nos interese mostrar, tendremos un tipo de gr\u00e1fico u otros. El l\u00edmite lo pone tu imaginaci\u00f3n y lo que quieras realmente mostrar.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824682\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-4.jpg\" alt width=\"1200\" height=\"831\"><\/p>\n<p>Tal y como pod\u00e9is ver, para mostrar el almacenamiento de las carpetas compartidas (dataset) podemos usar diferentes gr\u00e1ficos:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824685\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-5.jpg\" alt width=\"1200\" height=\"841\"><\/p>\n<p>Una vez que ya conoc\u00e9is para qu\u00e9 sirven todos los softwares que vamos a instalar, os vamos a hacer un peque\u00f1o resumen de c\u00f3mo ser\u00eda el flujo de datos para que lo teng\u00e1is muy claro:<\/p>\n<ul>\n<li><strong>Telegraf<\/strong> se encargar\u00e1 de leer todos los estados v\u00eda SNMP hacia el NAS, el propio QNAP ya tiene un servidor SNMP en su interior que debemos activar y configurar, y tendremos la MIB para poder leer todos los datos. Telegraf enviar\u00e1 los datos a InfluxDBv2 v\u00eda HTTPS a un \u00abBucket\u00bb concreto.<\/li>\n<li><strong>InfluxDBv2<\/strong> se encargar\u00e1 de recibir todos los datos de Telegraf instalado en el NAS, o bien desde cualquier Telegraf que tengamos en otros equipos, porque podemos estar recibiendo datos desde todos los que queramos de forma completamente simult\u00e1nea. Tanto el acceso a la web de administraci\u00f3n como la recepci\u00f3n de los datos se har\u00e1 con HTTPS con certificados autofirmados y una CA.<\/li>\n<li><strong>Grafana<\/strong> se encargar\u00e1 de conectarse a InfluxDBv2 v\u00eda HTTPS para leer todos los datos, y mostrarlos en paneles de control muy configurables.<\/li>\n<\/ul>\n<p>Antes de empezar deb\u00e9is saber que en el siguiente v\u00eddeo explicamos en detalle todo el proceso de instalaci\u00f3n y puesta en marcha, es un \u00abcomplemento\u00bb a este tutorial, ya que puede ser complicado de entender en un primer momento. En este tutorial encontrar\u00e9is todo el c\u00f3digo fuente y comandos que sean necesarios para poner en marcha el sistema.<\/p>\n<p>Ahora vamos a realizar la configuraci\u00f3n inicial del servidor NAS, activando tanto SSH como el SNMP.<\/p>\n<h2>Configurar el servidor QNAP para su monitorizaci\u00f3n<\/h2>\n<p>Antes de empezar, pod\u00e9is descargar todos los comandos y c\u00f3digo fuente usados en este tutorial aqu\u00ed:<\/p>\n<p>Para poder instalar todo el software y poder monitorizar el servidor NAS, es necesario activar los servicios que tenemos en el sistema operativo.<\/p>\n<h3>Configuraci\u00f3n del servidor SSH en QNAP<\/h3>\n<p>Lo primero que debemos hacer es habilitar el servidor SSH, es totalmente necesario para ejecutar ciertos comandos a trav\u00e9s de consola. Para poder hacerlo, basta con irnos a \u00ab<strong>Panel de control \/ Red y servicios de archivos \/ Telnet y SSH<\/strong>\u00ab. Le damos a la opci\u00f3n de \u00abPermitir conexi\u00f3n SSH\u00bb y elegimos el puerto, por defecto es el 22, pero podemos cambiar al puerto que nosotros queramos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826122\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-6.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Una vez que est\u00e9 habilitado, podemos entrar usando programas como PuTTY, o directamente usando la consola de Windows o Linux.<\/p>\n<h3>Configuraci\u00f3n del SNMP en QNAP<\/h3>\n<p>Ahora debemos habilitar el servidor SNMP, que es al que se conectar\u00e1 Telegraf para \u00ableer\u00bb absolutamente todos los estados del servidor NAS. Para hacer esto, tenemos que irnos a \u00ab<strong>Panel de control \/ Red y servicios de archivos \/ SNMP<\/strong>\u00ab. En este men\u00fa pinchamos en el bot\u00f3n de \u00abHabilitar servicio SNMP\u00bb y realizamos estos ajustes:<\/p>\n<ul>\n<li><strong>Versi\u00f3n SNMP<\/strong>: SNMP v3. Es la \u00faltima versi\u00f3n y m\u00e1s segura.<\/li>\n<li><strong>Nombre de usuario<\/strong>: telegraf (podemos poner el que queramos, pero debe corresponderse con la configuraci\u00f3n del propio Telegraf, de lo contrario no funcionar\u00e1).<\/li>\n<li><strong>Usar autenticaci\u00f3n<\/strong>: activado\n<ul>\n<li><strong>Protocolo de autenticaci\u00f3n<\/strong>: HMAC-SHA<\/li>\n<li><strong>Contrase\u00f1a de autenticaci\u00f3n<\/strong>: redeszone<\/li>\n<\/ul>\n<\/li>\n<li><strong>Privacidad de uso<\/strong>: activado\n<ul>\n<li><strong>Protocolo de privacidad<\/strong>: CBC-DES<\/li>\n<li><strong>Contrase\u00f1a de privacidad<\/strong>: redeszone<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826125\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-7.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora pinchamos en \u00ab<strong>Aplicar<\/strong>\u00bb y esperamos unos segundos, tambi\u00e9n es muy recomendable descargar la SNMP MIB, que es b\u00e1sicamente la base de datos con todo lo que podemos monitorizar. Dependiendo de si usas un sistema operativo QuTS hero o QTS cambiar\u00e1 respecto al almacenamiento, el resto es exactamente igual como ver la velocidad de ventiladores, temperaturas de discos duros etc. Es muy importante descargar la MIB, porque tendremos que copiarla dentro de la carpeta de Telegraf para que pueda usarla.<\/p>\n<h2>Creaci\u00f3n del \u00e1rbol de directorios para Docker<\/h2>\n<p>Con el fin de evitar problemas de Docker a la hora de levantar los diferentes contenedores, vamos a crear la carpeta compartida o dataset donde almacenaremos todos los contenedores e informaci\u00f3n. En nuestro caso, la ruta donde tendremos absolutamente todo lo relacionado con Docker es \u00ab\/share\/MaquinasVirtuales\/Docker\u00bb. De este directorio colgar\u00e1 todo el software. Aunque a la hora de ejecutar el stack en Portainer se crear\u00e1 el \u00e1rbol de directorio, debido a que vamos a configurar \u00abvolumes\u00bb con archivos espec\u00edficos, es necesario crear previamente estos archivos, y tambi\u00e9n asignarles adecuadamente los permisos necesarios.<\/p>\n<p>Lo primero que hacemos es crear los tres directorios para los tres softwares que vamos a crear:<\/p>\n<p><code class=\"code-section\">mkdir -p \/share\/MaquinasVirtuales\/Docker\/telegraf<br \/>mkdir -p \/share\/MaquinasVirtuales\/Docker\/influxdb<br \/>mkdir -p \/share\/MaquinasVirtuales\/Docker\/grafana<\/code><\/p>\n<p>Para que Telegraf se cree correctamente con el Docker-compose, es necesario crear el archivo de configuraci\u00f3n vac\u00edo, luego lo editaremos:<\/p>\n<p><code class=\"code-section\">touch \/share\/MaquinasVirtuales\/Docker\/telegraf\/telegraf.conf<\/code><\/p>\n<p>Para que Grafana se inicie correctamente, es necesario proporcionar los permisos adecuados a la carpeta que crear\u00e1 el contenedor, para ello ejecutamos:<\/p>\n<p><code class=\"code-section\">mkdir -p \/share\/MaquinasVirtuales\/Docker\/grafana\/grafana_data<br \/>chmod 777 -R \/share\/MaquinasVirtuales\/Docker\/grafana\/grafana_data<\/code><\/p>\n<p>Ahora ya tendremos toda la estructura lista, ahora procedemos a crear los certificados digitales SSL\/TLS que usaremos para todos los contenedores, as\u00ed toda la comunicaci\u00f3n se hace v\u00eda HTTPS.<\/p>\n<h2>Creaci\u00f3n de certificados SSL\/TLS<\/h2>\n<p>Ahora empezaremos con la creaci\u00f3n de la CA y los certificados SSL\/TLS para los diferentes softwares y que la comunicaci\u00f3n sea siempre v\u00eda HTTPS. Es muy importante crear estos certificados para que toda la comunicaci\u00f3n est\u00e9 cifrada, porque es muy posible que este sistema de monitorizaci\u00f3n lo ampl\u00edes en un futuro, e instales Telegraf en otros servidores, y solamente necesitaremos configurarlo adecuadamente para que se comunique con InfluxDB. Si no quieres nada de HTTPS, puedes obviar esta parte y quitar de todos los archivos de configuraci\u00f3n lo que hace referencia a TLS.<\/p>\n<p>La configuraci\u00f3n de los certificados SSL\/TLS que vamos a crear, se puede cambiar en cualquier momento a trav\u00e9s de los comandos OpenSSL, pero hemos configurado una suite bastante robusta en cuanto a seguridad:<\/p>\n<ul>\n<li>Hemos usado una criptograf\u00eda de curva el\u00edptica, concretamente secp384r1<\/li>\n<li>Para el certificado hemos usado ecdsa-with-SHA512.<\/li>\n<li>Validez de 10 a\u00f1os<\/li>\n<li><strong>subjectAltName<\/strong>: tenemos que poner la direcci\u00f3n IP del servidor InfluxDBv2, este par\u00e1metro es cr\u00edtico, sino no funcionar\u00e1 cuando hagamos la comprobaci\u00f3n del certificado desde Grafana.<\/li>\n<\/ul>\n<p>Para la ejecuci\u00f3n de todos estos comandos, se puede usar el servidor de QNAP por SSH sin ning\u00fan problema, as\u00ed lo hemos hecho nosotros. Tambi\u00e9n podr\u00edas hacerlo de forma externa en cualquier Linux y posteriormente copiar los certificados digitales al NAS.<\/p>\n<p>Creamos la autoridad de certificaci\u00f3n (CA) que usaremos en Telegraf y Grafana para comprobar el certificado de InfluxDBv2. Tendremos que rellenar los datos de pa\u00eds, estado y dem\u00e1s valores, puedes pulsar \u00abenter\u00bb, lo importante es el CN (Common Name), puedes poner \u00abRZ-CA\u00bb o lo que quieras, es para identificar la Autoridad de Certificaci\u00f3n.<\/p>\n<p><code class=\"code-section\">openssl ecparam -genkey -name secp384r1 -out redeszone-ca.key<br \/>openssl req -x509 -new -SHA512 -nodes -key redeszone-ca.key -days 3650 -out redeszone-ca.crt<\/code><\/p>\n<p>Creamos el certificado del servidor, es fundamental <strong>no olvidar el subjectAltName al firmar el certificado<\/strong>, tenemos que poner la IP del servidor donde est\u00e1 InfluxDBv2<\/p>\n<p><code class=\"code-section\">openssl ecparam -genkey -name secp384r1 -out redeszone-autofirmado.key<br \/>openssl req -new -SHA512 -key redeszone-autofirmado.key -nodes -out redeszone-autofirmado.csr<br \/>openssl req -in redeszone-autofirmado.csr -noout -text<\/code><\/p>\n<p>Ahora debemos crear el fichero \u00abopciones.txt\u00bb con el siguiente contenido. Es cr\u00edtico poner la direcci\u00f3n IP de nuestro InfluxDBv2, sustituir 10.11.1.9 por la IP de tu NAS:<\/p>\n<p><code class=\"code-section\" readability=\"2\">authorityKeyIdentifier=keyid,issuer<br \/>basicConstraints=CA:FALSE<br \/>keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment<br \/>subjectAltName = @alt_names<\/p>\n<p>[alt_names]<br \/>IP.1 = 10.11.1.9<\/p>\n<p><\/code><\/p>\n<p>Guardamos el archivo y ahora ejecutamos la siguiente orden para firmar el certificado:<\/p>\n<p><code class=\"code-section\">openssl x509 -req -SHA512 -extfile opciones.txt -days 3650 -in redeszone-autofirmado.csr -CA redeszone-ca.crt -CAkey redeszone-ca.key -CAcreateserial -out redeszone-autofirmado.crt<\/code><\/p>\n<p>De todos los archivos que nos crea al ejecutar todos estos comandos, debemos usar:<\/p>\n<ul>\n<li><strong>redeszone-ca.crt<\/strong> para Telegraf y para Grafana, esto sirve para conectarse con InfluxDBv2 y comprobar el certificado TLS<\/li>\n<li><strong>redeszone-autofirmado.crt<\/strong> y <strong>redeszone-autofirmado.key<\/strong> tanto en InfluxDBv2 como en Grafana, ya que ser\u00e1 el certificado HTTPS para entrar v\u00eda web.<\/li>\n<\/ul>\n<p>Ahora que ya hemos creado todos los certificados, vamos a proporcionarles los permisos adecuados:<\/p>\n<p><code class=\"code-section\">chmod 755 \/share\/MaquinasVirtuales\/redeszone-ca.crt<br \/>chmod 755 \/share\/MaquinasVirtuales\/redeszone-autofirmado.crt<br \/>chmod 755 \/share\/MaquinasVirtuales\/redeszone-autofirmado.key<\/code><\/p>\n<p>Y copiarlos en los directorios correspondientes de Telegraf, InfluxDBv2 y Grafana, ponemos:<\/p>\n<p><code class=\"code-section\">cp \/share\/MaquinasVirtuales\/redeszone-ca.crt \/share\/MaquinasVirtuales\/Docker\/telegraf\/redeszone-ca.crt<br \/>cp \/share\/MaquinasVirtuales\/redeszone-autofirmado.crt \/share\/MaquinasVirtuales\/Docker\/influxdb\/redeszone-autofirmado.crt<br \/>cp \/share\/MaquinasVirtuales\/redeszone-autofirmado.key \/share\/MaquinasVirtuales\/Docker\/influxdb\/redeszone-autofirmado.key<br \/>cp \/share\/MaquinasVirtuales\/redeszone-autofirmado.crt \/share\/MaquinasVirtuales\/Docker\/grafana\/redeszone-autofirmado.crt<br \/>cp \/share\/MaquinasVirtuales\/redeszone-autofirmado.key \/share\/MaquinasVirtuales\/Docker\/grafana\/redeszone-autofirmado.key<\/code><\/p>\n<p>Ahora ya podemos levantar el \u00abStack\u00bb de Portainer con todo el software.<\/p>\n<h2>Instalar todo el software usando Docker<\/h2>\n<p>Para la instalaci\u00f3n de todo el software vamos a usar la consola por SSH de QNAP, primero crearemos un Docker-compose en el propio NAS con solamente el contenedor de Portainer, que se encargar\u00e1 de crear y gestionar el resto de contenedores muy f\u00e1cilmente. Despu\u00e9s crearemos un Stack con el resto de contenedores. Os vamos a proporcionar todo el c\u00f3digo en un archivo .ZIP para su descarga sencilla.<\/p>\n<p>Crearemos un archivo llamado docker-compose.yaml en el directorio \u00ab\/share\/MaquinasVirtuales\/Docker\u00bb con el siguiente contenido:<\/p>\n<p><code class=\"code-section\">#Comprobar Docker-compose:<br \/>#docker-compose -f docker-compose.yml config<br \/>version: '3.7'<br \/>networks:<br \/>dockerportainer:<br \/>name: dockerportainer<br \/>driver: bridge<br \/>ipam:<br \/>config:<br \/>- subnet: 172.30.1.0\/24<br \/>services:<br \/>## Portainer - Gestor Dockers<br \/>portainer:<br \/>container_name: Portainer<br \/>image: portainer\/portainer-ce:2.19.5<br \/>command: -H unix:\/\/\/var\/run\/docker.sock<br \/>restart: always<br \/>networks:<br \/>dockerportainer:<br \/>ipv4_address: 172.30.1.2<br \/>ports:<br \/>- '10.11.1.9:9443:9443\/tcp'<br \/>security_opt:<br \/>- no-new-privileges:true<br \/>volumes:<br \/>- \/share\/MaquinasVirtuales\/Docker\/portainer:\/data<br \/>- \/var\/run\/docker.sock:\/var\/run\/docker.sock<br \/>- \/etc\/localtime:\/etc\/localtime:ro<br \/>environment:<br \/>- PUID=1000<br \/>- PGID=1000<br \/>- TZ=Europe\/Madrid<\/code><\/p>\n<p>Solamente tendr\u00e1s que modificar la direcci\u00f3n IP 10.11.1.9 por la de tu servidor NAS. Es muy importante que sea lenguaje yaml, pod\u00e9is usar un validador de sintaxis para los espacios. De todas formas, si us\u00e1is el c\u00f3digo fuente nuestro vais a poder ejecutarlo sin problemas, es simplemente copiar y pegar. Para hacerlo tendr\u00e1s que ejecutar \u00ab<strong>vim docker-compose.yaml<\/strong>\u00bb y dentro copiar todo el contenido, si no sabes usar de manera b\u00e1sica vim, siempre puedes usar el editor de texto de QNAP que pod\u00e9is descargarlo desde App Center.<\/p>\n<p>Ahora lo ejecutaremos con la orden siguiente:<\/p>\n<p><code class=\"code-section\">docker compose up -d<\/code><\/p>\n<p>Esperamos unos segundos y ya podremos iniciar sesi\u00f3n en Portainer a trav\u00e9s de la direcci\u00f3n IP de tu NAS y el puerto 9443. Tendr\u00e1s que poner la direcci\u00f3n https:\/\/IP:9443 y te pedir\u00e1 el nombre de usuario \u00abadmin\u00bb y poner una contrase\u00f1a robusta. Una vez creada la clave, ya podr\u00e1s acceder a su administraci\u00f3n y crear el nuevo stack.<\/p>\n<p>Para crear el nuevo stack en Portainer, debemos irnos a \u00ab<strong>Dashboard \/ Stacks<\/strong>\u00ab:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826137\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-8.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora tenemos que darle al bot\u00f3n de \u00ab<strong>Add Stack<\/strong>\u00bb que tenemos en la parte superior derecha.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826140\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-9.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Y ahora tenemos que darle un <strong>nombre (un nombre en min\u00fasculas)<\/strong>, y en el cuadro de texto debemos poner todo el c\u00f3digo del docker-compose que os vamos a indicar.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826143\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-10.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Una vez que estemos en el men\u00fa anterior, tendremos que copiar el siguiente c\u00f3digo:<\/p>\n<p><code class=\"code-section\">#Comprobar Docker-compose:<br \/>#docker-compose -f docker-compose.yml config<br \/>version: '3.7'<br \/>networks:<br \/>dockerredeszone:<br \/>name: dockerredeszone<br \/>driver: bridge<br \/>ipam:<br \/>config:<br \/>- subnet: 172.30.2.0\/24<br \/>services:<br \/>#Telegraf para leer datos del QNAP via SNMP<br \/>telegraf:<br \/>image: telegraf:latest<br \/>hostname: \"QNAPredeszone\"<br \/>container_name: telegraf<br \/>restart: unless-stopped<br \/>networks:<br \/>dockerredeszone:<br \/>ipv4_address: 172.30.2.2<br \/>ports:<br \/>- '10.11.1.9:8125:8125\/tcp'<br \/>environment:<br \/>- TZ=Europe\/Madrid<br \/>volumes:<br \/>- \/share\/MaquinasVirtuales\/Docker\/telegraf\/telegraf.conf:\/etc\/telegraf\/telegraf.conf<br \/>- \/share\/MaquinasVirtuales\/Docker\/telegraf\/mibs:\/usr\/share\/snmp\/mibs<br \/>- \/share\/MaquinasVirtuales\/Docker\/telegraf\/conf.d:\/etc\/telegraf\/telegraf.d<br \/>- \/share\/MaquinasVirtuales\/Docker\/telegraf\/redeszone-ca.crt:\/etc\/telegraf\/redeszone-ca.crt<br \/>depends_on:<br \/>- influxdb<br \/>#InfluxDB para Home Assistant y otros servicios<br \/>influxdb:<br \/>image: influxdb:latest<br \/>container_name: influxdb<br \/>restart: unless-stopped<br \/>environment:<br \/>- DOCKER_INFLUXDB_INIT_MODE=setup<br \/>- DOCKER_INFLUXDB_INIT_USERNAME=redeszone<br \/>- DOCKER_INFLUXDB_INIT_PASSWORD=redeszone123<br \/>- DOCKER_INFLUXDB_INIT_ORG=RedesZoneORG<br \/>- DOCKER_INFLUXDB_INIT_BUCKET=RedesZoneBUCKET<br \/>- INFLUXD_TLS_CERT=\/etc\/ssl\/redeszone-autofirmado.crt<br \/>- INFLUXD_TLS_KEY=\/etc\/ssl\/redeszone-autofirmado.key<br \/>networks:<br \/>dockerredeszone:<br \/>ipv4_address: 172.30.2.3<br \/>ports:<br \/>- '10.11.1.9:8086:8086\/tcp'<br \/>volumes:<br \/>- \/share\/MaquinasVirtuales\/Docker\/influxdb\/influxdb_data:\/var\/lib\/influxdb2<br \/>- \/share\/MaquinasVirtuales\/Docker\/influxdb\/config:\/etc\/influxdb2<br \/>- \/share\/MaquinasVirtuales\/Docker\/influxdb\/redeszone-autofirmado.crt:\/etc\/ssl\/redeszone-autofirmado.crt<br \/>- \/share\/MaquinasVirtuales\/Docker\/influxdb\/redeszone-autofirmado.key:\/etc\/ssl\/redeszone-autofirmado.key<br \/>#Grafana para mostrar todo lo de InfluxDB<br \/>grafana:<br \/>image: grafana\/grafana:latest<br \/>container_name: grafana<br \/>restart: unless-stopped<br \/>networks:<br \/>dockerredeszone:<br \/>ipv4_address: 172.30.2.4<br \/>ports:<br \/>- '10.11.1.9:8088:3000\/tcp'<br \/>volumes:<br \/>- \/share\/MaquinasVirtuales\/Docker\/grafana\/grafana_data:\/var\/lib\/grafana<br \/>- \/share\/MaquinasVirtuales\/Docker\/grafana\/redeszone-autofirmado.crt:\/etc\/ssl\/redeszone-autofirmado.crt<br \/>- \/share\/MaquinasVirtuales\/Docker\/grafana\/redeszone-autofirmado.key:\/etc\/ssl\/redeszone-autofirmado.key<br \/>depends_on:<br \/>- influxdb<br \/>environment:<br \/>- GF_SERVER_CERT_FILE=\/etc\/ssl\/redeszone-autofirmado.crt<br \/>- GF_SERVER_CERT_KEY=\/etc\/ssl\/redeszone-autofirmado.key<br \/>- GF_SERVER_PROTOCOL=https<br \/>- GF_SECURITY_ADMIN_USER=redeszone<br \/>- GF_SECURITY_ADMIN_PASSWORD=redeszone123<br \/>## FIN ##<\/code><\/p>\n<p>Tal y como ocurre en el caso anterior, es necesario que cambi\u00e9is la direcci\u00f3n IP 10.11.1.9 de nuestro NAS, por la del vuestro. Este fichero de docker-compose ya se encargar\u00e1 de crear los usuarios de administraci\u00f3n en InfluxDB y Grafana de forma autom\u00e1tica, activar el HTTPS y cargar los certificados digitales anteriores. Por este motivo, es muy importante tenerlo todo listo previamente, sino dar\u00e1 error a la hora de desplegar el stack. Este archivo de Docker-compose tambi\u00e9n lo ten\u00e9is disponible en la descarga de todo el c\u00f3digo fuente, as\u00ed no tendr\u00e9is errores con la sintaxis.<\/p>\n<p>Cuando tengamos todo instalado y funcionando, deber\u00edamos ver algo como esto:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826146\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-11.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Si entramos en cada contenedor, en la secci\u00f3n de \u00ablogs\u00bb podemos ver si hay alg\u00fan tipo de error. De momento no hemos realizado la configuraci\u00f3n en Telegraf, as\u00ed que habr\u00e1 errores en este contenedor, es completamente normal. Cuando hablemos de \u00abreiniciar\u00bb el contenedor, b\u00e1sicamente es seleccionarlo y pinchar en \u00abRestart\u00bb para reiniciarlo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826149\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-12.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora que ya lo tenemos todo listo, vamos a proceder a realizar la configuraci\u00f3n de todo el software.<\/p>\n<h2>Configuraci\u00f3n del software<\/h2>\n<p>Ha llegado el momento de empezar con la configuraci\u00f3n de los tres softwares. Primero vamos a configurar el InfluxDBv2 que es la base de datos, porque debemos crear los TOKEN necesarios para que tanto Telegraf como Grafana puedan conectarse correctamente. Os vamos a ense\u00f1ar c\u00f3mo crear un nuevo TOKEN con determinados permisos, y c\u00f3mo conseguir los diferentes identificadores necesarios para el buen funcionamiento del sistema de monitorizaci\u00f3n.<\/p>\n<h3>Configuraci\u00f3n de InfluxDBv2<\/h3>\n<p>Lo primero que tenemos que hacer es configurar la base de datos de InfluxDBv2, concretamente tenemos que coger cierta informaci\u00f3n y crear varios TOKEN para que los otros dos softwares (Telegraf y Grafana) puedan tener acceso. Para ello iniciamos sesi\u00f3n v\u00eda web, poniendo la direcci\u00f3n HTTPS:\/\/IP_NAS:8086 que es el puerto que hemos elegido. El nombre de usuario es \u00abredeszone\u00bb y la contrase\u00f1a es \u00abredeszone123\u00bb tal y como ten\u00edamos en el docker-compose.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826152\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-13.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Una vez que estemos dentro, podemos ver en la parte superior izquierda la organizaci\u00f3n a la que pertenecemos, que es la que configuramos a trav\u00e9s del \u00abenvironment\u00bb del Docker-compose.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826155\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-14.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>En este men\u00fa de \u00abAbout\u00bb podemos ver el \u00abOrganization ID\u00bb que lo necesitaremos posteriormente para configurar Grafana, as\u00ed que no lo olvid\u00e9is.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826158\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-15.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Lo m\u00e1s importante son los \u00ab<strong>Buckets<\/strong>\u00ab, esto son las bases de datos donde se almacenar\u00e1 todo el contenido. Tenemos la posibilidad de crear todos los buckets que nosotros queramos, simplemente le daremos un nombre. Con el docker-compose ya generamos uno autom\u00e1ticamente llamado \u00abRedesZoneBUCKET\u00bb que ser\u00e1 donde Telegraf escribir\u00e1 toda la informaci\u00f3n que recoja v\u00eda SNMP. No obstante, podemos crear uno nuevo sin problemas y que recoja toda la informaci\u00f3n ah\u00ed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826161\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-16.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>En la secci\u00f3n de \u00ab<strong>API TOKENS<\/strong>\u00bb es donde podemos generar TOKEN nuevos con ciertos permisos, tanto de lectura como escritura en todos los BUCKETS o solamente en ciertos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826164\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-17.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>En este men\u00fa, tendremos que darle un nombre el TOKEN, por ejemplo, \u00ab<strong>Telegraf<\/strong>\u00ab, y a continuaci\u00f3n, elegiremos el Bucket donde Telegraf trabajar\u00e1, y le daremos permisos de lectura y escritura. No es recomendable crear un TOKEN universal para todos los buckets por cuestiones de seguridad.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826167\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-18.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Una vez que lo hayamos creado, copiamos todo ese TOKEN en el portapapeles, ser\u00e1 el que usaremos en Telegraf para escribir, o bien en Grafana para leer toda la informaci\u00f3n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826170\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-19.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>La configuraci\u00f3n de los TOKEN que debemos realizar en InfluxDB son los siguientes:<\/p>\n<ul>\n<li><strong>Token para Telegraf<\/strong>: creamos un token con permisos de escritura (no es necesario lectura) solamente en el bucket de trabajo.<\/li>\n<li><strong>Token para Grafana<\/strong>: creamos un token con permisos de lectura (no es necesario escritura) para todos los buckets. Si no lo hacemos as\u00ed, el d\u00eda de ma\u00f1ana si creamos un nuevo bucket, tendremos que reconfigurar Grafana con un nuevo token que tenga permisos para todos. Tambi\u00e9n podr\u00edas hacerlo individualmente para mayor seguridad, pero tendr\u00e1s que reconfigurar Grafana cada vez que pongas uno nuevo.<\/li>\n<\/ul>\n<h3>Configuraci\u00f3n de Telegraf<\/h3>\n<p>Ha llegado el momento de configurar Telegraf adecuadamente para que escriba todos los datos conseguidos por SNMP al InfluxDB. Esta parte es la m\u00e1s compleja y delicada, sobre todo si nunca has trabajo con SNMP. Lo primero que debemos hacer es copiar la MIB del sistema operativo de QNAP (ya sea QTS o QuTS hero) en el directorio de \u00ab\/share\/MaquinasVirtuales\/Docker\/telegraf\/mibs\u00bb, tambi\u00e9n debemos copiar la <a href=\"https:\/\/github.com\/hardaker\/net-snmp\/blob\/master\/mibs\/SNMPv2-SMI.txt\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>MIB SNMPv2 que pod\u00e9is bajar de aqu\u00ed<\/strong><\/a>. Una vez que est\u00e9n las dos en el directorio, ya estaremos listos para configurar el archivo de configuraci\u00f3n telegraf.conf.<\/p>\n<p>Debe tener el siguiente contenido:<\/p>\n<p><code class=\"code-section\">## COMPROBAR LAS MIBS CON EL SNMP<br \/>##snmpget -v3 -l authPriv -u telegraf -a SHA -A \"redeszone\" -x DES -X \"redeszone\" 10.11.1.9 QTS-MIB::upsBatteryChargeWarningLevel.0<br \/>[[outputs.influxdb_v2]]<br \/>urls = [\"https:\/\/10.11.1.9:8086\/\"]<br \/>token = \"TOKEN_DEL_INFLUXDB2\"<br \/>organization = \"RedesZoneORG\"<br \/>bucket = \"RedesZoneBUCKET\"<br \/>tls_ca = \"\/etc\/telegraf\/redeszone-ca.crt\"<br \/>[[inputs.snmp]]<br \/># Direccion IP del servidor NAS.<br \/>agents = [ \"10.11.1.9\" ]<br \/># Intervalo de consulta al NAS<br \/>interval = \"30s\"<br \/># Timeout a la hora de hacer la peticion de la Query<br \/>timeout = \"30s\"<br \/># Numero de intentos m\u00e1ximos antes de dar timeout.<br \/>retries = 3<br \/># The GETBULK max-repetitions parameter<br \/>max_repetitions = 10<br \/># Nombre del SNMP<br \/>name = \"snmp.QNAP_NAS\"<br \/>#SNMPv3<br \/>version = 3<br \/>sec_name = \"telegraf\"<br \/>auth_protocol = \"SHA\"<br \/>auth_password = \"redeszone\"<br \/>sec_level = \"authPriv\"<br \/>priv_protocol = \"DES\"<br \/>priv_password = \"redeszone\"<br \/>path = [\"\/usr\/share\/snmp\/mibs\"]<br \/>###### QuTS hero #####<br \/>######<br \/>###### Si usas QTS todo lo que hay abajo debes quitarlo, y dejar solamente la parte de QTS.<br \/>######<br \/>##<br \/>## Detalles del sistema operativo y todas las m\u00e9tricas<br \/>##<br \/># CPU<br \/>[[inputs.snmp.field]]<br \/>name = \"nombre_nas\"<br \/>oid = \"QTS-MIB::enclosureName.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"cpu_uso\"<br \/>oid = \"QTS-MIB::systemCPU-Usage.0\"<br \/># Memoria RAM<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_total\"<br \/>oid = \"QTS-MIB::systemTotalMem.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_libre\"<br \/>oid = \"QTS-MIB::systemFreeMem.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_disponible\"<br \/>oid = \"QTS-MIB::systemAvailableMem.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_usada\"<br \/>oid = \"QTS-MIB::systemUsedMemory.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_cache_usada\"<br \/>oid = \"QTS-MIB::systemCacheMemory.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_buffer\"<br \/>oid = \"QTS-MIB::systemBufferMemory.0\"<br \/># Uptime<br \/>[[inputs.snmp.field]]<br \/>name = \"tiempo_uso\"<br \/>oid = \"QTS-MIB::sysUptime.0\"<br \/># Version actual firmware<br \/>[[inputs.snmp.field]]<br \/>name = \"firmware_version_actual\"<br \/>oid = \"QTS-MIB::firmwareVersion.0\"<br \/># Version disponble del firmware<br \/>[[inputs.snmp.field]]<br \/>name = \"firmware_version_nueva\"<br \/>oid = \"QTS-MIB::firmwareUpgradeAvailable.0\"<br \/># Temperatura<br \/>[[inputs.snmp.field]]<br \/>name = \"temperatura_sistema\"<br \/>oid = \"QTS-MIB::enclosureSystemTemp.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"temperatura_sistema_2\"<br \/>oid = \"QTS-MIB::systemTemperature.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"temperatura_cpu\"<br \/>oid = \"QTS-MIB::cpuTemperature.0\"<br \/># Ventiladores<br \/>[[inputs.snmp.field]]<br \/>name = \"rpm_ventilador_1\"<br \/>oid = \"QTS-MIB::sysFanSpeed.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"rpm_ventilador_2\"<br \/>oid = \"QTS-MIB::sysFanSpeed.2\"<br \/>[[inputs.snmp.field]]<br \/>name = \"rpm_ventilador_3\"<br \/>oid = \"QTS-MIB::sysFanSpeed.3\"<br \/>##<br \/>## Discos duros y SSD<br \/>##<br \/># DISCO 1<br \/># Debes poner tantos discos duros y SSD como tengas instalados en el sistema.<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_numero_1\"<br \/>oid = \"QTS-MIB::diskIndex.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_id_1\"<br \/>oid = \"QTS-MIB::diskID.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_fabricante_1\"<br \/>oid = \"QTS-MIB::diskManufacturer.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_modelo_1\"<br \/>oid = \"QTS-MIB::diskModel.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_numero_serie_1\"<br \/>oid = \"QTS-MIB::diskSerialNumber.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_tipo_1\"<br \/>oid = \"QTS-MIB::diskType.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_estado_1\"<br \/>oid = \"QTS-MIB::diskStatus.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_temperatura_1\"<br \/>oid = \"QTS-MIB::diskTemperature.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_capacidad_1\"<br \/>oid = \"QTS-MIB::diskCapacity.1\"<br \/>##<br \/>## Conjuntos de almacenamiento<br \/>##<br \/>#CONJUNTO DE ALMACENAMIENTO 1<br \/>#Debes poner tantos conjuntos de almacenamiento como tengas creados<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_ID\"<br \/>oid = \"QTS-MIB::storagepoolID.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_capacidad_total\"<br \/>oid = \"QTS-MIB::storagepoolCapacity.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_espacio_disponible\"<br \/>oid = \"QTS-MIB::storagepoolFreeSize.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_estado\"<br \/>oid = \"QTS-MIB::storagepoolStatus.1\"<br \/>##<br \/>## Carpetas compartidas (DATASET)<br \/>##<br \/>#DATASET XXXXXX<br \/>#Debes poner tantas carpetas compartidas como tengas creadas<br \/>[[inputs.snmp.field]]<br \/>name = \"carpeta_compartida_1_nombre\"<br \/>oid = \"QTS-MIB::sharedFolderName.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"carpeta_compartida_1_capacidad_total\"<br \/>oid = \"QTS-MIB::sharedFolderCapacity.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"carpeta_compartida_1_capacidad_disponible\"<br \/>oid = \"QTS-MIB::sharedFolderFreeSize.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"carpeta_compartida_1_estado\"<br \/>oid = \"QTS-MIB::sharedFolderStatus.1\"<br \/>##<br \/>## Monitorizacion de un SAI<br \/>##<br \/>#Monitorizacion de SAI<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_modelo\"<br \/>oid = \"QTS-MIB::upsModel.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_carga_porcentaje\"<br \/>oid = \"QTS-MIB::upsLoadPercentage.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_carga_bateria\"<br \/>oid = \"QTS-MIB::upsBatteryCharge.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_carga_aviso\"<br \/>oid = \"QTS-MIB::upsBatteryChargeWarningLevel.0\"<br \/>###### QTS #####<br \/>######<br \/>###### Si usas QuTS hero todo lo que hay abajo debes quitarlo, y dejar solamente la parte de QuTS hero.<br \/>######<br \/>##<br \/>## Detalles del sistema operativo y todas las m\u00e9tricas<br \/>##<br \/># CPU<br \/>[[inputs.snmp.field]]<br \/>name = \"nombre_nas\"<br \/>oid = \"QTS-MIB::enclosureName.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"cpu_uso\"<br \/>oid = \"QTS-MIB::systemCPU-Usage.0\"<br \/># Memoria RAM<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_total\"<br \/>oid = \"QTS-MIB::systemTotalMem.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_libre\"<br \/>oid = \"QTS-MIB::systemFreeMem.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_disponible\"<br \/>oid = \"QTS-MIB::systemAvailableMem.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_ram_usada\"<br \/>oid = \"QTS-MIB::systemUsedMemory.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_cache_usada\"<br \/>oid = \"QTS-MIB::systemCacheMemory.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"memoria_buffer\"<br \/>oid = \"QTS-MIB::systemBufferMemory.0\"<br \/># Uptime<br \/>[[inputs.snmp.field]]<br \/>name = \"tiempo_uso\"<br \/>oid = \"QTS-MIB::sysUptime.0\"<br \/># Version actual firmware<br \/>[[inputs.snmp.field]]<br \/>name = \"firmware_version_actual\"<br \/>oid = \"QTS-MIB::firmwareVersion.0\"<br \/># Version disponble del firmware<br \/>[[inputs.snmp.field]]<br \/>name = \"firmware_version_nueva\"<br \/>oid = \"QTS-MIB::firmwareUpgradeAvailable.0\"<br \/># Temperatura<br \/>[[inputs.snmp.field]]<br \/>name = \"temperatura_sistema\"<br \/>oid = \"QTS-MIB::enclosureSystemTemp.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"temperatura_cpu\"<br \/>oid = \"QTS-MIB::cpuTemperature.0\"<br \/># Ventiladores<br \/>[[inputs.snmp.field]]<br \/>name = \"rpm_ventilador_1\"<br \/>oid = \"QTS-MIB::sysFanSpeed.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"rpm_ventilador_2\"<br \/>oid = \"QTS-MIB::sysFanSpeed.2\"<br \/>[[inputs.snmp.field]]<br \/>name = \"rpm_ventilador_3\"<br \/>oid = \"QTS-MIB::sysFanSpeed.3\"<br \/>##<br \/>## Discos duros y SSD<br \/>##<br \/># DISCO 1<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_numero_1\"<br \/>oid = \"QTS-MIB::diskIndex.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_id_1\"<br \/>oid = \"QTS-MIB::diskID.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_fabricante_1\"<br \/>oid = \"QTS-MIB::diskManufacturer.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_modelo_1\"<br \/>oid = \"QTS-MIB::diskModel.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_numero_serie_1\"<br \/>oid = \"QTS-MIB::diskSerialNumber.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_tipo_1\"<br \/>oid = \"QTS-MIB::diskType.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_estado_1\"<br \/>oid = \"QTS-MIB::diskStatus.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_temperatura_1\"<br \/>oid = \"QTS-MIB::diskTemperature.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"disco_capacidad_1\"<br \/>oid = \"QTS-MIB::diskCapacity.1\"<br \/>##<br \/>## Conjuntos de almacenamiento<br \/>##<br \/>#CONJUNTO DE ALMACENAMIENTO 1<br \/>#Debes dar de alta tantos conjuntos de almacenamiento como tengas.<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_ID\"<br \/>oid = \"QTS-MIB::storagepoolID.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_capacidad_total\"<br \/>oid = \"QTS-MIB::storagepoolCapacity.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_espacio_disponible\"<br \/>oid = \"QTS-MIB::storagepoolFreeSize.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"conjunto_almacenamiento_1_estado\"<br \/>oid = \"QTS-MIB::storagepoolStatus.1\"<br \/>##<br \/>## Volumenes creados en QTS<br \/>##<br \/>#Volumen 1<br \/>#Debes poner tantos como tengas creados en el QTS.<br \/>[[inputs.snmp.field]]<br \/>name = \"volumen_1_nombre\"<br \/>oid = \"QTS-MIB::volumeName.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"volumen_1_capacidad_total\"<br \/>oid = \"QTS-MIB::volumeCapacity.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"volumen_1_capacidad_disponible\"<br \/>oid = \"QTS-MIB::volumeFreeSize.1\"<br \/>[[inputs.snmp.field]]<br \/>name = \"volumen_1_estado\"<br \/>oid = \"QTS-MIB::volumeStatus.1\"<br \/>#Monitorizacion de SAI<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_modelo\"<br \/>oid = \"QTS-MIB::upsModel.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_carga_porcentaje\"<br \/>oid = \"QTS-MIB::upsLoadPercentage.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_carga_bateria\"<br \/>oid = \"QTS-MIB::upsBatteryCharge.0\"<br \/>[[inputs.snmp.field]]<br \/>name = \"ups_carga_aviso\"<br \/>oid = \"QTS-MIB::upsBatteryChargeWarningLevel.0\"<\/code><\/p>\n<p>Este archivo es el \u00abuniversal\u00bb para QTS y QuTS hero, por lo que, dependiendo del sistema operativo que uses, tendr\u00e1s que quitar la parte de uno u otro. Adem\u00e1s, con el fin de configurar adecuadamente los diferentes inputs.snmp.field, os recomendamos hacer uso de la herramienta snmpget para ver uno a uno los valores de vuestro NAS. Para usar esto, deber\u00e1s utilizar cualquier sistema operativo Linux como Debian, y usar la siguiente sintaxis:<\/p>\n<p><code class=\"code-section\">snmpget -v3 -l authPriv -u telegraf -a SHA -A \"redeszone\" -x DES -X \"redeszone\" 10.11.1.9 QTS-MIB::systemCPU-Usage.0<\/code><\/p>\n<p>Al poner esta orden, nos devolver\u00e1 informaci\u00f3n sobre el uso de la CPU del sistema. Lo mismo debes hacer con la parte de discos duros y carpetas compartidas o conjuntos de almacenamiento, tienes que adaptar el fichero de configuraci\u00f3n anterior.<\/p>\n<p>Otro aspecto muy importante es la parte de \u00aboutputs\u00bb, aqu\u00ed debes configurar adecuadamente la direcci\u00f3n IP del InfluxDB y el TOKEN correspondiente, as\u00ed como la organizaci\u00f3n y el bucket elegido. Todo este c\u00f3digo fuente tambi\u00e9n os lo vamos a proporcionar.<\/p>\n<p>Una vez que lo tengamos todo configurado, reiniciamos el contenedor de Telegraf como os hemos indicado antes, y nos aseguramos de que no haya ning\u00fan tipo de error. S\u00ed es normal que aparezca un warning indicando: \u00abDeprecationWarning: Value \u00abagent_host\u00bb for option \u00abagent_host_tag\u00bb of plugin \u00abinputs.snmp\u00bb deprecated since version 1.29.0 and will be removed in : set to \u00absource\u00bb for consistent usage across plugins or safely ignore this message and continue to use the current value\u00bb. Pero no es necesario hacer nada.<\/p>\n<p>Una vez que esperemos aproximadamente un minuto, podremos ver en nuestro InfluxDB que ya hay informaci\u00f3n en el bucket configurado. Con el \u00abData Explorer\u00bb podemos ir navegando por la diferente informaci\u00f3n escrita en la base de datos, y al terminar podemos pinchar en \u00abSubmit\u00bb para que nos la muestre. Este \u00abData explorer\u00bb es muy completo, porque tambi\u00e9n nos permite tratar los datos e incluso generar el c\u00f3digo fuente para posteriormente copiarlo en Grafana.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826179\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-20.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Es muy importante elegir siempre el \u00ab<strong>host<\/strong>\u00bb QNAPredeszone tal y como pod\u00e9is ver, para localizar exactamente nuestro servidor NAS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826182\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-21.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Podemos mostrar el uso de la CPU de las \u00faltimas horas, tanto la media, como \u00faltimos valores etc. En la siguiente imagen pod\u00e9is ver la configuraci\u00f3n con \u00abmean\u00bb:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826185\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-22.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>En la siguiente imagen pod\u00e9is ver la configuraci\u00f3n con \u00ablast\u00bb:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826188\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-23.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Tambi\u00e9n podremos ver las temperaturas de los discos duros o SSD, much\u00edsima informaci\u00f3n del NAS lo tenemos disponible aqu\u00ed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826191\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-24.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>En estos instantes, ya tenemos Telegraf funcionando perfectamente enviando los datos a la base de datos con InfluxDBv2. Ahora vamos a irnos a Grafana para proceder con la configuraci\u00f3n b\u00e1sica.<\/p>\n<h3>Configuraci\u00f3n de Grafana<\/h3>\n<p>Lo primero que tenemos que hacer, es iniciar sesi\u00f3n v\u00eda web, poniendo la direcci\u00f3n HTTPS:\/\/IP_NAS:8088 que es el puerto que hemos elegido. El nombre de usuario es \u00abredeszone\u00bb y la contrase\u00f1a es \u00abredeszone123\u00bb tal y como ten\u00edamos en el docker-compose. Nada m\u00e1s acceder, veremos acceso a algunos tutoriales que podemos seguir para realizar la puesta en marcha.<\/p>\n<p>Lo primero que debemos hacer es irnos a \u00abConnections\u00bb y elegir \u00abInfluxDB\u00bb:<\/p>\n<div class=\"gallery swipe\">\n<div class=\"swipe-wrap\">\n<div><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"311\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-25.jpg\" class=\"attachment-large size-large\" alt srcset=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-25.jpg 655w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-52.jpg 300w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-53.jpg 768w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-54.jpg 1536w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-55.jpg 1650w\" sizes=\"(max-width: 655px) 100vw, 655px\"><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"311\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-26.jpg\" class=\"attachment-large size-large\" alt srcset=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-26.jpg 655w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-56.jpg 300w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-57.jpg 768w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-58.jpg 1536w, http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-59.jpg 1650w\" sizes=\"(max-width: 655px) 100vw, 655px\"><\/div>\n<\/div>\n<p><span class=\"swipe-prev arrow left-arrow\"><\/span><span class=\"swipe-next arrow right-arrow\"><\/span><\/div>\n<p>Ahora elegiremos el nombre del origen de los datos, nosotros hemos puesto simplemente \u00ab<strong>influxdb<\/strong>\u00ab. En la secci\u00f3n de \u00ab<strong>Query Language<\/strong>\u00bb debemos elegir \u00ab<strong>Flux<\/strong>\u00bb ya que estamos ante una base de datos InfluxDBv2. Abajo tendremos que empezar con la configuraci\u00f3n para conectarnos a la base de datos:<\/p>\n<ul>\n<li><strong>HTTP<\/strong>:\n<ul>\n<li><strong>URL<\/strong>: https:\/\/IP_NAS:8086<\/li>\n<li><strong>Auth<\/strong>: \u00abwith CA cert\u00bb activado<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>En la siguiente imagen pod\u00e9is ver c\u00f3mo quedar\u00eda:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826200\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-27.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora en la secci\u00f3n de <strong>TLS\/SSL Auth Details<\/strong>, debemos copiar el contenido del redeszone-ca.crt, es decir, el certificado de la Autoridad de Certificaci\u00f3n. Esto sirve para que Grafana verifique que se est\u00e1 conectando al servidor InfluxDBv2 correctamente y con seguridad.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826209\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-28.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>En el men\u00fa de \u00abInfluxDB Details\u00bb, debemos poner:<\/p>\n<ul>\n<li><strong>Organization<\/strong>: tenemos que poner el identificador de la organizaci\u00f3n que ten\u00edamos en \u00abABOUT\u00bb, es la cadena de caracteres.<\/li>\n<li><strong>Token<\/strong>: es el token que generamos en InfluxDB con permisos de lectura a todos los buckets. Debemos copiarlo aqu\u00ed.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826203\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-29.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Recuerda que el men\u00fa de \u00ab<strong>Organization<\/strong>\u00bb est\u00e1 en About, concretamente aqu\u00ed:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826206\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-30.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Una vez que lo hayamos hecho todo, pinchamos en \u00abSave &amp; Test\u00bb y nos indicar\u00e1 si se ha conectado correctamente o no. Si se ha conectado bien, nos indicar\u00e1 que el origen de los datos est\u00e1 correcto, y que se ha encontrado con un bucket.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826212\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-31.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora podemos irnos al men\u00fa principal, arriba a la derecha en el \u00ab<strong>+<\/strong>\u00bb elegimos \u00ab<strong>New Dashboard<\/strong>\u00ab.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826215\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-32.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora elegimos \u00ab<strong>Add Visualization<\/strong>\u00ab:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826218\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-33.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Elegimos el origen de los datos, que es el InfluxDB que acabamos de crear.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826221\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-34.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Si nos vamos al men\u00fa del InfluxDB en el \u00abData Explorer\u00bb, mostramos la informaci\u00f3n que queramos, tal y como aparece aqu\u00ed:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826224\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-35.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Al pinchar en \u00abScript editor\u00bb nos aparecer\u00e1 el c\u00f3digo fuente de la consulta que debemos poner en Grafana:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826227\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-36.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Con tan solo copiar este c\u00f3digo, Grafana no lo mostrar\u00e1 exactamente igual, pero l\u00f3gicamente tenemos la posibilidad de personalizar en detalle absolutamente todo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826230\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-37.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Este es uno de los muchos paneles que podemos configurar muy f\u00e1cilmente, ahora ya solo es necesario que investigues todo lo que puedes mostrar con Grafana, e incluso configurar avisos por email o Telegram.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826233\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-38.jpg\" alt width=\"1200\" height=\"783\"><\/p>\n<p>Ahora que ya tenemos todo conectado, os vamos a ense\u00f1ar c\u00f3mo son nuestros paneles, y os daremos el c\u00f3digo fuente para que lo adapt\u00e9is como vosotros quer\u00e1is.<\/p>\n<h2>Panel de control de Grafana monitorizando el NAS<\/h2>\n<p>Grafana es un software que nos va a permitir mostrar much\u00edsimos datos, y es que tenemos paneles realmente completos y totalmente personalizables. Lo mejor de todo esto, es que vamos a poder usar nuestro NAS como servidor de monitorizaci\u00f3n, donde recibir todos los datos para posteriormente mostrarlos con Grafana de una forma realmente bonita. Actualmente nosotros usamos Grafana para recibir datos desde el propio NAS de QNAP, desde un pfSense que es nuestro router, pero que est\u00e1 virtualizado en QNAP, y tambi\u00e9n desde un contenedor docker llamado speedtest-tracker que nos permite realizar test de velocidad autom\u00e1ticos y nos genera datos muy interesantes sobre velocidades y latencias.<\/p>\n<h3>Panel de Grafana monitorizando QNAP<\/h3>\n<p>El panel de monitorizaci\u00f3n del QNAP est\u00e1 formado por diferentes m\u00f3dulos, vamos a poder ver el tiempo de encendido, la versi\u00f3n actual del firmware y si hay una nueva, as\u00ed como monitorizar el SAI que tengamos conectado por USB. Tambi\u00e9n podemos ver el uso de CPU, RAM, funcionamiento de los ventiladores, las temperaturas de CPU y sistema.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824679\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-3.jpg\" alt width=\"1200\" height=\"770\"><\/p>\n<p>Las temperaturas de las unidades SSD y de los discos duros es cr\u00edtico, por lo que tambi\u00e9n lo tenemos monitoriz\u00e1ndolos, tanto con la temperatura actual como el hist\u00f3rico, para detectar posibles problemas que tengamos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824682\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-4.jpg\" alt width=\"1200\" height=\"831\"><\/p>\n<p>Tener los conjuntos de almacenamiento y las carpetas compartidas (o vol\u00famenes) con espacio libre es cr\u00edtico para el buen funcionamiento del sistema, as\u00ed que tambi\u00e9n monitorizamos en detalle todo esto.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-824685\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-5.jpg\" alt width=\"1200\" height=\"841\"><\/p>\n<p>Como pod\u00e9is ver, usamos diferentes tipos de gr\u00e1ficas para mostrarnos la informaci\u00f3n. En esencia nos muestra la misma informaci\u00f3n, pero una nos mostrar\u00e1 los datos en bruto, otra nos muestra el porcentaje muy f\u00e1cil de ver, y en la gr\u00e1fica de abajo tendremos el hist\u00f3rico de almacenamiento.<\/p>\n<h3>Panel de Grafana monitorizando pfSense<\/h3>\n<p>Aprovechando que tenemos la estructura de InfluxDBv2 y Grafana, tambi\u00e9n hemos puesto a nuestro pfSense a enviar los datos a la base de datos, para monitorizar todo en detalle para saber si hay alg\u00fan tipo de problema. Podremos ver los datos de CPU, RAM, uso de disco y mucha m\u00e1s informaci\u00f3n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826251\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-39.jpg\" alt width=\"1200\" height=\"928\"><\/p>\n<p>Algo muy interesante, es que podemos monitorizar todas las interfaces de red del equipo, tanto las f\u00edsicas como tambi\u00e9n las virtuales que vayamos a crear. Podemos ver la velocidad en tiempo real, los paquetes, el tr\u00e1fico en tiempo real de descarga y subida, as\u00ed como el tr\u00e1fico acumulado y los errores de entrada y\/o salida.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826254\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-40.jpg\" alt width=\"1200\" height=\"928\"><\/p>\n<p>Simplemente tenemos que instalar el paquete de Telegraf en pfSense, y configurarlo adecuadamente con el siguiente c\u00f3digo en la parte de opciones personalizadas (no debemos marcar InfluxDB en la parte superior):<\/p>\n<p><code class=\"code-section\">[[outputs.influxdb_v2]]<br \/>urls = [\"https:\/\/192.168.10.2:8086\/\"]<br \/>token = \"XXXXX\"<br \/>organization = \"BronHome\"<br \/>bucket = \"PFSENSE\"<br \/>tls_ca = \"\/usr\/local\/etc\/telegraf-ca.crt\"<\/code><\/p>\n<p>Aplicamos, y ya deber\u00edamos empezar a verlo en el InfluxDB, previamente tenemos que crear el bucket nuevo con su correspondiente token.<\/p>\n<h3>Panel de Grafana monitorizando el test de velocidad de Internet<\/h3>\n<p>Speedtest-tracker es un contenedor Docker que permite realizar test de velocidad cada cierto tiempo, y nos mostrar\u00e1 las estad\u00edsticas en una web espec\u00edficamente dedicada a ello. No obstante, en la web de administraci\u00f3n tenemos la posibilidad de enviar los datos tambi\u00e9n a InfluxDB. Nosotros lo hemos hecho, y as\u00ed podemos mostrarlo todo en Grafana.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-826257\" src=\"http:\/\/cordobadirecto.com\/wp-content\/uploads\/2024\/06\/configura-telegraf-influxdbv2-y-grafana-para-monitorizar-los-nas-de-qnap-41.jpg\" alt width=\"1200\" height=\"928\"><\/p>\n<p>Como pod\u00e9is ver, todos estos paneles llevan bastante trabajo para dejarlos \u00fatiles. Pod\u00e9is descargarlos todos directamente desde aqu\u00ed:<\/p>\n<p>No olvides que tenemos un v\u00eddeo en YouTube explicando todo esto:<\/p>\n<p>Hasta aqu\u00ed hemos llegado con este tutorial paso a paso para instalar y configurar Telegraf, InfluxDBv2 y Grafana. Si ten\u00e9is alguna duda pod\u00e9is ponernos un comentario.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este software es bastante f\u00e1cil de configurar, b\u00e1sicamente tendremos un origen de datos que puede ser HTTP, sensores usando diferentes protocolos y tambi\u00e9n la nube. En la parte de \u00abInput\u00bb o entrada, podremos leer los estados de CPU, RAM, los mensajes MQTT, leer el estado del sistema a trav\u00e9s de SNMP y mucho m\u00e1s. Una [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":151205,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[42],"tags":[],"_links":{"self":[{"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/posts\/151204"}],"collection":[{"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/comments?post=151204"}],"version-history":[{"count":0,"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/posts\/151204\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/media\/151205"}],"wp:attachment":[{"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/media?parent=151204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/categories?post=151204"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cordobadirecto.com\/index.php\/wp-json\/wp\/v2\/tags?post=151204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}