LoginSignup
1
2

More than 3 years have passed since last update.

IBM Cloud: CIS(Cloud Internet Service)でGraphQLを試してみる

Last updated at Posted at 2020-11-09

1. はじめに

IBM CloudのCIS(Cloud Internet Service)では、GraphQLを使ってログなどを取得することが可能になりました(GraphQLはAPI用のクエリ言語です。ググったらもっといい情報が出てきます)。
本稿では、IBM Cloud docsに従って、GraphQLを試してみたいと思います。なお、CISでGraphQLを利用するためにはEnterprise Planである必要があります。

2. GraphiQLの導入とセットアップ

  1. ここからダウンロード可能。私の環境はMacなので、GraphiQL-0.7.2.dmgをダウンロードしてダブルクリックから導入した。

  2. GraphQL Endpointの設定。
    image.png

    • endpoint情報はhttps://api.cis.cloud.ibm.com/v1/<crn>/zones/<zoneid>/graphqlとなる。
    • <crn>および、zoneid(Domain ID)は以下から取得可能。
      image.png
  3. Edit HTTP Headerを押下

  4. ヘッダ情報を設定
    image.png

    • X-Auth-User-Tokenの値は、IAMの認証トークン情報であり、取得方法はここを参照。
    • Content-Typeの値は、application/json

3. テスト

IBM Cloud docsにあるサンプルを利用してみた。
ツールの左側に以下のQueryを入れて、実行ボタンを押下すると、右側に結果が表示される。

3.1 Case1

image.png

Domain IDは適宜調整してください。

Queryの例
{
  viewer {
    zones(filter: {zoneTag: "<Domain ID>"}) {
      settings {
        browserInsightsAdaptiveGroups {
          maxDuration
          maxNumberOfFields
          maxPageSize
          enabled
          notOlderThan
        }
      }
    }
  }
}

3.2 Case2

image.png

Domain IDおよび日付は適宜調整してください。

Queryの例
{
  viewer {
    zones(filter: {zoneTag: "<Domain ID>"}) {
      httpRequests1hGroups(limit: 5, filter: {datetime_gt: "2020-11-08T00:00:00Z", datetime_lt: "2020-11-10T23:59:59Z"}) {
        sum {
          countryMap {
            bytes
            clientCountryName
          }
        }
        dimensions {
          date
          datetime
        }
      }
      firewallEventsAdaptiveGroups(limit: 10, filter: {datetime_gt: "2020-11-09T00:00:00Z", datetime_lt: "2020-11-10T23:59:59Z"}) {
        count
        dimensions {
          clientCountryName
          clientAsn
          datetimeHour
        }
      }
    }
  }
}
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2