Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Delata las queries costosas de Google BigQuery

By Vadim SoloveySep 24, 20192 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

1 gqtfxmqd1oa8uesnnnkbrw

Gana visibilidad sobre las queries que necesitan optimización de costos y enseña a tu equipo cómo (no) ejecutarlas en Google BigQuery.

El snitch de BigQuery en acción para identificar queries costosas

A todos se nos escapa de vez en cuando una query sin optimizar en Google BigQuery. Lo que de verdad importa es la rapidez con que las identificamos, aprendemos del error, aplicamos la lección y seguimos adelante.

En DoiT International, en nuestro rol de Google Managed Service Provider, nuestros clientes nos preguntan constantemente cómo pueden los equipos detectar estas queries apenas se ejecutan. Uno de mis colegas, Moshe Ohayon, dio con una solución elegante a este problema y la liberó como open source para que cualquiera pueda usarla (¡y mejorarla!).

Siguiendo el README, puedes desplegar una sola Google Cloud Function que vigile todas tus queries de Google BigQuery y publique en Slack las que superen el `ALERT_THRESHOLD`.

El siguiente `config.json` dispara alertas para todas las queries que superen los $10 y envía un mensaje a Slack y por correo.

{
"

ALERT_THRESHOLD": 10

,
"TB_COST": 5,
"SLACK_ALERT": true,
"SLACK_WEBHOOK_URL": "

https://hooks.slack.com/services/.

..",
"SLACK_WEB_API_TOKEN": "",
"SLACK_WEB_API_DESTINATION_CHANNEL": "",
"EMAIL_ALERT": true,
"SENDGRID_API_KEY": "SG...",
"EMAIL_SENDER": "

[email protected]

",
  "EMAIL_CC": [\
    "\
```\
\
[[email protected]](mailto:[email protected])\
\
```\
"\
  ],
  "FIELDS_TO_RETRIEVE": [\
    "job_id",\
    "user_email",\
    "total_bytes_billed",\
    "total_bytes_processed"\
  ]
}

1 xmiy6uklefgx793 uuw3ewEjemplo de cómo se ven las notificaciones de bq-snitch en Slack. Admito que no fui muy creativo con mi query de prueba ;-)

bq-snitch también puede enviar las notificaciones por correo. Recuerda activar Sendgrid en tu proyecto de Google Cloud Platform y poner tu API key de Sendgrid en el config.json.

Taboola.com es uno de los primeros beta testers de bq-snitch.

"La visibilidad que se gana con esta herramienta es palpable. Tener feedback rápido y al grano nos ayuda a mejorar la gestión global de nuestros costos en la nube".

Si trabajas con Google BigQuery (y Slack/correo), dale una oportunidad a bq-snitch. Si se te ocurre cómo podemos mejorarlo, nos encantaría recibir issues o pull-requests en GitHub.

Y si nada de esto te encaja, lo mínimo que puedes hacer es dejarnos una estrella 😇

¿Quieres más historias? Pásate por nuestro blog o sigue a Vadim en Twitter.