A kiszolgáló nélküli számítás költségeinek monitorozása
Ez a cikk bemutatja, hogyan használhatja a számlázható használati rendszer tábláját (nyilvános előzetes verzió) a kiszolgáló nélküli számítási használat költségeinek figyeléséhez.
A notebookok és feladatok kiszolgáló nélküli számításainak használatát a számlázható használati rendszer táblájának (system.billing.usage
) lekérdezésével figyelheti, amely a kiszolgáló nélküli számítási költségekhez kapcsolódó felhasználói és számítási feladatok attribútumait tartalmazza. A vonatkozó mezők a következők:
- Az
identity_metadata
oszlop tartalmazza arun_as
mezőt, amely azt a felhasználót vagy szolgáltatásnevet jeleníti meg, akinek a hitelesítő adatait a számítási feladat futtatásához használták. - Az
usage_metadata
oszlop olyan mezőket tartalmaz, amelyek a számítási feladatot írják le:job_run_id
,job_name
,notebook_id
ésnotebook_path
.
A kiszolgáló nélküli használati rekordok szempontjai
A kiszolgáló nélküli használat elemzésekor vegye figyelembe a következőket:
- Egy adott kiszolgáló nélküli számítási feladathoz több rekord is társítható egy adott órában. Előfordulhat például, hogy több rekordot is lát ugyanazzal
job_id
a ,job_run_id
vagy job_name, de mindegyikhez különböző DBU-használati értékeket. Ezeknek a DBU-knak az összege együttesen egy adott feladat futásához tartozó óránkénti DBU-felhasználást jelenti.
Feljegyzés
A null számítási feladatok hozzárendelésének frissítéséről a Mi várható? című témakörben olvashat.
Költségvetések használata a kiadások monitorozásához
A fiókadminisztrátorokkal költségvetéseket állíthat be a költségek csoportosításához és riasztások beállításához. Lásd: Költségvetések használata a fiókköltségvetések figyeléséhez.
Használati irányítópult importálása
A fiókadminisztrátor a fiók bármely Unity-katalógus-kompatibilis munkaterületére importálhat költségkezelési irányítópultokat. Lásd: Használati irányítópult importálása.
Feladat vagy jegyzetfüzet keresése a felhasználói felületen
Ha egy számlázási rekord alapján szeretne feladatot vagy jegyzetfüzetet keresni a felhasználói felületen, másolja ki a használati rekordból az értéket vagy usage_metadata.notebook_id
az usage_metadata.job_id
értéket. Ezek az azonosítók nem módosíthatók, és akkor is használhatók, ha a feladat neve vagy a jegyzetfüzet elérési útja megváltozik.
Feladat megkeresése a felhasználói felületen a következő job_id
alapján:
- Másolja ki a
job_id
használati rekordból. Ebben a példában feltételezzük, hogy az azonosító az700809544510906
. - Lépjen a munkafolyamatok felhasználói felületére ugyanabban az Azure Databricks-munkaterületen, mint a feladat.
- Ellenőrizze, hogy nincs-e bejelölve a csak az enyémek által birtokolt feladatok szűrője.
- Illessze be az azonosítót (700809544510906) a Feladatok szűrése keresősávba.
Ha az alapján szeretne jegyzetfüzetet keresni a felhasználói felületen notebook_id
, kövesse az alábbi utasításokat:
- Másolja ki a
notebook_id
használati rekordból. Ebben a példában feltételezzük, hogy az azonosító az700809544510906
. - Lépjen a Munkaterületek felhasználói felületére ugyanabban az Azure Databricks-munkaterületen, mint a jegyzetfüzet.
- Kattintson bármelyik jegyzetfüzetre a listában.
- Miután megnyitotta a jegyzetfüzetet, vizsgálja meg az URL-címet a böngésző címsorában. Úgy kell kinéznie, mint
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
. - A böngésző címsorában cserélje le a jegyzetfüzet azonosítóját az első lépésben kimásolt azonosítóra, majd törölje a jegyzetfüzet-azonosító után lévő összes adatot. Úgy kell kinéznie, mint
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
. - A jegyzetfüzet megnyitása után a Megosztás gombra kattintva megtekintheti a jegyzetfüzet tulajdonosát.
Riasztások használata a kiszolgáló nélküli kiadások nyomon követéséhez
A riasztások hatékony módja annak, hogy naprakészek maradjanak a kiszolgáló nélküli kiadásokról. Riasztásokkal értesítéseket kaphat, ha bizonyos feltételek teljesülnek a lekérdezés eredményei között. A riasztások létrehozásának módjáról a Riasztások létrehozása című témakörben olvashat.
A költségvetések figyeléséhez riasztásokat adhat hozzá a következő lekérdezésekhez. Minden lekérdezésben cserélje le {budget}
a választott költségvetést.
Riasztás, ha a munkaterületek költése meghaladja a küszöbértéket az elmúlt 30 napban
Beállíthatja, hogy a riasztás aktiválódik, amikor ez a lekérdezés egy sort ad vissza. Cserélje le {budget}
a választott költségvetésre.
SELECT
t1.workspace_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id
HAVING
list_cost > {budget}
Riasztás, ha egy felhasználó túllépi a küszöbértéket az elmúlt 30 napban
Beállíthatja, hogy a riasztás aktiválódik, amikor ez a lekérdezés egy sort ad vissza. Cserélje le {budget}
a választott költségvetésre.
SELECT
t1.identity_metadata.run_as,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.identity_metadata.run_as
HAVING
list_cost > {budget}
Riasztás, ha egy feladat túllépi az elmúlt 30 nap küszöbértékét
Beállíthatja, hogy a riasztás aktiválódik, amikor ez a lekérdezés egy sort ad vissza. Cserélje le {budget}
a választott költségvetésre.
SELECT
t1.workspace_id,
t1.usage_metadata.job_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id, t1.usage_metadata.job_id,
HAVING
list_cost > {budget}
Minta lekérdezések
A következő lekérdezésekkel betekintést nyerhet a fiók kiszolgáló nélküli használatába:
- Drága kiszolgáló nélküli számítási notebookok azonosítása
- Drága kiszolgáló nélküli számítási feladatok azonosítása
- Jelentés egy adott felhasználó által felhasznált ADATBÁZIS-ról
- Jelentés az egyéni címkével rendelkező számítási feladatok által felhasznált kiszolgáló nélküli számítási ADATBÁZIS-okról
Drága kiszolgáló nélküli számítási notebookok azonosítása
Ez a lekérdezés visszaadja a jegyzetfüzetek listáját, valamint azt, hogy az egyes jegyzetfüzetek hány DBU-t használnak fel csökkenő sorrendben a DBU-használat alapján:
SELECT
usage_metadata.notebook_id,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.notebook_id is not null
and billing_origin_product = 'INTERACTIVE'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1
ORDER BY
total_dbu DESC
Drága kiszolgáló nélküli számítási feladatok azonosítása
Ez a lekérdezés visszaadja a feladatok listáját, valamint azt, hogy az egyes feladatok hány DBU-t használnak fel csökkenő sorrendben dBU-felhasználás szerint:
SELECT
usage_metadata.job_id,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.job_id is not null
and billing_origin_product = 'JOBS'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1
ORDER BY
total_dbu DESC
Jelentés egy adott felhasználó által felhasznált ADATBÁZIS-ról
Ez a lekérdezés egy adott felhasználó vagy szolgáltatásnév által futtatott kiszolgáló nélküli számítást használó jegyzetfüzetek és feladatok listáját, valamint az egyes számítási feladatok által felhasznált DBU-k számát adja vissza:
SELECT
usage_metadata.job_id,
usage_metadata.notebook_id,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
identity_metadata.run_as = '<emailaddress@domain.com>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC
Jelentés az egyéni címkével rendelkező számítási feladatok által felhasznált kiszolgáló nélküli számítási ADATBÁZIS-okról
Ez a lekérdezés azokat a feladatokat adja vissza, amelyek kiszolgáló nélküli számítást használnak, és amelyek ugyanazt az egyéni címkét használják, valamint az egyes számítási feladatok által felhasznált ADATBÁZIS-objektumok számát:
SELECT
usage_metadata.job_id,
usage_metadata.notebook_id,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
custom_tags.<key> = '<value>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC