すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:CloudLens for SLSを使用したリソース使用量の分析

最終更新日:Sep 03, 2024

このトピックでは、CloudLens for SLSを使用してSimple Log Serviceリソースの使用量に関するカスタム分析を実行する一般的なシナリオについて説明します。

背景情報

CloudLens for SLSは、課金データを使用して課金可能なアイテムの使用状況を監視します。 課金データの使用については課金されません。 課金データは、Alibaba Cloud課金管理コンソールから提供されます。 Simple Log Serviceは、データ変換ジョブを実行して、課金データをストレージ用のTablestoreインスタンスにプルします。 Tablestoreインスタンスでの課金データの保存に対しては課金されません。 Simple Log ServiceをTablestoreインスタンスに関連付けて、課金データを照会および分析できます。 この場合、Tablestoreインスタンスは外部データソースと見なされます。

image

CloudLens for SLSは、課金データに基づいてリソース使用状況レポートを提供します。 Simple Log Serviceの課金対象アイテムの使用状況をリアルタイムで監視できます。 カスタムSQL文を実行して、課金データに基づいてSimple Log Serviceリソースの使用状況を分析し、リソース使用状況のアラートを設定することもできます。image.png

エントリーポイント

  1. Log Serviceコンソールにログインします。

  2. [ログアプリケーション] セクションで、[クラウドサービスレンズ] タブをクリックします。 次に、CloudLens for SLS をクリックします。

    詳細については、「CloudLens For SLS」をご参照ください。

課金対象データ

Simple Log Service課金データには、Simple Log Serviceインスタンスごとの課金対象項目の使用状況が含まれています。 Simple Log Serviceリソースの使用状況についてカスタム分析を実行する前に、Simple Log Service課金データに関連する基本的な用語を理解しておく必要があります。

期間

項目

説明

インスタンス

InstanceID

Simple Log Serviceの最小リソース粒度。 インスタンスは、Simple Log ServiceのLogstoreに対応します。

請求可能なアイテム

BillingItem

Simple Log Serviceに対して課金される項目。 例: ホットストレージ層のストレージ使用率とログデータのインデックストラフィック。

インスタンス

Simple Log Serviceインスタンスは、Simple Log Serviceの最小リソース粒度です。 インスタンスIDには、${aliUid };${ Project };${ Logstore };${ Region} が含まれます。 次の表に変数を示します。

変数

説明

${aliUid}

Alibaba CloudアカウントのID。

${プロジェクト}

プロジェクトの名前。 Simple Log Serviceのプロジェクトは、さまざまなユーザーのリソースを分離し、特定のリソースへのアクセスを制御するために使用されます。 詳細については、「プロジェクト」をご参照ください。

${Logstore}

ログストアの名前。 Simple Log ServiceのLogstoreは、ログの収集、保存、およびクエリに使用されます。 詳細は、「Logstore」をご参照ください。

${リージョン}

Simple Log Serviceのデータセンターがデプロイされている物理的な場所。 プロジェクトの作成時にリージョンを指定できます。 プロジェクトの作成後、リージョンを変更することはできません。 詳細については、「サポートされているリージョン」をご参照ください。

課金項目

Simple Log Serviceの請求項目に基づいて、Simple Log Serviceが提供する機能を使用した場合に課金されます。 Simple Log Serviceの課金対象項目ごとに個別に課金されます。 たとえば、ログを収集して保存する場合、書き込みトラフィック料金とログ保存料金が課金されます。 詳細については、「課金機能の課金項目」をご参照ください。

課金データにおいて、BillingItemフィールドは、課金可能なアイテムを示す。 Simple Log Serviceの請求項目の詳細については、「請求項目」をご参照ください。

SLSリソース使用量分析の一般的なシナリオ

課金データに対してカスタム分析を実行して、リソース使用量をリアルタイムで監視できます。

インスタンスのリソース使用状況の傾向とリソース使用状況の詳細を監視する

インスタンスのリソース使用量の傾向とリソース使用量の詳細を監視して、最も早い機会に請求データに大幅な変更を引き起こす例外を処理できます。

  • リソース使用量の傾向を監視する

    date_trunc関数を呼び出して、さまざまな時間粒度でのリソース使用傾向を分析できます。

    • クエリ文

      BillingItemフィールドは請求可能なアイテムを指定し、Usageフィールドはリソースの使用を指定します。

      * |
      select
       date_trunc('day', __time__) as "Date",
       BillingItem,
       round(sum(Usage), 3) as "Usage"
      FROM instance_bill
      where
       productcode = 'sls'
      group by
       "Date",
       BillingItem
      order by
       "Date"
    • クエリと分析の結果: フローチャート (Pro) を使用して、クエリと分析の結果を視覚化して表示できます。 詳細については、「フローチャート (Pro) 」をご参照ください。 クエリと分析の結果をフローチャート (Pro) に表示するには、Axis X FieldDateに、Axis Y FieldUsageに、Aggregate ColumnBillingItemに設定します。 image.png

  • インスタンスのリソース使用状況の詳細を監視する

    リソース使用状況の詳細には、各インスタンスの料金とリソース使用状況が含まれます。 SLSインスタンスのリソース使用量の詳細を分析するには、料金、リソース使用量、およびストレージを分析するSQL文を組み合わせることができます。

    • t1分析ステートメントは、各インスタンスの請求可能アイテム使用量を含む、請求可能アイテム使用量の統計を分析するために使用されます。

    • t2分析ステートメントは、インスタンスの料金を分析するために使用されます。これには、各インスタンスの支払額と、前月の支払額と比較した当月の支払額の増加率が含まれます。 PretaxAmountフィールドは、各インスタンスの支払金額を指定します。

    • t3分析ステートメントは、インスタンスの総ストレージ使用量を分析するために使用されます。 インスタンスのストレージ使用量は、毎日計算されます。 インスタンスの合計ストレージ使用量は、指定された時間範囲内の最終日まで使用されたすべてのストレージです。

      • クエリ文

        * | with t1 as (
        	select
        	InstanceID,
        	BillingItem,
        	sum(Usage) as Usage
        	FROM instance_bill
        	where
        	ProductCode = 'sls'
        	and BillingItem not like '%Storage%'
        	and BillingItem not like '%Storage%'
        	group by
        	InstanceID,
        	BillingItem
        ),
        t2 as (
        	select
        	InstanceID,
        	round(di [1], 3) as "Fee",
        	concat(
        		cast(round(di [3] * 100 -100, 3) as varchar),
        		'%'
        	) "Growth rate compared with the previous month"
        	from(
        		select
        		InstanceID,
        		compare(cost, 2592000) as di
        		FROM (
        			select
        			InstanceID,
        			round(sum(PretaxAmount), 2) as cost
        			FROM instance_bill
        			where
        			ProductCode = 'sls'
        			group by
        			InstanceID
        		)
        		group by
        		InstanceID
        	)
        ),
        t3 as (
        	select
        	InstanceID,
        	max_by("Storage", t) as "Storage"
        	FROM (
        		select
        		t,
        		InstanceID,
        		round(sum("Storage"), 2) as "Storage"
        		from(
        			select
        			date_trunc('day', __time__) as t,
        			InstanceID,
        			case
        			when BillingItem like '%Storage%'
        			or BillingItem like '%Storage%' then Usage
        			else 0
        			end as "Storage"
        			FROM instance_bill
        			WHERE
        			ProductCode = 'sls'
        			group by
        			t,
        			InstanceID,
        			"Storage"
        		)
        		group by
        		t,
        		InstanceID
        		order by
        		t asc
        	)
        	group by
        	InstanceID
        )
        select
         t1.InstanceID as InstanceID,
         t1.BillingItem as BillingItem,
         t1.Usage as Usage,
         t2."Fee" as "Fee",
         t2."Growth rate compared with the previous month" as "Growth rate compared with the previous month (%)",
         t3."Storage" as "Storage"
        FROM t1
         left join t2 on t1.InstanceID = t2.InstanceID
         left join t3 on t1.InstanceID = t3.InstanceID
        order by
         "Fee" desc
        limit
         150000
      • クエリおよび分析の結果

        クロステーブルを使用して、インスタンスごとの請求可能アイテムの使用状況の詳細を視覚化して表示できます。 詳細については、「クロステーブル」をご参照ください。 クエリと分析の結果をクロステーブルに表示するには、[カテゴリ列][BillIngItem] に、[メトリック列][使用状況] に、[集計列][インスタンスID][料金][前月と比較した成長率 (%)] 、および [ストレージ] に設定します。 設定後、各インスタンスの料金とリソース使用量を監視できます。 インスタンスを課金可能なアイテムでソートし、課金可能なアイテムごとに上位のインスタンスを取得できます。 image.png

リソース使用量の傾向とインスタンスのリソース使用量の詳細のモニタリング結果に基づいて、リソース使用量を効率的に分析できます。 また、監視結果に基づいて、読み取りおよび書き込みトラフィック、ストレージ、インデックストラフィックなどの課金対象項目の使用状況の変化を分析することもできます。

読み取りおよび書き込みトラフィックの使用量の増加

次のクエリステートメントを実行して、各インスタンスの読み取りおよび書き込みトラフィックを分析し、クエリおよび分析結果をグラフに表示できます。

  • クエリ文

    * |
    select
     "Date",
     InstanceID,
    "Usage"
    from(
    	select
    	date_trunc('day', __time__) as "Date",
    	InstanceID,
    	round(sum(Usage), 3) as "Usage"
    	FROM instance_bill
    	where
    	productcode = 'sls'
    	and BillingItem = 'Read and write traffic' 
    	group by
    	"Date",
    	InstanceID
    )
    group by
     "Date",
     "Usage",
     InstanceID
    order by
     "Date"
    limit
     10000

ストレージ使用量の増加

  • クエリ文

    * |
    select
     InstanceID,
     round(diffreal [1], 3) as "Usage",
     concat(
    		cast(
    			round(diffreal [1] / sum(diffreal [1]) over() * 100, 2) as varchar
    		),
    		'%'
    	) as "Proportion of storage usage",
     concat(
    		cast(
    			coalesce(round(diffreal [5] * 100 -100), 2) as varchar
    		),
    		'%'
    	) as "One day before",
     concat(
    		cast(
    			round(coalesce(diffreal [6] * 100 -100, 2)) as varchar
    		),
    		'%'
    	) as "Two days before",
     concat(
    		cast(
    			round(coalesce(diffreal [7] * 100 -100), 2) as varchar
    		),
    		'%'
    	) as "Three days before"
    from(
    	select
    	InstanceID,
    	compare(Usage, 86400, 172800, 259200) as diffreal
    	from(
    		select
    		InstanceID,
    		sum(Usage) as Usage
    		FROM instance_bill
    		where ProductCode='sls' and BillingItem = 'Storage'
    		group by
    		InstanceID
    	)
    	group by
    	InstanceID
    )
    order by
     diffreal [1] desc
    limit
     1000

次のクエリ文を実行して、instance5のストレージ使用量の増加を分析できます。

  • クエリ文

    ${instance5} を実際のインスタンスに置き換えます。

    * |
    select
     date_trunc('day', __time__) as "Date",
     BillingItem,
     round(sum(Usage), 3) as "Usage"
    FROM instance_bill
    where
     productcode = 'sls'
    and InstanceID = ${instance5}
    group by
     "Date",
     BillingItem
    order by
     "Date"

リソース使用量がカウントされません

  1. 請求データに基づいて、請求可能なアイテムの料金を相殺するためにリソースプランが使用されているかどうかを確認します。

    • クエリ文

      リソース使用量データと、リソースプランを使用して料金が相殺されるリソース使用量を照会します。

      (*) |
      select
      	InstanceID,
       BillingItem,
       	Usage as "Usage",
      	DeductedByResourcePackage as "Resource usage for which fees are offset by using resource plans"
      FROM instance_bill
      where
       productcode = 'sls'
  2. リソースプランを使用して料金が相殺されるリソース使用量が、請求可能なアイテムの合計使用量と等しいかどうかを確認します。

    • クエリ文

      リソースプランを使用して料金が相殺される前に、リソース使用量を照会します。 ReductedByResourcePackageフィールドは、リソースプランを使用して料金を相殺するリソース使用量を指定します。 リソースプランを使用して料金が相殺される前のリソース使用量は、次の式を使用して計算されます。usage + ReductedByResourcePackage。

      * |
      select
       date_trunc('day', __time__) as "Date",
       BillingItem,
       round(sum(Usage + DeductedByResourcePackage), 3) as "Resource usage before the fees are offset by using resource plans"
      FROM instance_bill
      where
       productcode = 'sls'
      group by
       "Date",
       BillingItem
      order by
       "Date"

リソース使用量に対するアラートの設定

Simple Log Serviceのアラート機能は、エンドツーエンドのインテリジェントO&Mシステムで、アラートモニタリングルールに基づいてデータをモニタリングし、アラートのノイズを除去し、インシデントを管理し、アラート通知を配布できます。 アラート機能を使用して、Simple Log Serviceのリソース使用状況をリアルタイムで監視できます。 CloudLens for SLSは異常検出と統合されています。 アラートセンターに効率的にアクセスできます。 詳細については、「アラートの設定」をご参照ください。

前日のリソース使用量の合計に対するアラートの設定

全体的なコストを管理するには、リソースの総使用量に注意する必要があります。 この例では、次のクエリ文を使用して、ストレージの使用状況をクエリできます。

  • クエリ文

     * | 
    select
    	round(sum(Usage), 2) as "Storage usage"
    from instance_bill
    where ProductCode='sls' 
    and BillingItem='Storage'

インスタンスのリソース使用量に対するアラートの設定

コストを削減するには、特定のインスタンスのリソース使用量に注意する必要があります。 この例では、次のクエリ文を使用してストレージ使用量をクエリできます。 インスタンスのストレージ使用率が10を超える場合、アラートがトリガーされます。

  • クエリ文

    * |
    select
     InstanceID,
     "Storage usage"
    from(
     select
     InstanceID,
     round(sum(Usage), 2) as "Storage usage"
     FROM instance_bill
     where
     ProductCode = 'sls'
     and BillingItem = 'Storage'
     group by
     InstanceID
     )
    where
     "Storage usage" > 10

上記のアラートシナリオは、参照用にのみ提供されています。 ビジネス要件に基づいてアラートを設定できます。 詳細については、「Simple Log Serviceでのアラートモニタリングルールの設定」をご参照ください。