Saludos amigos, hoy os traigo una nueva entrada sobre Grafana, la de hoyes especial para mí ya que llevo usando NetApp mucho tiempo, pero nunca me había parado a pensar en cómo poder monitorizar en detalle éste fantástico Hardware.
Probando la última Release, me dí cuenta de que se exponen de manera muy sencilla todas las API que el sistema utiliza para cualquier acción, con lo que decidí que era momento de darle su sección dentro de ésta, vuestra, serie de En Busca del Dashboard Perfecto.
Dashboard para NetApp ONTAP
Cuando terminemos la entrada tendremos algo similar a ese Dashboard que te permitirá visualizar:
Dashboard – Resumen
Este primer dashboard de la serie, porque tengo intención de crear quizá alguno más con otros detalles como son la SVM, etc., contiene:
- ONTAP Cluster Overview – Nombre del Clúster, Versión e IP de gestión.
- ONTAP Cluster metrics – Tres gráficas que son similares a las que ONTAP muestra, con Latency, IOPS y Throughput.
- ONTAP Cluster Aggregate Storage – Tabla con el detalle de espacio del aggregate.
- ONTAP Cluster SVM – Una tabla muy completa donde se nos muestra todas nuestras Storage VMs.
- ONTAP Volumes – Una tabla muy completa donde se nos muestra todos nuestros Volúmenes.
- ONTAP Cluster LUN– Una tabla muy completa donde se nos muestra todas nuestras LUN.
- ONTAP Shares – Una tabla muy completa donde se nos muestra todas nuestras Shares.
Topología con todos los componentes lógicos
Esta entrada es similar a las anteriores ya que en este caso, usaremos una combinación de un shell script para recolectar las métricas de NetApp usando RESTful API e InfluxDB. El diseño sería algo similar a esto:
Como podemos ver, el shell script descargará las métricas de NetApp ONTAP usando la API RESTful, que enviará todos los datos a InfluxDB, desde donde podremos verlos cómodamente con Grafana.
Descargar, y configurar el script the netapp_ontap.sh
Tenemos casi todo listo, tenemos un último paso, el guión que hará que todo esto funcione, descargaremos la última versión del repositorio Github:
Este script de shell, puede ser descargado y ejecutado desde el servidor de telegraf, o influxDB, o cualquier otro Linux. Tendremos que editar los parámetros de configuración:
netappInfluxDBURL="http://YOURINFLUXSERVERIP" #Your InfluxDB Server, http://FQDN or https://FQDN if using SSL netappInfluxDBPort="8086" #Default Port netappInfluxDB="telegraf" #Default Database netappInfluxDBUser="USER" #User for Database netappInfluxDBPassword='PASSWORD' #Password for Database # Endpoint URL for login action netappUsername="YOURONTAPUSER" #Your username with privileges to login into the ONTAP netappPassword='YOURONTAPPASSWORD' netappAuth=$(echo -ne "$netappUsername:$netappPassword" | base64); netappRestServer="YOURONTAPSERVER" netappMetrics="20" #They came in interval of 15 seconds, so 20 will be equal to the metrics of the last 5 minutes. If you want to run your script every 5 minutes, let it like this, if not, change it accordingly.
Una vez que los cambios estén hechos, haz el script ejecutable con chmod:
chmod +x netapp_ontap.sh
Lo ejecutamos, y la salida del comando debe ser algo parecido a la siguiente, sin errores:
Writing netapp_SVM_overview to InfluxDB HTTP/1.1 204 No Content Content-Type: application/json Request-Id: bf99d74a-95a5-11eb-a1c2-0050569017a8 X-Influxdb-Build: OSS X-Influxdb-Version: 1.8.4 X-Request-Id: bf99d74a-95a5-11eb-a1c2-0050569017a8 Date: Mon, 05 Apr 2021 00:27:48 GMT Writing netapp_LUN_overview to InfluxDB HTTP/1.1 204 No Content Content-Type: application/json Request-Id: bfe3d80e-95a5-11eb-a1c3-0050569017a8 X-Influxdb-Build: OSS X-Influxdb-Version: 1.8.4 X-Request-Id: bfe3d80e-95a5-11eb-a1c3-0050569017a8 Date: Mon, 05 Apr 2021 00:27:48 GMT
Si es así, por favor, ahora agrega este script a tu crontab, como por ejemplo cada 5minutos, no creo que nuestros Dashboards se actualicen más amenudo, pero bueno bajarlo si así es:
*/5 * * * * /home/oper/netapp_ontap.sh >> /var/log/netapp.log 2>&1
Estamos listos para irnos al siguiente paso.
Grafana Dashboards
He creado un Dashboard desde cero seleccionando las mejores solicitudes a la base de datos, terminando los colores, pensando en los gráficos y en cómo mostrarlos, y todo está automatizado para que se ajuste a nuestro entorno sin ningún problema y sin tener que editar nada manualmente. El Dashboard se puede encontrar aquí, una vez importado, puedes usar los menús desplegables superiores para seleccionar entre Clúster, SVM, etc:
Importar el Dashboard de Grafana de manera sencilla
Para que no tengas que perder horas configurando un nuevo Dashboard, e ingiriendo y depurando lo que quieras, ya he creado un maravilloso Dashboards con todo lo que necesitas para monitorizar nuestro entorno de una forma muy sencilla, se verá como la imagen que te mostré arriba. Selecciona el nombre que quieras e introduce el ID: 14179, que es el ID único del Dashboard, o la URL:
Con los menús de arriba, podremos movernos entre Clúster, SVM, etc.:
¿Queréis algo más extenso, con más Dashboards, etc?
Desde que puse la imagen en twitter, e incluso con los primeros pasos, son algunos los que me han comentado que ojee https://nabox.org/ un proyecto opensource muy interesante, que incluye un montón de dashboards y un appliance, etc.
- Puntos positivos:
- Tiene infinidad de dashboards, seguro más pulidos que éste.
- Viene en un appliance y parece sencillo de hacerlo funcionar
- Puntos negativos:
- Viene en un appliance, lo que conlleva desplegar algo adicional a nuestro sistema que ya tenemos de Grafana, además de hacer díficl actualizar los paquetes internos sin saber si vamos a romper algo.
- En mi serie hacemos uso de InfluxDB, Telegraf, y Grafana. Pero nabox usa Graphite, que es una tecnología más a aprender y mantener.
- Creo que requiere que instalemos adicionalmente en nuestro entorno NetApp Harvest y el NMSDK.
Creo que es bueno tener alternativas, y la mía es un simple bash shell que llama a la API directamente de los Nodos NetApp, sin instalar nada más. nabox me parece mucho más compleja, quizá bien si no tenemos nada instalado, pero si tenemos ya nuestro sistema, complicado de unir todo.
Por favor, dejar vuestros comentarios aquí, o en GitHub. ¡Muchas gracias por la lectura!
Espero que os guste, y me gustaría dejaros la serie completa aquí, para que empecéis a jugar con los plugins que os he ido contando todos estos años:
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte I (Instalando InfluxDB, Telegraf y Grafana)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XII – Plugin nativo de Telegraf para vSphere
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIV – Veeam Availability Console
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XV – Monitorización IPMI de nuestros Hosts ESXi
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVI – Rendimiento y seguridad avanzada de Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVII – Mostrando los Dashboards en dos monitores usando Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIX (Monitorizando Veeam con Enterprise Manager) Shell Script
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XX (Monitorizando Certificados SSL x.509)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXI (Monitorizando HTTP Responses)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXII (Monitorizando Cloudflare con Mapa)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIII (Monitorizando WordPress con Jetpack RESTful API)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIV (Monitorizando de Veeam for Microsoft Azure)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXV (Monitorizando Consumo Eléctrico)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVI (Monitorizando Veeam Backup for Nutanix)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVII (Monitorizando ReFS y XFS (block-cloning y reflink)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVIII (Monitorizando HPE StoreOnce)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXX (Monitorizando Veeam Backup for AWS)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXI (Monitorizando Unifi Protect)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXII (Monitorizando Veeam ONE – experimental)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp ONTAP)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIV (Monitorizando Goldshell Miners – JSONv2)

[…] En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp… […]