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

Simple Log Service:ダッシュボードの更新

最終更新日:Nov 13, 2024

UpdateDashboard APIを呼び出して、ダッシュボードを更新します。

前提条件

  • Simple Log Serviceが有効化されています。

  • Python用のSimple Log Service SDKが初期化されます。

パラメータ説明

def update_dashboard(self, project, detail):

リクエストパラメーター

パラメーター

タイプ

必須

説明

project

str

必須

プロジェクトの名前。

ali-test-project

詳細

dict

必須

ダッシュボード更新用のJSONオブジェクトの構成情報。

{
    "charts": [
        {
            "display": {
                "displayName": "",
                "height": 5,
                "width": 5,
                "xAxis": [
                    "province"
                ],
                "xPos": 0,
                "yAxis": [
                    "pv"
                ],
                "yPos": 0
            },
            "search": {
                "end": "now",
                "logstore": "website_log",
                "query": "* | select  ip_to_province(remote_addr) as province , count(1) as pv group by province order by pv desc ",
                "start": "-86400s",
                "topic": ""
            },
            "title": "map",
            "type": "map",
            "action": {}
        }
    ],
    "dashboardName": "dashboard_1730181295-123456",
    "description": "",
    "displayName": "dashboard_test"
}

detailパラメータの説明:

パラメーター

タイプ

必須

説明

dashboardName

str

必須

ダッシュボードの内部表示名。

dashboard-1609294922657-123456

displayName

str

必須

ダッシュボードの表示名。

テスト-アラート

説明

str

選択可能

ダッシュボードの説明。

これはダッシュボードです。

属性

dict

選択可能

ダッシュボードの属性値。

 {"type": "grid"}

チャート

list

必須

ダッシュボードに含まれるチャートのJSON配列。

[
    {
        "display": {
            "displayName": "",
            "height": 5,
            "width": 5,
            "xAxis": [
                "province"
            ],
            "xPos": 0,
            "yAxis": [
                "pv"
            ],
            "yPos": 0
        },
        "search": {
            "end": "now",
            "logstore": "website_log",
            "query": "* | select ip_to_province(remote_addr) as province,count(1) as pv group by province order by pv desc ",
            "start": "-86400s",
            "topic": ""
        },
        "title": "map",
        "type": "map"
    },
    {
        "display": {
            "displayName": "",
            "height": 5,
            "width": 5,
            "xAxis": [
                "province"
            ],
            "xPos": 5,
            "yAxis": [
                "pv"
            ],
            "yPos": 0
        },
        "search": {
            "end": "now",
            "logstore": "website_log",
            "query": "* | select ip_to_province(remote_addr) as province,count(1) as pv group by province order by pv desc ",
            "start": "-86400s",
            "topic": ""
        },
        "title": "post_map",
        "type": "map"
    }
]

チャート配列の説明:

パラメーター

タイプ

必須

説明

タイトル

str

必須

チャートのタイトル。

私のチャート

タイプ

str

必須

チャートのタイプ。

linepro

検索

dict

必須

クエリの設定。

{
    "end": "now",
    "logstore": "website_log",
    "query": "* | select ip_to_province(remote_addr) as province,count(1) as pv group by province order by pv desc ",
    "start": "-86400s",
    "topic": ""
}

ディスプレイ

dict

必須

チャートの設定を表示します。

{
    "displayName": "",
    "height": 5,
    "width": 5,
    "xAxis": [
        "province"
    ],
    "xPos": 5,
    "yAxis": [
        "pv"
    ],
    "yPos": 0
}

アクション

dict

選択可能

チャートのインタラクション発生設定。

{}

応答パラメーター

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

サンプルコード

from aliyun.log import LogClient
import os

dashboard_detail = {
    "charts": [
        {
            "display": {
                "displayName": "",
                "height": 5,
                "width": 5,
                "xAxis": [
                    "province"
                ],
                "xPos": 0,
                "yAxis": [
                    "pv"
                ],
                "yPos": 0
            },
            "search": {
                "end": "now",
                "logstore": "website_log",
                "query": "* | select  ip_to_province(remote_addr) as province , count(1) as pv group by province order by pv desc ",
                "start": "-86400s",
                "topic": ""
            },
            "title": "map",
            "type": "map",
            "action": {}
        }
    ],
    "dashboardName": "dashboard_1730181295-123456",
    "description": "",
    "displayName": "dashboard_test"
}


def main():
    # In this example, the AccessKey ID and AccessKey secret are obtained from environment variables.
    accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
    accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')

    # The Simple Log Service endpoint.
    endpoint = "cn-hangzhou.log.aliyuncs.com"

    project = 'ali-test-project'

    client = LogClient(endpoint, accessKeyId, accessKey, "")

    res = client.update_dashboard(project, dashboard_detail)
    res.log_print()


if __name__ == '__main__':
    main()

関連ドキュメント