
Identifiez les requêtes Google BigQuery qui méritent une optimisation des coûts et formez vos utilisateurs aux bonnes pratiques d'exécution.
Le BigQuery snitch en action pour repérer les requêtes coûteuses
Il nous arrive à tous, de temps à autre, d'exécuter des requêtes Google BigQuery non optimisées. L'essentiel, c'est la vitesse à laquelle on les repère, on en tire les leçons et on passe à la suite.
Chez DoiT International, en tant que Google Managed Service Provider, nos clients nous demandent souvent comment leurs équipes peuvent faire remonter ces requêtes dès leur exécution. L'un de mes collègues, Moshe Ohayon, a trouvé une réponse élégante à ce problème et l'a publiée en open source : tout le monde peut désormais l'utiliser (et la faire évoluer !).
En suivant le README, vous pouvez déployer une simple Google Cloud Function qui surveille l'ensemble de vos requêtes Google BigQuery et publie sur Slack celles qui dépassent `ALERT_THRESHOLD`.
Le `config.json` ci-dessous déclenche des alertes pour toute requête supérieure à 10 $ et envoie un message à la fois sur Slack et par e-mail.
{ "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_CC": [\
"\
```\
\
[[email protected]](mailto:[email protected])\
\
```\
"\
],
"FIELDS_TO_RETRIEVE": [\
"job_id",\
"user_email",\
"total_bytes_billed",\
"total_bytes_processed"\
]
}
Exemple de notification bq-snitch publiée sur Slack. J'avoue, ma requête de démonstration manque un peu d'originalité ;-)
bq-snitch peut aussi envoyer les notifications par e-mail. Pensez à activer Sendgrid sur votre projet Google Cloud Platform et à renseigner votre clé d'API Sendgrid dans le config.json.
Taboola.com fait partie des premiers bêta-testeurs de bq-snitch.
Les gains de visibilité apportés par cet outil sont tangibles. Un retour rapide et précis nous aide à mieux piloter nos coûts cloud dans leur ensemble.
Si vous utilisez Google BigQuery (avec Slack ou l'e-mail), testez bq-snitch. Si vous avez des idées pour l'améliorer, vos issues et pull-requests sont les bienvenues sur GitHub.
Si rien de tout cela ne vous parle, vous pouvez toujours nous laisser une étoile 😇
Envie d'en lire davantage ? Faites un tour sur notre blog ou suivez Vadim sur Twitter.