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

Simple Log Service:IP 機能

最終更新日:Aug 23, 2024

このトピックでは、IP関数の構文について説明します。 このトピックでは、関数の使用方法の例も示します。

次の表に、Simple Log ServiceでサポートされているIP機能を示します。

重要

分析ステートメントで文字列を使用する場合は、文字列を単一引用符 ('') で囲む必要があります。 囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。 たとえば、'status' はステータス文字列を示し、statusまたは "status" はステータスログフィールドを示します。

カテゴリ

関数

構文

説明

SQLでサポート

SPLでサポート

IPv4アドレス関数

ip_to_city関数

ip_to_city( x)

IPv4アドレスが属する都市を識別します。

この関数は、都市の中国語名を返します。

×

ip_to_city( x, 'en')

IPv4アドレスが属する都市を識別します。

この関数は、都市の行政区画コードを返します。

×

ip_to_city_geo関数

ip_to_city_geo( x)

IPv4アドレスが属する都市の経度と緯度を識別します。 この関数は、都市の経度と緯度を返します。 各都市には1セットの座標しかありません。

×

ip_to_country関数

ip_to_country( x)

IPv4アドレスが属する国または地域を識別します。

この関数は、国または地域の中国語名を返します。

×

ip_to_country( x, 'en')

IPv4アドレスが属する国または地域を識別します。

この関数は、国または地域のコードを返します。

×

ip_to_country_code関数

ip_to_country_code( x)

IPv4アドレスが属する国または地域を識別します。

この関数は、国または地域のコードを返します。

×

ip_to_domain関数

ip_to_domain( x)

IPv4アドレスがプライベートアドレスかパブリックアドレスかを確認します。

×

ip_to_geo関数

ip_to_geo( x)

IPv4アドレスの場所の経度と緯度を識別します。

×

ip_to_provider関数

ip_to_provider( x)

IPv4アドレスのインターネットサービスプロバイダー (ISP) を識別します。

×

ip_to_province関数

ip_to_province( x)

を識別します。Identifies the IPv4アドレスが属する状態

の中国語名を返します。 stateを実行します。

×

ip_to_province( x, 'en')

を識別します。Identifies the IPv4アドレスが属する状態

関数は、の管理部門コードを返します。 stateを実行します。

×

IPv4 CIDRブロック関数

ip_prefix関数

ip_prefix( x, prefix_bits)

IPv4アドレスのプレフィックスを返します。

×

is_prefix_subnet_of関数

is_prefix_subnet_of( x, y)

IPv4 CIDRブロックが指定されたCIDRブロックのサブネットであるかどうかを確認します。

×

is_subnet_of関数

is_subnet_of( x, y)

IPv4アドレスが指定されたCIDRブロックにあるかどうかをチェックします。

×

ip_subnet_max関数

ip_subnet_max( x)

IPv4 CIDRブロックの最大のIPアドレスを返します。

×

ip_subnet_min関数

ip_subnet_min( x)

IPv4 CIDRブロック内の最小のIPアドレスを返します。

×

ip_subnet_range関数

ip_subnet_range( x)

IPv4 CIDRブロックの範囲を返します。

×

IPv6アドレス関数

ipv6_to_city関数

ipv6_to_city( x)

IPv6アドレスが属する都市を識別します。

×

ipv6_to_city_code関数

ipv6_to_city_code( x)

IPv6アドレスが属する都市の行政区画コードを識別します。

×

ipv6_to_city_geo関数

ipv6_to_city_geo( x)

IPv6アドレスが属する都市の経度と緯度を識別します。

×

ipv6_to_country関数

ipv6_to_country( x)

IPv6アドレスが属する国または地域を識別します。

×

ipv6_to_country_code関数

ipv6_to_country_code( x)

IPv6アドレスが属する国または地域のコードを識別します。

×

ipv6_to_domain関数

ipv6_to_domain( x)

IPv6アドレスがプライベートアドレスかパブリックアドレスかを確認します。

×

ipv6_to_provider関数

ipv6_to_provider( x)

IPv6アドレスのISPを識別します。

×

ipv6_to_province関数

ipv6_to_province( x)

IPv6アドレスが属する州を識別します。

×

ipv6_to_province_code関数

ipv6_to_province_code( x)

IPv6アドレスが属する省の行政区画コードを識別します。

×

ip_to_city関数

ip_to_city関数は、IPv4アドレスが属する都市を識別する。

構文

  • 次の構文を使用すると、この関数は都市の中国語名を返します。

    ip_to_city(x)
  • 次の構文を使用すると、この関数は都市の行政区分コードを返します。

    ip_to_city(x,'en')

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。

市ごとにリクエストの平均処理時間とリクエストの最大処理時間を計算し、最大処理時間を必要とするリクエストのIDを取得します。

  • クエリ文

    * |
    SELECT
      AVG(request_time) AS avg_request_time,
      MAX(request_time) AS max_request_time,
      MAX_BY(requestId, request_time) AS requestId,
      ip_to_city(client_ip) AS city
    GROUP BY
      city
  • クエリと分析結果 ip_to_city

ip_to_city_geo関数

ip_to_city_geo関数は、IPv4アドレスが属する都市の経度と緯度を識別します。 この関数は、都市の経度と緯度を返します。 各都市には1セットの座標しかありません。

構文

ip_to_city_geo(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。 形式: 緯度、経度

IPv4アドレスの経度と緯度、およびクライアントの分布を取得します。

  • クエリ文

    * |
    SELECT
      count(*) AS PV,
      ip_to_city_geo(client_ip) AS geo
    GROUP BY
      geo
    ORDER BY
      PV DESC
  • クエリと分析結果 ip_to_city_geo

ip_to_country関数

ip_to_country関数は、IPv4アドレスが属する国または地域を識別します。

構文

  • 次の構文を使用すると、この関数は国または地域の中国語名を返します。

    ip_to_country(x)
  • 次の構文を使用すると、この関数は国または地域のコードを返します。

    ip_to_country(x,'en')

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。

国または地域ごとにリクエストの平均処理時間とリクエストの最大処理時間を計算し、最大処理時間を必要とするリクエストのIDを取得します。

  • クエリ文

    * |
    SELECT
      AVG(request_time) AS avg_request_time,
      MAX(request_time) AS max_request_time,
      MAX_BY(requestId, request_time) AS requestId,
      ip_to_country(client_ip) AS country
    GROUP BY
      country
  • クエリと分析結果 延时情况

ip_to_country_code関数

ip_to_country_code関数は、IPv4アドレスが属する国または地域を識別します。 この関数は、国または地域のコードを返します。

構文

ip_to_country_code(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。

国または地域ごとにリクエストの平均処理時間とリクエストの最大処理時間を計算し、最大処理時間を必要とするリクエストのIDを取得します。

  • クエリ文

    * |
    SELECT
      AVG(request_time) AS avg_request_time,
      MAX(request_time) AS max_request_time,
      MAX_BY(requestId, request_time) AS requestId,
      ip_to_country_code(client_ip) AS country
    GROUP BY
      country
  • クエリと分析結果 ip_to_country_code

ip_to_domain関数

ip_to_domain関数は、IPv4アドレスがプライベートアドレスかパブリックアドレスかをチェックします。

構文

ip_to_domain(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。 この関数は、イントラネットまたはインターネットのみを返すことができます。

  • イントラネット: プライベートアドレス。

  • インターネット: パブリックアドレス。

内部ネットワークから送信されていないリクエストの総数を計算します。

  • クエリ文

    * |
    SELECT
      count(*) AS PV
    where
      ip_to_domain(client_ip) != 'intranet'
  • クエリと分析結果 不来自内网的请求

ip_to_geo関数

ip_to_geo関数は、IPv4アドレスの場所の経度と緯度を識別します。 geohash関数の詳細については、「Geo関数」をご参照ください。

構文

ip_to_geo(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。 形式: 緯度、経度

IPv4アドレスの経度と緯度、およびクライアントの分布を取得します。

  • クエリ文

    * |
    SELECT
      count(*) AS PV,
      ip_to_geo(client_ip) AS geo
    GROUP BY
      geo
    ORDER BY
      PV DESC
  • クエリと分析結果 客户端分布

ip_to_provider関数

ip_to_provider関数は、IPv4アドレスのISPを識別します。

構文

ip_to_provider(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。

ISPによるリクエストの平均処理時間を計算します。

  • クエリ文

    * |
    SELECT
      avg(request_time) AS avg_request_time,
      ip_to_provider(client_ip) AS provider
    GROUP BY
      provider
    ORDER BY
      avg_request_time
  • クエリと分析結果 运营商延时

ip_to_province関数

ip_to_provinceは、 IPアドレスが属する状態

構文

  • 次の構文を使用すると、関数はの中国語名を返します。 stateを実行します。

    ip_to_province(x)
  • 次の構文を使用すると、関数はの管理部門コードを返します。 stateを実行します。

    ip_to_province(x,'en')

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

varcharタイプ。

トップ10を取得する リクエストの総数に基づいて状態になります。

  • クエリ文

    * |
    SELECT
      count(*) as PV,
      ip_to_province(client_ip) AS province
    GROUP BY
      province
    ORDER BY
      PV desc
    LIMIT
      10

    上位10個の状態を取得したときに内部ネットワークから送信されたリクエストを除外する場合は、次のクエリ文を使用します。

    * |
    SELECT
      count(*) AS PV,
      ip_to_province(client_ip) AS province
    WHERE
      ip_to_domain(client_ip) != 'intranet'
    GROUP BY
      province
    ORDER BY
      PV DESC
    LIMIT
      10
  • クエリと分析結果 top10省份

ip_prefix関数

ip_prefix関数は、IPv4アドレスのプレフィックスを返します。 この関数は、IPv4アドレスをサブネットマスク形式で返します。 例: 192.168.1.0/24。

構文

ip_prefix(x, prefix_bits)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv4アドレスです。

prefix_bits

このパラメータは、プレフィックスの長さを指定します。

戻り値のデータ型

varcharタイプ。

client_ipフィールドの値でIPv4アドレスのプレフィックスを取得します。

  • クエリ文

    * | SELECT ip_prefix(client_ip,24) AS client_ip
  • クエリと分析結果 ip_prefix

is_prefix_subnet_of関数

is_prefix_subnet_of関数は、IPv4 CIDRブロックが指定されたCIDRブロックのサブネットであるかどうかを確認します。

構文

is_prefix_subnet_of(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値は、IPv4 CIDRブロックです。 この関数は、y CIDRブロックがx CIDRブロックのサブネットであるかどうかをチェックします。

y

このパラメーターの値は、IPv4 CIDRブロックです。

戻り値のデータ型

ブール型。

client_ipフィールドの値のIPv4 CIDRブロックが192.168.0.1/24のサブネットであるかどうかを確認します。

  • クエリ文

    * | SELECT is_prefix_subnet_of('192.168.0.1/24',concat(client_ip,'/24'))
  • クエリと分析結果 is_subnet_of

is_subnet_of関数

is_subnet_of関数は、IPv4アドレスが指定されたCIDRブロックにあるかどうかをチェックします。

構文

is_subnet_of(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値は、IPv4 CIDRブロックです。

y

このパラメーターの値はIPv4アドレスです。

戻り値のデータ型

ブール型。

client_ipフィールドの値のIPv4アドレスが192.168.0.1/24にあるかどうかを確認します。

  • クエリ文

    * | SELECT is_subnet_of('192.168.0.1/24',client_ip)
  • クエリと分析結果 is_subnet_of

ip_subnet_min関数

ip_subnet_min関数は、IPv4 CIDRブロック内の最小のIPアドレスを返します。

構文

ip_subnet_min(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、IPv4 CIDRブロックです。

戻り値のデータ型

varcharタイプ。

client_IPフィールドの値のIPアドレスが属するIPv4 CIDRブロック内の最小のipアドレスを取得します。

  • クエリ文

    * | SELECT ip_subnet_min(concat(client_ip,'/24'))
  • クエリと分析結果 ip_subnet_min

ip_subnet_max関数

ip_subnet_max関数は、IPv4 CIDRブロック内の最大のIPアドレスを返します。

構文

ip_subnet_max(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、IPv4 CIDRブロックです。

戻り値のデータ型

varcharタイプ。

client_IPフィールドの値のIPアドレスが属するIPv4 CIDRブロックの最大のipアドレスを取得します。

  • クエリ文

    * | SELECT ip_subnet_max(concat(client_ip,'/24'))
  • クエリと分析結果 ip_subnet_max

ip_subnet_range関数

ip_subnet_range関数は、IPv4 CIDRブロックの範囲を返します。

構文

ip_subnet_range(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、IPv4 CIDRブロックです。

戻り値のデータ型

JSON型。

client_IPフィールドの値のipアドレスが属するIPv4 CIDRブロックの範囲を取得します。

  • クエリ文

    * | SELECT ip_subnet_range(concat(client_ip,'/24'))
  • クエリと分析結果 ip_subnet_range

ipv6_to_city関数

ipv6_to_city関数は、IPv6アドレスが属する都市を識別する。

構文

ipv6_to_city(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

異なる都市から送信されたリクエストの数を取得します。

  • クエリ文

    * |
    SELECT
      ipv6_to_city(ipv6Address) AS city,
      count(*) AS count
    GROUP BY
      city
  • クエリと分析結果 ipv6_to_city

ipv6_to_city_code関数

ipv6_to_city_code関数は、IPv6アドレスが属する都市の行政区画コードを識別する。

構文

ipv6_to_city_code(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

IPv6アドレスが属する都市の行政区画コードを取得します。

  • クエリ文

    * |
    SELECT
      ipv6Address,
      ipv6_to_city_code(ipv6Address) AS cityCode
    WHERE
      cityCode <> ''
  • クエリと分析結果 ipv6_to_city_code

ipv6_to_city_geo関数

ipv6_to_city_geo関数は、IPv6アドレスが属する都市の経度と緯度を識別します。

構文

ipv6_to_city_geo(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。 形式: 経度、緯度

IPv6アドレスの経度と緯度、およびクライアントの分布を取得します。

  • クエリ文

    * |
    SELECT
      ipv6_to_city_geo(ipv6Address) AS geo,
      count(*) AS PV
    GROUP BY
      geo
    ORDER BY
      PV DESC
  • クエリと分析結果 ipv6_to_city_geo

ipv6_to_country関数

ipv6_to_country関数は、IPv6アドレスが属する国または地域を識別します。

構文

ipv6_to_country(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

リクエストの総数に基づいて、上位10の国または地域を取得します。

  • クエリ文

    * |
    SELECT
      count(*) AS PV,
      ipv6_to_country(ipv6Address) AS country
    WHERE
      country <> ''
    GROUP BY
      country
    ORDER BY
      PV DESC
    LIMIT
      10
  • クエリと分析結果 ipv6_to_country

ipv6_to_country_code関数

ipv6_to_country_code関数は、IPv6アドレスが属する国または地域のコードを識別します。

構文

ipv6_to_country_code(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

IPv6アドレスが属する国または地域のコードを取得します。

  • クエリ文

    * |
    SELECT
      ipv6Address,
      ipv6_to_country_code(ipv6Address) AS code
    WHERE
      cityCode <> ''
  • クエリと分析結果 ipv6_to_country_code

ipv6_to_domain関数

ipv6_to_domain関数は、IPv6アドレスがプライベートアドレスかパブリックアドレスかをチェックします。

構文

ipv6_to_domain(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。 この関数は、イントラネットまたはインターネットのみを返すことができます。

  • イントラネット: プライベートアドレス。

  • インターネット: パブリックアドレス。

内部ネットワークとインターネットを介して送信されるリクエストの総数を取得します。

  • クエリ文

    * |
    SELECT
      ipv6_to_domain(ipv6Address) AS domain,
      count(*) AS count
    GROUP BY
      domain
  • クエリと分析結果 ipv6_to_domain

ipv6_to_provider関数

ipv6_to_provider関数は、IPv6アドレスのISPを識別します。

構文

ipv6_to_provider(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

リクエストの総数に基づいて上位10個のISPを取得します。

  • クエリ文

    * |
    SELECT
      ipv6_to_provider(ipv6Address) AS provider,
      count(*) AS count
    GROUP BY
      provider
    ORDER BY
      count DESC
    LIMIT
      10
  • クエリと分析結果 ipv6_to_provider

ipv6_to_province関数

ipv6_to_province関数は、IPv6アドレスが属するprovinceを識別します。

構文

ipv6_to_province(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

リクエストの総数に基づいて上位10州を取得します。

  • クエリ文

    * |
    SELECT
      count(*) AS PV,
      ipv6_to_province(ipv6Address) AS province
    WHERE
      province <> ''
    GROUP BY
      province
    ORDER BY
      PV DESC
    LIMIT
      10
  • クエリと分析結果 ipv6_to_province

ipv6_to_province_code関数

ipv6_to_province_code関数は、IPv6アドレスが属する地域の行政区画コードを識別する。

構文

ipv6_to_province_code(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はIPv6アドレスです。

戻り値のデータ型

varcharタイプ。

IPv6アドレスが属する州の行政区画コードを取得します。

  • クエリ文

    * |
    SELECT
      ipv6Address,
      ipv6_to_province_code(ipv6Address) AS code
    WHERE
      cityCode <> ''
  • クエリと分析結果 ipv6_to_province_code