
Visibilità sulle query da ottimizzare (lato costi) e formazione agli utenti su come (non) eseguire query su Google BigQuery.
Lo "snitch" di BigQuery all'opera per individuare le query più costose
Capita a tutti, ogni tanto, di sbagliare e lanciare query non ottimizzate su Google BigQuery. Ciò che conta davvero è la velocità con cui riusciamo a individuarle, trarne una lezione, metterla in pratica e proseguire.
In DoiT International, nel nostro ruolo di Google Managed Service Provider, i clienti ci chiedono spesso come fare emergere queste query nel momento stesso in cui vengono eseguite. Un mio collega, Moshe Ohayon, ha trovato una soluzione elegante al problema e l'ha rilasciata in open source: ora chiunque può usarla (e migliorarla!).
Seguendo il README, puoi mettere in produzione una singola Google Cloud Function che tiene d'occhio tutte le tue query su Google BigQuery e pubblica su Slack quelle che superano l'`ALERT_THRESHOLD`.
Il `config.json` qui sotto genera alert per tutte le query che superano i 10 dollari e invia un messaggio su Slack e via email.
{ "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"\
]
}
Un esempio di come le notifiche di bq-snitch vengono pubblicate su Slack. Ammetto di non essere stato molto creativo con la query di esempio ;-)
bq-snitch può inviare le notifiche anche via email. Ricordati di abilitare Sendgrid sul tuo progetto Google Cloud Platform e di inserire la API key di Sendgrid nel config.json.
Taboola.com è uno dei primi beta tester di bq-snitch.
"I benefici in termini di visibilità che otteniamo da questo strumento sono tangibili. Un feedback rapido e diretto al punto ci aiuta a migliorare la gestione complessiva dei costi cloud".
Se usi Google BigQuery (insieme a Slack o email), prova bq-snitch. E se hai idee su come migliorarlo, saremo felici di ricevere issue o pull request su GitHub.
Se nulla di tutto questo fa per te, il minimo che puoi fare è lasciarci una stella 😇
Vuoi leggere altre storie? Fai un salto sul nostro blog o segui Vadim su Twitter.