Saludos amigos, esta entrada es especial, ya que se trata del artículo actualizado a día de hoy con los pasos necesarios sobre cómo instalar InfluxDB, Telegraf, y Grafana, sobre Ubuntu 20.04LTS, el cual podemos encontrar para x86 o ARM.
Ya sabéis que con estos pasos, podéis luego saltar a cualquiera de las otras entradas de la serie, para monitorizar vuestros VMware, Veeam, Nutanix AHV, HPE StoreOnce, vuestros blogs de wordpress, lo que queráis realmente.
Esquema lógico de la Infraestructura
Os dejo un gráfico que he creado para que comprendamos los tres componentes que vamos a instalar y configurar en este Laboratorio:
- Telegraf: Se encarga de recolectar todos los datos que le pasamos mediante el fichero de configuración, Telegraf colecciona el resultado de los outputs que tenemos configurados, como son CPU/RAM/LOAD o servicios como Nginx, MariaDB, etc.
- InfluxDB: Es donde Telegraf manda toda esta información, InfluxDB esta especialmente diseñado para almacenar de manera eficiente una cantidad importante de información, además se pueden definir periodos de retención de la información en caso de que tengamos un problema de performance
- Grafana: Es el Dashboard que se encarga de mostrar toda la información que InfluxDB tiene almacenado en las Bases de Datos
Tanto como Grafana como InfluxDB están preparados para ingerir información desde diferentes orígenes, lo que nos hace poder añadir otros componentes si así lo quisiéramos, tales como Prometheus, Chronograf, etc.
Instalación y configuración de InfluxDB
Os voy a mostrar los pasos para instalar InfluxDB v2.0, ya que 1.8 ya no tiene soporte.
A mí personalmente me gusta siempre usar repositorios, ya que las actualizaciones son más sencillas, con lo que vamos a añadir el repositorio de InfluxData a nuestro sistema:
# influxdata-archive_compat.key GPG fingerprint: # 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
Con estos sencillos pasos, vamos ahora a actualizar nuestra paquetería e instalar InfluxDB:
sudo apt-get update sudo apt-get install influxdb2 sudo service influxdb start
Vamos a comprobar que todo está funcionando bien con el siguiente comando:
sudo systemctl status influxdb
El resultado tiene que ser algo parecido a esto:
â— influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-02-16 12:20:01 UTC; 5s ago
Docs: https://docs.influxdata.com/influxdb/
Process: 2667 ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh (code=exite>
Main PID: 2669 (influxd)
Tasks: 8 (limit: 4575)
Memory: 41.8M
CGroup: /system.slice/influxdb.service
└─2669 /usr/bin/influxd
Si todo ha ido bien, podemos dejar el servicio ya habilitado en cada reboot
systemctl enable influxdb
Configuración de InfluxDB v2.0
Una vez instalado, tenemos dos formas de configurar InfluxDB 2, podemos hacerlo por consola web o por CLI, veamos ambas.
Configuración de InfluxDB v2.0 usando la Consola Web
Para mí, la forma más fácil. No es necesario instalar Chronograf ya que es parte de InfluxDB v2. Sólo tienes que navegar a la http://IP:8086, verás algo así:
El asistente no puede ser más sencillo, basta con introducir un usuario, una contraseña, una organización y un nombre de bucket. Por supuesto, puedes crear más usuarios y buckets después:
Y ya estamos listos para empezar a ingerir datos. Siempre se puede echar un vistazo a la puesta en marcha rápida si usted es nuevo:
La interfaz es bastante atractiva en mi opinión, no tiene muchas opciones, pero las necesarias para empezar a monitorizar como un profesional:
Vamos a saltar a la parte de Telegraf, no es necesario seguir las instrucciones de la CLI.
Configuración de InfluxDB 2 mediante la CLI
Desde la CLI, podemos ejecutar el siguiente comando, que nos preguntará por las credenciales, etc:
influx setup > Welcome to InfluxDB 2.0! ? Please type your primary username administrator ? Please type your password ********* ? Please type your password again ********* ? Please type your primary organization name BlogJorge ? Please type your primary bucket name telegraf ? Please type your retention period in hours, or 0 for infinite 0 ? Setup with these parameters? Username: administrator Organization: BlogJorge Bucket: telegraf Retention Period: infinite Yes User Organization Bucket administrator BlogJorge telegraf
Ahora, necesitaremos recuperar el Token, podemos hacerlo rápidamente usando el siguiente comando:
influx auth list ID Description Token User Name User ID Permissions 06be12373d8c3000 administrator's Token 0Xblablablabla
Instalación y configuración de Telegraf
Vamos con el siguiente componente, Telegraf, telegraf es un agente que se puede instalar allá donde queramos que recolecte data, en este caso lo instalo en el mismo servidor, y desde este agente recolecto información de diferentes origenes, en algunos casos, como es por ejemplo Windows, tendremos que instalar telegraf para windows para que mande las métricas de los sistemas a InfluxDB. Vamos allá.
Por suerte no tenemos que hacer nada más a nivel de paquetes, ya que hemos añadido anteriormente los paquetes de Influxdata a nuestra lista de repositorios. Con lo que un simple:
sudo apt-get install telegraf sudo service influxdb start
Vamos a comprobar que todo está funcionando bien con el siguiente comando:
sudo systemctl status telegraf
â— telegraf.service - The plugin-driven server agent for reporting metrics into InfluxDB
Loaded: loaded (/lib/systemd/system/telegraf.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-11-16 16:47:52 UTC; 4 days ago
Docs: https://github.com/influxdata/telegraf
Main PID: 1522593 (telegraf)
Tasks: 26 (limit: 14274)
Memory: 67.4M
CGroup: /system.slice/telegraf.service
└─1522593 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
Nov 16 16:47:52 tig-monitor systemd[1]: Started The plugin-driven server agent for reporting metrics into InfluxDB.
Nov 16 16:47:52 tig-monitor telegraf[1522593]: 2020-11-16T16:47:52Z I! Starting Telegraf 1.16.2
El servicio de telegraf coge todas las configuraciones del fichero ubicado en /etc/telegraf/telegraf.conf y en él encontraremos lo siguiente:
- Input Plugins recolecta métricas del sistema o servicios
- Processor Plugins transforma, procesa, decore y filtra las métricas
- Aggregator Plugins crea conjuntos de métricas, por ejemplo permite hacer una media, mínimo, máximo, etc.
- Output Plugins escribe las métricas a diferentes destinos, en mi caso a InfluxDB.
Os recomiendo no modificar el telegraf.conf para nada realmente, e incluso hacer copia:
mv /etc/telegraf/telegraf.conf{,.old}
Todo lo que queráis modificar o añadir, mejor guardarlo en /etc/telegraf/telegraf.d/tuconfiguracion.conf.
Por ejemplo yo os recomiendo editar el /etc/telegraf/telegraf.conf y comentar lo siguiente:
############################################################################### # OUTPUT PLUGINS # ############################################################################### # Configuration for sending metrics to InfluxDB #[[outputs.influxdb]] ## The full HTTP or UDP URL for your InfluxDB instance. ## ## Multiple URLs can be specified for a single cluster, only ONE of the ## urls will be written to each interval. # urls = ["unix:///var/run/influxdb.sock"] # urls = ["udp://127.0.0.1:8089"] # urls = ["http://127.0.0.1:8086"]
Y crear un nuevo fichero llamado /etc/telegraf/telegraf.d/influx.conf con el siguiente contenido:
[outputs.influxdb_v2] urls = ["http://YOURINFLUXDBSERVER:8086"] ## Token for authentication. token = "dABLABLABLAYOURTOKEN==" ## Organization is the name of the organization you wish to write to; must exist. organization = "BlogJorge" ## Destination bucket to write into. bucket = "telegraf"
Puede obtener el Token desde la GUI de InfluxDB:
Una vez que tenemos ya todo, hacemos un reinicio del servicio de telegraf:
systemctl restart telegraf
Por ejemplo, he añadido la configuración del plugin de ping en /etc/telegraf/telegraf.d/ping.conf y puedo testear que todo está bien de la siguiente manera:
telegraf --config /etc/telegraf/telegraf.d/ping.conf --test 2020-11-21T13:13:20Z I! Starting Telegraf 1.16.2 > ping,host=tig-monitor,url=www.jorgedelacruz.es average_response_ms=14.928,maximum_response_ms=18.153,minimum_response_ms=11.477,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=2.364,ttl=58i 1605964404000000000 > ping,host=tig-monitor,url=www.jorgedelacruz.uk average_response_ms=28.202,maximum_response_ms=32.185,minimum_response_ms=24.641,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=2.952,ttl=54i 1605964404000000000 > ping,host=tig-monitor,url=ad-01.jorgedelacruz.es average_response_ms=0.212,maximum_response_ms=0.28,minimum_response_ms=0.117,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=0.066,ttl=128i 1605964404000000000 > ping,host=tig-monitor,url=esxi-zlon-001.jorgedelacruz.es average_response_ms=0.225,maximum_response_ms=0.272,minimum_response_ms=0.206,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=0.027,ttl=64i 1605964404000000000 > ping,host=tig-monitor,url=esxi-zlon-002.jorgedelacruz.es average_response_ms=0.255,maximum_response_ms=0.364,minimum_response_ms=0.203,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=0.064,ttl=64i 1605964404000000000 > ping,host=tig-monitor,url=vcsa.jorgedelacruz.es average_response_ms=0.206,maximum_response_ms=0.245,minimum_response_ms=0.172,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=0.029,ttl=64i 1605964404000000000 > ping,host=tig-monitor,url=192.168.1.1 average_response_ms=0.366,maximum_response_ms=0.436,minimum_response_ms=0.25,packets_received=4i,packets_transmitted=4i,percent_packet_loss=0,result_code=0i,standard_deviation_ms=0.069,ttl=64i 1605964404000000000 > ping,host=tig-monitor,url=esxi-zlon-000.jorgedelacruz.es packets_received=0i,packets_transmitted=3i,percent_packet_loss=100,result_code=1i 1605964404000000000 ^C> ping,host=tig-monitor,url=192.168.0.1 packets_received=0i,packets_transmitted=4i,percent_packet_loss=100,result_code=1i 1605964404000000000
Ya tenemos todo, recordar añadir vuestros VMware, Veeam, Nutanix AHV, HPE StoreOnce, vuestros blogs de wordpress, lo que queráis realmente
Instalación y configuración de Grafana
Vamos con el último paso, cómo instalar y configurar Grafana, pasos muy sencillos pero que hay hacer paso a paso. Comenzamos.
Yo creo que ya tendremos estas dos dependencias, pero en cualquier caso, lanzamos el siguiente comando:
sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget
Vamos ahora a obtener los paquetes de Grafana de manera segura, para ello añadimos la GPG key de Grafana a nuestro sistema, con el siguiente comando:
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
Ahora que tenemos todo listo, añadiremos los repositorios de Grafana a nuestro sistema, tan sencillo como lanzar el siguiente comando:
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Instalamos finalmente Grafana con el siguiente comando, sencillo:
sudo apt-get install grafana
Vamos a habilitar el servicio y comprobar que está arriba:
sudo systemctl start grafana-server sudo systemctl status grafana-server
Todo bien en mi entorno:
â— grafana-server.service - Grafana instance
Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2020-11-14 13:50:34 UTC; 6 days ago
Docs: http://docs.grafana.org
Main PID: 2022 (grafana-server)
Tasks: 13 (limit: 14274)
Memory: 111.1M
CGroup: /system.slice/grafana-server.service
└─2022 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/d/>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ap>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/d/>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ap>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ap>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ap>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ap>
Nov 20 22:01:37 tig-monitor grafana-server[2022]: t=2020-11-20T22:01:37+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ap>
Nov 21 09:03:32 tig-monitor grafana-server[2022]: t=2020-11-21T09:03:32+0000 lvl=info msg="Successful Login" logger=http.server User=admin@localhost
Nov 21 09:03:47 tig-monitor grafana-server[2022]: t=2020-11-21T09:03:47+0000 lvl=info msg="Successful Login" logger=http.server User=admin@localhost
Ya podemos irnos a nuestro navegador y abrir http://GRAFANAIP:3000 y veremos la pantalla de login, con usuario por defecto admin y password admin, una vez nos logueamos veremos esto:
Creo que como precaución podemos deshabilitar el registro automático de usuarios, editaremos el fichero /etc/grafana/grafana.ini y nos aseguraremos que estas líneas están así:
### Content of grafana configuration file [users] # disable user signup / registration allow_sign_up = false # Allow non admin users to create organizations allow_org_create = false # Set to true to automatically assign new users to the default organization (id 1) ;auto_assign_org = true Change the allow_sign_up setting to false, and restart your Grafana server. ;allow_sign_up = false
Sencillo, haremos un reinicio de Grafana:
sudo systemctl restart grafana-server
Añadir Data Source de InfluxDB
Recordáis el diagrama de más arriba, ¿verdad? Es el momento de añadir nuestra base de datos de InfluxDB, con todas nuestras métrichas chachis, y poder visualizarlo en Grafana, para ello nos vamos a las Settings – Data Sources
Y hacemos click en Add Data Source:
Tendremos que marcar todas las opciones que vemos en la ilustración:
- Nombre: El nombre que queramos
- Marcamos la opción por defecto
- El Tipo es importante que sea Flux (el nuevo lenguaje de consulta para InfluxDB v2)
- En la URL podemos usar localhost:8086, o la IP o el nombre del servidor
- En la Organización, tendremos que poner la misma que introdujimos en el momento de la creación
- Luego tendremos que introducir el API Token
- Y por último el bucket
Cuando hagamos Save & Test, si todo está bien, veremos una barrita verde diciendo que funciona, si no es así, escribirme un email o un comentario y miramos que pasa:
Lo más fácil ahora es ir al Explorador de Grafana y ver si tenemos datos, en mi caso he seleccionado la métrica de CPU por ESXi, del propio servidor de telegraf, que sé que está enviando datos, debería ver algo así:
¡Eso es todo amigos! Buen trabajo, largo, preciso y conciso, espero que tengáis todo funcionando bien.
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)



Buenas tardes jorge como puedo configurar el telegraf.config para que me llame un archivo en el telegraf.d por ejemplo tengo esto es el telegraf.d/
el archivo se llama hw_stor.conf:
#Recupera los valores SNMP de los agentes remotos
[[inputs.snmp]]
agentes [ “192.168.100.10:161″,”10.10.10.10:161″,”192.168.0.10:161” ]
• Tiempo de espera para cada consulta SNMP.
Tiempo de espera : “10s”
• Número de reintentos que se intentarán en el tiempo de espera.
reintentos 3
• Versión SNMP, los valores pueden ser 1, 2 o 3
versión 2
#
• Cadena de comunidad SNMP.
comunidad: “público”
#
• El parámetro de max-repetitions GETBULK
• max_repetitions 10
#
• Parámetros de autenticación SNMPv3
• #sec_name “myuser”
• #auth_protocol de la #auth_protocol de los valores: “MD5”, “SHA”, “”
• #auth_password “pasar”
• #sec_level – “authNoPriv” – Valores: “noAuthNoPriv”, “authNoPriv”, “authPriv”
• #context_name “”
• #priv_protocol “” – Valores: “DES”, “AES”, “”
• #priv_password “”
#
y en el telegraf .conf tengo lo siguiente:
Telegraf Configuration
[agent]
interval = “10s”
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = “0s”
flush_jitter = “0s”
precision = “”
# quiet = false
logfile = “/var/log/telegraf/telegraf.log”
debug = false
# logfile_rotation_interval = “0d”
# logfile_rotation_max_size = “0MB”
# logfile_rotation_max_archives = 5
hostname = “”
omit_hostname = true
###############################################################################
OUTPUT PLUGINS
###############################################################################
[[outputs.influxdb]]
# database_tag = “”
# exclude_database_tag = false
skip_database_creation = true
retention_policy = “”
write_consistency = “any”
# timeout = “5s”
# username = “telegraf”
# password = “metricsmetricsmetricsmetrics”
# user_agent = “telegraf”
# udp_payload = “512B”
# tls_ca = “/etc/telegraf/ca.pem”
# tls_cert = “/etc/telegraf/cert.pem”
# tls_key = “/etc/telegraf/key.pem”
insecure_skip_verify = true
# http_proxy = “http://corporate.proxy:3128”
# http_headers = {“X-Special-Header” = “Special-Value”}
# content_encoding = “identity”
# influx_uint_support = false
namepass = [“hw_*”]
Pero al correr el Telegraf no me crea la base de datos ni me toma los datos.
No se si el namepass esta bien? o me falta algo mas.
me puede orientar gracias,.
Saludos, cualquier cosa que metas en telegraf.d con el .conf lo va a coger, puedes probar todo con el test de telegraf
telegraf –config telegraf.conf –test
O telegraf –config telegraf.d/tuconfig.conf –test
Tambien habilitar el debug y mira en los logs
Cuando quiero agregar el datasource telegraf, me dice “InfluxDB Error: Bad Gateway”, he creado el usuario telegraf con password telegraf, coloco esos datos pero me da ese error
Hello Jorge,
How do you size your virtual machine?
I want to try but I have no idea how much space the datas will require.
For example, I’ve a small Veeam infrastructure, 30 VMs to backup, 2 vCenters with 10 ESXi hosts
Hello Ludovic,
I have not come to any sizing tool just yet, for that requirements, are equal to mine, with 4vCPU and 8GB RAM should be enough.
Best regards
Hola Jorge.
Lo primero agradecerte el esfuerzo que haces con este gran blog que de tanta utiidad nos sirve a muchos.
He comenzado a enredar con la parte de Grafana para monitorizar infraesctructuras de vCenter pero no consigo monitorizar nada.
Hasta el momento he creado la plataforma según este artículo de forma correcta.
Seguidamente he creado el fichero vsphere-status.com y unicamente he cambiado la IP del vCenter , Usuario / password y el valor insecure_skip_verify = false
Luego me he descargado el último json rev34 e importado en grafana.
He reiniciado servicios y el servidor pero obtengo este error que no se por donde atacarlo:
telegraf.service: Main process exited, code=exited, status=1/FAILURE
telegraf.service: Failed with result ‘exit-code’.
telegraf.service: Scheduled restart job, restart counter is at 5.
Stopped The plugin-driven server agent for reporting metrics into InfluxDB.
telegraf.service: Start request repeated too quickly.
telegraf.service: Failed with result ‘exit-code’.
Failed to start The plugin-driven server agent for reporting metrics into InfluxDB.
Muchísimas gracias
Saludos Paco, vamos por partes:
1.- El servicio de telegraf, todo bien instalado? Si es asi, habilita el log para hacer mejor debugging, asi:
[agent]## Log at debug level.
debug = true
## Log only error level messages.
# quiet = false
## Log target controls the destination for logs and can be one of "file",
## "stderr" or, on Windows, "eventlog". When set to "file", the output file
## is determined by the "logfile" setting.
logtarget = "file"
## Name of the file to be logged to when using the "file" logtarget. If set to
## the empty string then logs are written to stderr.
# logfile = ""
logfile = "/var/log/telegraf/telegraf.log"
2.- El server resuelve tu vcenter bien?
3.- Cuando dices vsphere-status.com, quieres decif .conf si?
Haz un restart del telegraf y mira el log a ver que dice.
Hola muchas gracias por todos tus blogs,
He tenido un problema con Grafana, de pronto un día dejó de registrar y proyectar los datos de mi servidor, ya realicé reinicios de los servicios tanto de Grafana, Telegraf e Influxdb pero aun así no se vuelve a conectar, no se a que se deba, igual podría ser que se han excedido los 10,000 registros que otorga en Influxdb pero no creo que sea por eso, aqui lo comento por los siguiente en los logs:
InfluxDB:
influxdb.service – InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-06-02 15:43:36 CDT; 21h ago
Docs: https://docs.influxdata.com/influxdb/
Main PID: 52814 (influxd)
Tasks: 14 (limit: 9471)
CGroup: /system.slice/influxdb.service
└─52814 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Jun 03 13:18:31 KQ511X86LP01 influxd[52814]: [httpd] ::1 – – [03/Jun/2021:13:18:31 -0500] “POST /write?db=telegraf HTTP/1.1” 400 141 “-” “Telegraf/1.14.4” 19c1a579-c498-11eb-9f70-005056ac454e 13572
Jun 03 13:18:41 KQ511X86LP01 influxd[52814]: [httpd] ::1 – – [03/Jun/2021:13:18:41 -0500] “POST /write?db=telegraf HTTP/1.1” 400 141 “-” “Telegraf/1.14.4″ 1fb7a137-c498-11eb-9f71-005056ac454e 16153
Jun 03 13:18:42 KQ511X86LP01 influxd[52814]: ts=2021-06-03T18:18:42.644051Z lvl=warn msg=”max-values-per-tag limit may be exceeded soon” log_id=0UVcK4Gl000 service=store perc=100% n=100004 max=100000 db_instance=telegraf measurement=procstat tag=pid
Jun 03 13:18:51 KQ511X86LP01 influxd[52814]: [httpd] ::1 – – [03/Jun/2021:13:18:51 -0500] “POST /write?db=telegraf HTTP/1.1” 400 141 “-” “Telegraf/1.14.4” 25ad7f0f-c498-11eb-9f72-005056ac454e 11397
Telegraf:
telegraf.service – The plugin-driven server agent for reporting metrics into InfluxDB
Loaded: loaded (/lib/systemd/system/telegraf.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-06-16 15:41:30 CDT; 11 months 17 days ago
Docs: https://github.com/influxdata/telegraf
Main PID: 61154 (telegraf)
Tasks: 21 (limit: 9471)
CGroup: /system.slice/telegraf.service
└─61154 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
Jun 03 13:15:51 KQ511X86LP01 telegraf[61154]: 2021-06-03T18:15:51Z E! [outputs.influxdb] When writing to [http://localhost:8086]: received error partial write: max-values-per-tag limit exceeded (100004/100000): measurement=”procstat” tag=”pid” value=”52814″ dropped=6; discarding points
Jun 03 13:16:01 KQ511X86LP01 telegraf[61154]: 2021-06-03T18:16:01Z E! [outputs.influxdb] When writing to [http://localhost:8086]: received error partial write: max-values-per-tag limit exceeded (100004/100000): measurement=”procstat” tag=”pid” value=”74001″ dropped=6; discarding points
No se si puedas ayudarme, de antemano muchas gracias!
Saludos, que inputs tienes de telegraf, especialmente para llenar esos 100000 por tag
Tengo lo siguiente:
Read metrics about cpu usage
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
Read metrics about disk usage by mount point
[[inputs.disk]]
ignore_fs = [“tmpfs”, “devtmpfs”, “devfs”, “iso9660”, “overlay”, “aufs”, “squashfs”]
Read metrics about disk IO by device
[[inputs.diskio]]
Get kernel statistics from /proc/stat
[[inputs.kernel]]
Read metrics about memory usage
[[inputs.mem]]
Get the number of processes and group them by status
[[inputs.processes]]
Read metrics about swap memory usage
[[inputs.swap]]
Read metrics about system load & uptime
[[inputs.system]]
En realidad así lo tenían configurando, apenas me pasaron la administración del sistema hace unos meses y soy nuevo con Grafana.
No veo ningun input generando cientos de miles de metricas, tienes algo en /etc/telegraf/telegraf.d/ALGUNACONFIGAQUI?
No, esa carpeta está vacia,
Sin embargo ya pude resolver mi problema:
Se cambio la línea de máximo numero de valores por tag a 0 en la configuración del InfluxDB
etc/influxdb/influxdb.conf y buscar la linea:
# max-values-per-tag = 100000
Descomentar y poner en 0
max-values-per-tag = 0Reiniciar
Inmediatamente se volvió a reflejar el monitoreo en el Grafana, ahora sólo me queda la duda si a largo plazo esta solución pueda ser contraproducente debido a la cantidad de registros que hay en la base de datos, y desafortunadamente al no solucionar esto a tiempo perdí todo un mes de monitoreo del servidor.
En todo lo demás creo que esta todo bien, te agradezco mucho por el apoyo.
Fantástico, gracias por pegar la respuesta.
Miraré en mi entorno a ver y te digo.
Saludos
Buenas!
He seguido las indicaciones y cuando intento configurar grafana en InfluxDB Details pongo el telegraf y me salta error [InfluxDB Error: Bad Gateway]
cuando reviso el status de los servicios tengo esto
telegraf
jun 27 15:13:02 Vision telegraf[1094]: 2021-06-27T13:13:02Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to write metric (will be dropped: 401 Unauthorized):
grafana
jun 27 15:12:32 Vision grafana-server[1102]: t=2021-06-27T15:12:32+0200 lvl=eror msg=”Request Completed” logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/proxy/1/query status=502 remote_addr=192.168.1.31 time_ms=126 size=0 referer=h…sources/edit/e3gstDznk
Hint: Some lines were ellipsized, use -l to show in full.
No se muy bien que me falla, alguna idea??
Saludos,
Saludos Shairer,
Tiene pinta del usuario que has creado en InfluxDB, es el que tienes que poner luego en la config del telegraf, todo bien, no hay algun espacio, o caracter raro?
He provado con la instalacion, cuando inicio grafana y voy a mirar el test de la CPU tal como haces tu en el ejemplo, no me aparece nada, sospecho que telegraf del localhost no està mandando ninguna informacion y sospecho que debo configurar algufin fichero para que lo haga , es decir por si solo no recoge ningun dato… es así? que debo hacer?
Saludos Jordi,
Hay en el articulo una seccion donde tienes que hacer lo siguiente busca por esto:
mv /etc/telegraf/telegraf.conf{,.old}
Has seguido esos pasos? Eso es lo unico que tienes que configurar para que Telegraf envie información, que ya tiene por defecto el CPU y otros inputs de sistema descomentados. Pega si no que te dice el log de telegraf.
Hola Jorge, gracias por tu pronta respuesta! la verdad que lo que hice fue copiar el ficher telegraf.conf a telegraf.conf.old i edite el primero tal como indica, comentando #[[outputs.influxdb]] y luego crear el fichero /etc/telegraf/telegraf.d/influx.conf
De hecho el comando mv /etc/telegraf/telegraf.conf{,.old}, lo que hace es mover el fichero no? sin mas.. creo que hay algo que no acabo de entender.
Si tienes influxdb arriba y configurado, y telegraf arriba y configurado, telegraf log te dira que esta pasando.
Hi Jorge,
Una pregunta despues de configurar todo segun sus parametros, y realizado con exito el test sobre telegraf, pero al utilizar dashboard para vSphere, salta el siquiente error:
Templating [esxiarm]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Podrias por favor ayudarme el porque de dicho error?
Saludos Jesus,
Si no tienes ESXi for ARM es normal, voy a intentar separar ambos dashboards. Que dashboard exacto estas usando, y que version de influxdb?
Un saludo
Hola Jorge,
Después de asegurarme que ya estoy recogiendo las métricas en influxdb, importo los dashboards en grafana y obtengo el siguiente error con las variables. ¿Sabes de dónde puede venir el problema?
Templating
Template variable service failed InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [vcenter]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [clustername]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [esxi]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [datastore]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [virtualmachine]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Gracias de antemano!!
Hola Jorge,
Mi problema quizás vaya un poco en relación al de arriba. Después de comprobar que estoy recibiendo correctamente las métricas en influxdb, me descargo los dashboards (el de overview por ejemplo) obtengo los siguientes errores y la verdad que estoy bastante perdido.
Templating [vcenter]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [clustername]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [esxi]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [virtualmachine]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Templating [datastore]
Error updating options: InfluxDB Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Saludos Mikel,
Tengo que poner todo un poco mas claro. Como has seguido esta guía, creo que has instalado InfluxDB v1.8. Entonces tienes que ir al Dashboard de Overview de VMware, y en versiones, descargar una anterior, la que no diga que es para InfluxDB v2.
Dime que tal.
Saludos
Solucionado!! Gracias Jorge!
Hola:
Antes de nada gracias por tu blog. Haces un gran trabajo!
Estoy leyendo varios post de Influxdb, telegraf y grafana. Si quiero instalar varios de ellos, como lo hago?
Una instalacion de influxdb,telegraf, grafana por cada uno? O al menos uno por telegraf, grafana por cada aplicacion que quiero monitorizar?
O puedo meter todos en una misma base de datos?
Gracias.
Un saludo.
Saludos,
Muchas gracias. Los componentes pueden ir todos en un solo server, o puedes distribuirlos si tienes muchas cosas que monitorizar.
Telegraf es un agente, depende de lo que quieras monitorizar necesitas solo uno, por ejemplo, si hay [[input.]] imagina algo remoto, como vCenter, ping, etc. Un solo telegraf vale, ahora, si quieres monitorizar el consumo de cpu de varios Linux, Windows, o MySQL, o demas, entonces un agente por servidor, lanzando las metricas al mismo Influx.
Ahora, InfluxDB. Creo que lo mejor es un bucket por cada aplicacion gorda que vayas a monitorizar, asi puedes luego jugar algo mas con ello. Yo lo tengo todo en un bucket, pero a veces quiero borrar algo y se hace algo mas tedioso.
Un saludo
https://drive.google.com/file/d/1YqAbmHCZtxBOwjhoAFYIvZX-krY7e-1t/view?usp=drivesdk
es normal
“2022-08-18T19:35:30Z W! Outputs are not used in testing mode!”
Hola Jorge y, ante todo, muchas gracis por este blog y la excelente guía de despliegue de TIG.
Siguiendo los pasos, al instalar Grafana, me he topado con que Ubuntu ya no soporta importart la clave del repositoreio de la manera indicada, por lo que sería conveniente que lo actualizaras para incluir la nueva manera:
wget -q -O – https://packages.grafana.com/gpg.key | gpg –dearmor | sudo tee /etc/apt/trusted.gpg.d/grafana.key
echo “deb [signed-by=/etc/apt/trusted.gpg.d/grafana.key] https://packages.grafana.com/oss/deb stable main” | sudo tee -a /etc/apt/sources.list.d/grafana.list
Por cierto, lo que yo quiero monitorizar es una solución cloud via WebHooks (Juniper Mist), ya que he visto que alguien lo ha hecho, y no sé si podría hacerse via RESTful API para cargar la información en Influx.
Hecho en falta una sección para esa integración con WebHooks, ¿o se encuentra bajo otra con un nombre diferente?
Muchas gracias y continua así.
Saludos Jesus,
Ostras si es verdad, que Grafana cambio este tema, voy a actualizarlo ahora mismo.
Saludos!
Buenos días, quería lanzar una consulta, a ver si es adecuada.
He tenido funcionando el sistema que pusiste con influx 1.8 y grafana 9 y me descargue unos dashboards de la web de grafana que han funcionado perfectamente.
Por ciertos problemillas decidí actualizar a influx 2 y grafana 10 y ahora no encuentro dashboards y los antiguos no me sirven, no consigo adaptarlos.
He probado a hacer un downgrade del influx a la 1.8 pero sigo sin obtener los datos y no consigo acceder a influx por http cuando con la versión 2.0 si que puedo.
Ando muy perdido la verdad, alguna forma de hacer que los dashboard de grafana antiguos funcionen con las versiones nuevas de grafana e influx?
En grafana no hay dashboards para la versión nueva de influx y mis capacidades de programación son nulas.
Saludos y muchas gracias por este trabajo tan interesante.
Saludos Mikel,
Dependiendo de los dashboards que sean, muchos los movi ya a Influx v2.0, en cada dashboard en grafana, en la opcion de revisiones, o versions, ahi tienes ambos.