Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Scovare le query costose su Google BigQuery

By Vadim SoloveySep 24, 20192 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

1 gqtfxmqd1oa8uesnnnkbrw

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 protected]

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

1 xmiy6uklefgx793 uuw3ewUn 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.