Package: mackerel.api
mackerel.apimackerel.api is a python library for mackerel api on Python 3.7 and above.Install$ pip install mackerel.apiUsagefrommackerel.apiimportClientclient=Client("<mackerel api key>")res=client.get("/org")print(res.status_code,res.json())APIdocumentationservice# サービスの一覧client.get("/services")# サービスの登録client.post("/services",{"name":"<serviceName>, … "})# サービスの削除client.delete("/services/<serviceName>")# ロールの一覧client.get("/services/<serviceName>/roles")# ロールの登録client.post("/services/<serviceName>/roles",{"name":"<serviceName>, … "})# ロールの削除client.delete("/services/<serviceName>/roles/<roleName>")# メトリック名の一覧client.get("/services/<serviceName>/metric-names")host# ホストの登録client.post("/hosts",{"name":"<hostName>",…})# ホスト情報の取得client.get("/hosts/<hostId>")# ホスト情報の更新client.put("/hosts/<hostId>",{"name":"<hostName>",…})# ホストのステータスの更新client.post("/hosts/<hostId>/status",{"status":"<hostStatus>"})# ホストのロールの更新client.put("/hosts/<hostId>/role-fullnames",{"roleFullnames":[<string>,<string>,…]})# ホストの退役client.post("/hosts/<hostId>/retire",{})# ホストの一覧client.get("/hosts")# メトリック名の一覧client.get("/hosts/<hostId>/metric-names")# 監視ステータスの一覧client.get("/hosts/<hostId>/monitored-statuses")host metric# メトリックの投稿client.post("/tsdb",[<metricValue>,<metricValue>,…])# ホストのメトリックの値の取得client.get("/hosts/<hostId>/metrics",{"name":"<metricName>",…})# メトリックの最新値の取得client.get("/tsdb/latest",{"hostId":"<hostId>",…})# グラフ定義の投稿client.post("/graph-defs/create",[<graphDef>,<graphDef>,…])service metric# サービスメトリックの投稿client.post("/services/<serviceName>/tsdb",[<metricValue>,<metricValue>,…])# サービスメトリックの値の取得client.get("/services/<serviceName>/metrics",{"name":"<serviceName>",…})check# チェック監視結果の投稿client.post("/monitoring/checks/report",{"reports":[<report>,<report>,…]})metadata# ホストメタデータの取得client.get("/hosts/<hostId>/metadata/<namespace>")# ホストメタデータの登録・更新client.put("/hosts/<hostId>/metadata/<namespace>",{…})# ホストメタデータの削除client.delete("/hosts/<hostId>/metadata/<namespace>")# ホストメタデータの一覧client.get("/hosts/<hostId>/metadata")# サービスメタデータの取得client.get("/services/<serviceName>/metadata/<namespace>")# サービスメタデータの登録・更新client.put("/services/<serviceName>/metadata/<namespace>",{…})# サービスメタデータの削除client.delete("services/<serviceName>/metadata/<namespace>")# サービスメタデータの一覧client.get("/services/<serviceName>/metadata")# ロールメタデータの取得client.get("/services/<serviceName>/roles/<roleName>/metadata/<namespace>")# ロールメタデータの登録・更新client.put("/services/<serviceName>/roles/<roleName>/metadata/<namespace>",{…})# ロールメタデータの削除client.delete("/services/<serviceName>/roles/<roleName>/metadata/<namespace>")# ロールメタデータの一覧client.get("/services/<serviceName>/roles/<roleName>/metadata")monitor# 監視ルールの登録client.post("/monitors",{"type":"host",…})# 監視ルールの一覧client.get("/monitors")# 監視ルールの取得client.get("/monitors/<monitorId>")# 監視ルールの更新client.put("/monitors/<monitorId>",{…})# 監視ルールの削除client.delete("/monitors/<monitorId>")downtime# ダウンタイムの登録client.post("/downtimes",{"name":"<downtimeName>",…})# ダウンタイムの一覧client.get("/downtimes")# ダウンタイムの更新client.put("/downtimes/<downtimeId>",{"name":"<downtimeName>",…})# ダウンタイムの削除client.delete("/downtimes/<downtimeId>")channel# 通知チャンネルの一覧client.get("/channels")# 通知チャンネルの登録client.post("/channels",{"type":"email",…})# 通知チャンネルの削除client.delete("/channels/<channelId>")group# 通知グループの登録client.post("/notification-groups",{"name":"<groupName>",…})# 通知グループの一覧取得client.get("/notification-groups")# 通知グループの更新client.put("/notification-groups/<notificationGroupId>",{"name":"<groupName>",…})# 通知グループの削除client.delete("/notification-groups/<notificationGroupId>")alert# アラートの一覧client.get("/alerts")# アラートの取得client.get("/alerts/<alertId>")# アラートを閉じるclient.post("/alerts/<alertId>/close",{"reason":"<text>"})alert group# アラートグループ設定の一覧client.get("/alert-group-settings")# アラートグループ設定の作成client.post("/alert-group-settings",{"name":"<alertGroupName>",…})# アラートグループ設定の取得client.get("/alert-group-settings/<alertGroupSettingId>")# アラートグループ設定の更新client.put("/alert-group-settings/<alertGroupSettingId>",{"name":"<groupName>",…})# アラートグループ設定の削除client.delete("/alert-group-settings/<alertGroupSettingId>")dashboard# ダッシュボードの作成client.post("/dashboards",{"title":"<dashboardTitle>",…})# ダッシュボードの取得client.get("/dashboards/<dashboardId>")# ダッシュボードの更新client.put("/dashboards/<dashboardId>",{"title":"<dashboardTitle>",…})# ダッシュボードの削除client.delete("/dashboards/<dashboardId>")# ダッシュボードの一覧client.get("/dashboards")graph annotation# グラフアノテーションの作成client.post("/graph-annotations",{"title":"<annotationTitle>",…})# グラフアノテーションの取得client.get("/graph-annotations",{"service":"<serviceName>",…})# グラフアノテーションの更新client.put("/graph-annotations/<annotationId>",{"title":"<annotationTitle>",…})# グラフアノテーションの削除client.delete("/graph-annotations/<annotationId>")user# オーガニゼーションメンバーに所属するユーザーの一覧client.get("/users")# オーガニゼーションメンバーに所属するユーザーの削除client.delete("/users/<userId>")invitation# 招待の一覧client.get("/invitations")# 招待の作成client.post("/invitations",{"email":"<emailAddress>",…})# 招待の取り消しclient.post("/invitations/revoke",{"email":"<emailAddress>",…})org# オーガニゼーションの情報を取得client.get("/org")aws integration# AWSインテグレーション設定の一覧client.get("/aws-integrations")# AWSインテグレーション設定の取得client.get("/aws-integrations/<awsIntegrationId>")# AWSインテグレーション設定の登録client.post("/aws-integrations",{"name":"<awsIntegrationName>, … "})# AWSインテグレーション設定の更新client.put("/aws-integrations/<awsIntegrationId>",{"name":"<awsIntegrationName>",…})# AWSインテグレーション設定の削除client.delete("aws-integrations/<awsIntegrationId>")# AWSインテグレーション外部IDの生成client.post("/aws-integrations-external-id")# AWSインテグレーションの除外可能なメトリック名一覧client.get("/aws-integrations-excludable-metrics")