{"id":24496863,"url":"https://github.com/10mohi6/mackerel-api-client-python","last_synced_at":"2025-03-15T06:16:38.251Z","repository":{"id":57690741,"uuid":"493919364","full_name":"10mohi6/mackerel-api-client-python","owner":"10mohi6","description":"mackerel.api is a python library for mackerel api on Python 3.7 and above.","archived":false,"fork":false,"pushed_at":"2022-05-23T00:54:54.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T02:54:15.831Z","etag":null,"topics":["api","client","mackerel","python","rest","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/10mohi6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-19T04:27:17.000Z","updated_at":"2022-05-19T22:26:46.000Z","dependencies_parsed_at":"2022-09-26T20:52:46.599Z","dependency_job_id":null,"html_url":"https://github.com/10mohi6/mackerel-api-client-python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fmackerel-api-client-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fmackerel-api-client-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fmackerel-api-client-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/10mohi6%2Fmackerel-api-client-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/10mohi6","download_url":"https://codeload.github.com/10mohi6/mackerel-api-client-python/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243690173,"owners_count":20331729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","client","mackerel","python","rest","rest-api"],"created_at":"2025-01-21T21:19:11.731Z","updated_at":"2025-03-15T06:16:38.214Z","avatar_url":"https://github.com/10mohi6.png","language":"Python","readme":"# mackerel.api\n\n[![PyPI](https://img.shields.io/pypi/v/mackerel.api)](https://pypi.org/project/mackerel.api/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![codecov](https://codecov.io/gh/10mohi6/mackerel-api-client-python/branch/main/graph/badge.svg?token=dCNHE9TzxS)](https://codecov.io/gh/10mohi6/mackerel-api-client-python)\n[![Build Status](https://app.travis-ci.com/10mohi6/mackerel-api-client-python.svg?branch=main)](https://app.travis-ci.com/10mohi6/mackerel-api-client-python)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mackerel.api)](https://pypi.org/project/mackerel.api/)\n[![Downloads](https://pepy.tech/badge/mackerel.api)](https://pepy.tech/project/mackerel.api)\n\nmackerel.api is a python library for mackerel api on Python 3.7 and above.\n\n## Install\n\n    $ pip install mackerel.api\n\n## Usage\n\n```python\nfrom mackerel.api import Client\n\nclient = Client(\"\u003cmackerel api key\u003e\")\nres = client.get(\"/org\")\nprint(res.status_code, res.json())\n```\n\n## API\n\n[documentation](https://mackerel.io/ja/api-docs/)\n\n### service\n\n```python\n# サービスの一覧\nclient.get(\"/services\")\n# サービスの登録\nclient.post(\"/services\", {\"name\": \"\u003cserviceName\u003e, … \"})\n# サービスの削除\nclient.delete(\"/services/\u003cserviceName\u003e\")\n# ロールの一覧\nclient.get(\"/services/\u003cserviceName\u003e/roles\")\n# ロールの登録\nclient.post(\"/services/\u003cserviceName\u003e/roles\", {\"name\": \"\u003cserviceName\u003e, … \"})\n# ロールの削除\nclient.delete(\"/services/\u003cserviceName\u003e/roles/\u003croleName\u003e\")\n# メトリック名の一覧\nclient.get(\"/services/\u003cserviceName\u003e/metric-names\")\n```\n\n### host\n\n```python\n# ホストの登録\nclient.post(\"/hosts\", {\"name\": \"\u003chostName\u003e\", … })\n# ホスト情報の取得\nclient.get(\"/hosts/\u003chostId\u003e\")\n# ホスト情報の更新\nclient.put(\"/hosts/\u003chostId\u003e\", {\"name\": \"\u003chostName\u003e\", … })\n# ホストのステータスの更新\nclient.post(\"/hosts/\u003chostId\u003e/status\", {\"status\": \"\u003chostStatus\u003e\"})\n# ホストのロールの更新\nclient.put(\"/hosts/\u003chostId\u003e/role-fullnames\", {\"roleFullnames\": [ \u003cstring\u003e, \u003cstring\u003e, … ]})\n# ホストの退役\nclient.post(\"/hosts/\u003chostId\u003e/retire\", {})\n# ホストの一覧\nclient.get(\"/hosts\")\n# メトリック名の一覧\nclient.get(\"/hosts/\u003chostId\u003e/metric-names\")\n# 監視ステータスの一覧\nclient.get(\"/hosts/\u003chostId\u003e/monitored-statuses\")\n```\n\n### host metric\n\n```python\n# メトリックの投稿\nclient.post(\"/tsdb\", [ \u003cmetricValue\u003e, \u003cmetricValue\u003e, … ])\n# ホストのメトリックの値の取得\nclient.get(\"/hosts/\u003chostId\u003e/metrics\", {\"name\": \"\u003cmetricName\u003e\", … })\n# メトリックの最新値の取得\nclient.get(\"/tsdb/latest\", {\"hostId\": \"\u003chostId\u003e\", … })\n# グラフ定義の投稿\nclient.post(\"/graph-defs/create\", [ \u003cgraphDef\u003e, \u003cgraphDef\u003e, … ])\n```\n\n### service metric\n\n```python\n# サービスメトリックの投稿\nclient.post(\"/services/\u003cserviceName\u003e/tsdb\", [ \u003cmetricValue\u003e, \u003cmetricValue\u003e, … ])\n# サービスメトリックの値の取得\nclient.get(\"/services/\u003cserviceName\u003e/metrics\", {\"name\": \"\u003cserviceName\u003e\", … })\n```\n\n### check\n\n```python\n# チェック監視結果の投稿\nclient.post(\"/monitoring/checks/report\", {\"reports\": [ \u003creport\u003e, \u003creport\u003e, … ]})\n```\n\n### metadata\n\n```python\n# ホストメタデータの取得\nclient.get(\"/hosts/\u003chostId\u003e/metadata/\u003cnamespace\u003e\")\n# ホストメタデータの登録・更新\nclient.put(\"/hosts/\u003chostId\u003e/metadata/\u003cnamespace\u003e\", { … })\n# ホストメタデータの削除\nclient.delete(\"/hosts/\u003chostId\u003e/metadata/\u003cnamespace\u003e\")\n# ホストメタデータの一覧\nclient.get(\"/hosts/\u003chostId\u003e/metadata\")\n# サービスメタデータの取得\nclient.get(\"/services/\u003cserviceName\u003e/metadata/\u003cnamespace\u003e\")\n# サービスメタデータの登録・更新\nclient.put(\"/services/\u003cserviceName\u003e/metadata/\u003cnamespace\u003e\", { … })\n# サービスメタデータの削除\nclient.delete(\"services/\u003cserviceName\u003e/metadata/\u003cnamespace\u003e\")\n# サービスメタデータの一覧\nclient.get(\"/services/\u003cserviceName\u003e/metadata\")\n# ロールメタデータの取得\nclient.get(\"/services/\u003cserviceName\u003e/roles/\u003croleName\u003e/metadata/\u003cnamespace\u003e\")\n# ロールメタデータの登録・更新\nclient.put(\"/services/\u003cserviceName\u003e/roles/\u003croleName\u003e/metadata/\u003cnamespace\u003e\", { … })\n# ロールメタデータの削除\nclient.delete(\"/services/\u003cserviceName\u003e/roles/\u003croleName\u003e/metadata/\u003cnamespace\u003e\")\n# ロールメタデータの一覧\nclient.get(\"/services/\u003cserviceName\u003e/roles/\u003croleName\u003e/metadata\")\n```\n\n### monitor\n\n```python\n# 監視ルールの登録\nclient.post(\"/monitors\", {\"type\": \"host\", … })\n# 監視ルールの一覧\nclient.get(\"/monitors\")\n# 監視ルールの取得\nclient.get(\"/monitors/\u003cmonitorId\u003e\")\n# 監視ルールの更新\nclient.put(\"/monitors/\u003cmonitorId\u003e\", { … })\n# 監視ルールの削除\nclient.delete(\"/monitors/\u003cmonitorId\u003e\")\n```\n\n### downtime\n\n```python\n# ダウンタイムの登録\nclient.post(\"/downtimes\", {\"name\": \"\u003cdowntimeName\u003e\", … })\n# ダウンタイムの一覧\nclient.get(\"/downtimes\")\n# ダウンタイムの更新\nclient.put(\"/downtimes/\u003cdowntimeId\u003e\", {\"name\": \"\u003cdowntimeName\u003e\", … })\n# ダウンタイムの削除\nclient.delete(\"/downtimes/\u003cdowntimeId\u003e\")\n```\n\n### channel\n\n```python\n# 通知チャンネルの一覧\nclient.get(\"/channels\")\n# 通知チャンネルの登録\nclient.post(\"/channels\", {\"type\": \"email\", … })\n# 通知チャンネルの削除\nclient.delete(\"/channels/\u003cchannelId\u003e\")\n```\n\n### group\n\n```python\n# 通知グループの登録\nclient.post(\"/notification-groups\", {\"name\": \"\u003cgroupName\u003e\", … })\n# 通知グループの一覧取得\nclient.get(\"/notification-groups\")\n# 通知グループの更新\nclient.put(\"/notification-groups/\u003cnotificationGroupId\u003e\", {\"name\": \"\u003cgroupName\u003e\", … })\n# 通知グループの削除\nclient.delete(\"/notification-groups/\u003cnotificationGroupId\u003e\")\n```\n\n### alert\n\n```python\n# アラートの一覧\nclient.get(\"/alerts\")\n# アラートの取得\nclient.get(\"/alerts/\u003calertId\u003e\")\n# アラートを閉じる\nclient.post(\"/alerts/\u003calertId\u003e/close\", {\"reason\": \"\u003ctext\u003e\"})\n```\n\n### alert group\n\n```python\n# アラートグループ設定の一覧\nclient.get(\"/alert-group-settings\")\n# アラートグループ設定の作成\nclient.post(\"/alert-group-settings\", {\"name\": \"\u003calertGroupName\u003e\", … })\n# アラートグループ設定の取得\nclient.get(\"/alert-group-settings/\u003calertGroupSettingId\u003e\")\n# アラートグループ設定の更新\nclient.put(\"/alert-group-settings/\u003calertGroupSettingId\u003e\", {\"name\": \"\u003cgroupName\u003e\", … })\n# アラートグループ設定の削除\nclient.delete(\"/alert-group-settings/\u003calertGroupSettingId\u003e\")\n```\n\n### dashboard\n\n```python\n# ダッシュボードの作成\nclient.post(\"/dashboards\", {\"title\": \"\u003cdashboardTitle\u003e\", … })\n# ダッシュボードの取得\nclient.get(\"/dashboards/\u003cdashboardId\u003e\")\n# ダッシュボードの更新\nclient.put(\"/dashboards/\u003cdashboardId\u003e\", {\"title\": \"\u003cdashboardTitle\u003e\", … })\n# ダッシュボードの削除\nclient.delete(\"/dashboards/\u003cdashboardId\u003e\")\n# ダッシュボードの一覧\nclient.get(\"/dashboards\")\n```\n\n### graph annotation\n\n```python\n# グラフアノテーションの作成\nclient.post(\"/graph-annotations\", {\"title\": \"\u003cannotationTitle\u003e\", … })\n# グラフアノテーションの取得\nclient.get(\"/graph-annotations\", {\"service\": \"\u003cserviceName\u003e\", … })\n# グラフアノテーションの更新\nclient.put(\"/graph-annotations/\u003cannotationId\u003e\", {\"title\": \"\u003cannotationTitle\u003e\", … })\n# グラフアノテーションの削除\nclient.delete(\"/graph-annotations/\u003cannotationId\u003e\")\n```\n\n### user\n\n```python\n# オーガニゼーションメンバーに所属するユーザーの一覧\nclient.get(\"/users\")\n# オーガニゼーションメンバーに所属するユーザーの削除\nclient.delete(\"/users/\u003cuserId\u003e\")\n```\n\n### invitation\n\n```python\n# 招待の一覧\nclient.get(\"/invitations\")\n# 招待の作成\nclient.post(\"/invitations\", {\"email\": \"\u003cemailAddress\u003e\", … })\n# 招待の取り消し\nclient.post(\"/invitations/revoke\", {\"email\": \"\u003cemailAddress\u003e\", … })\n```\n\n### org\n\n```python\n# オーガニゼーションの情報を取得\nclient.get(\"/org\")\n```\n\n### aws integration\n\n```python\n# AWSインテグレーション設定の一覧\nclient.get(\"/aws-integrations\")\n# AWSインテグレーション設定の取得\nclient.get(\"/aws-integrations/\u003cawsIntegrationId\u003e\")\n# AWSインテグレーション設定の登録\nclient.post(\"/aws-integrations\", {\"name\": \"\u003cawsIntegrationName\u003e, … \"})\n# AWSインテグレーション設定の更新\nclient.put(\"/aws-integrations/\u003cawsIntegrationId\u003e\", {\"name\": \"\u003cawsIntegrationName\u003e\", … })\n# AWSインテグレーション設定の削除\nclient.delete(\"aws-integrations/\u003cawsIntegrationId\u003e\")\n# AWSインテグレーション外部IDの生成\nclient.post(\"/aws-integrations-external-id\")\n# AWSインテグレーションの除外可能なメトリック名一覧\nclient.get(\"/aws-integrations-excludable-metrics\")\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F10mohi6%2Fmackerel-api-client-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F10mohi6%2Fmackerel-api-client-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F10mohi6%2Fmackerel-api-client-python/lists"}