NAV ナビゲーションバー
及び
shell

Zevenet API v3.1リファレンス

ZAPI (Zevenet Application Programming Interface)はシステム管理者がZevenetロードバランサーの行動を制御するためのツールです。

それを使用する前に、Webインターフェースからzapiユーザーをアクティブにする必要があります。 システム/ユーザー.

zapiユーザーが作成されると、URL https://(zevenet_server):444 / zapi / v3.1 / zapi.cgi /(URI_path)に要求を送信することができます。 zevenet_server HTTPサービスが待機しているIPです。

URI_path 動作するオブジェクトまたはアクションを定義します。 彼の振る舞いと彼のパラメーターはそれぞれ一つの博士課程内で定義されるでしょう。

このAPIで使用されている動詞は次のようになります。 GET, POST, PUT or DELETE。 PUTまたはPOSTリクエストには、必須のパラメーターは必要ありませんが、常にほとんどパラメーターが必要です。

鑑定書

Zevenetは、HTTPSリスナーを使用してHTTPファームでそれらを使用するために、PEM形式の証明書をサポートしています。 Pem証明書の作成方法についてさらに知りたい場合は、次の記事を参照してください。 PEM形式で証明書を生成する

すべての証明書を一覧表示する

すべての証明書を一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates

GET /certificates

証明書ストア内のすべてのCSRおよびPEM証明書を一覧表示します。これらの証明書はHTTPSファームで使用できます。

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値は証明書オブジェクトの配列になり、それぞれに以下のキー属性が含まれます。

応答例:

{
   "description" : "List all certificates",
   "params" : [
      {
         "CN" : "Zen Load Balancer",
         "creation" : "Jan 12 14:49:03 2011 GMT",
         "expiration" : "Jan  9 14:49:03 2021 GMT",
         "file" : "zencert.pem",
         "issuer" : "Zen Load Balancer",
         "type" : "Certificate"
      }
   ]
}

応答パラメータ

フィールド 種類 説明
paramsは オブジェクト[] 証明書オブジェクトのリスト。

証明書オブジェクト

フィールド 種類 説明
CN 文字列 ドメイン共通名
創造 文字列 作成日。
期限切れ 文字列 有効期限。
file 文字列 証明書のファイル名、一意のID。
発行者 文字列 認証局が証明書に署名します。
type 文字列 CSRまたは証明書

証明書をダウンロードする

証明書をダウンロードする

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem

GET /certificates/<file>

証明書ストアにインストールされている証明書をダウンロードし、要求内のファイル名を使用してそれを識別します。

応答には、ファイルに関する情報とともに以下に示すヘッダーが含まれます。 応答の本文はファイルの内容になります。

応答ヘッダー

HTTP/1.1 200 OK
Date: Thu, 22 Dec 2016 09:27:47 GMT
Content-Disposition: attachment; filename="example.pem"
Content-Type: application/x-download; charset=ISO-8859-1
Content-Length: 2359

証明書の詳細を表示する

証明書の詳細を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem/info

GET /certificates/<file>/info

証明書ストア内の特定の証明書に含まれるすべての情報を署名を含めて表示します。参照するにはファイル名が必要です。

応答例:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 14346016480403539444 (0xc71749fb005a45f4)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=ES, ST=Spain, L=Spain, O=Sofintel, OU=Telecommunications, CN=Zen Load Balancer/emailAddress=zenloadbalancer-support@lists.sourceforge.net
        Validity
            Not Before: Jan 12 14:49:03 2011 GMT
            Not After : Jan  9 14:49:03 2021 GMT
        Subject: C=ES, ST=Spain, L=Spain, O=Sofintel, OU=Telecommunications, CN=Zen Load Balancer/emailAddress=zenloadbalancer-support@lists.sourceforge.net
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
...

アクティベーション証明書の詳細を表示する

アクティベーション証明書の詳細を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/activation

GET /certificates/activation

署名を含むアクティベーション証明書に含まれるすべての情報を表示します。この証明書は証明書ストアに保存されます。 アクティベーション証明書が削除されると、製品は非アクティブ化されます。

証明書を削除する

証明書を削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem

DELETE /certificates/<file>

証明書ストア内のファイル名で証明書を削除します。

応答例:

{
   "description" : "Delete certificate",
   "message" : "The Certificate example.pem has been deleted.",
   "success" : "true"
}

アクティベーション証明書を削除する

アクティベーション証明書を削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/activation

DELETE /certificates/activation

証明書ストアにインストールされているアクティベーション証明書を削除します。 この証明書が削除されると、ロードバランサは無効になります。

応答例:

{
   "description" : "Delete activation certificate",
   "message" : "The activation certificate has been deleted",
   "success" : "true"
}

CSR証明書を作成する

CSR証明書を作成する

リクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"NewCSR","fqdn":"host.domain.com","division":"IT","organization":"Example Corp.",
"locality":"Madrid","state":"Madrid","country":"ES","mail":"info@domain.com"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates

POST /certificates

証明書署名要求(CSRファイル)を作成します。

リクエストパラメータ

フィールド 種類 説明 必須
文字列 証明書IDの名前 true
fqdn 文字列 サーバーの完全修飾ドメイン名 true
分裂 文字列 証明書を処理している組織の部門。 true
組織 文字列 あなたの組織の正式な名前。 true
地域 文字列 組織が配置されている市。 true
状態 文字列 組織が所在する州/地域。 true
文字列 組織が所在地である国の2文字のISOコード。 true
電子メール 文字列 組織への連絡に使用されるEメールアドレス。 true

応答例:

{
   "description" : "Create CSR",
   "message" : "Certificate NewCSR created",
   "success" : "true"
}

証明書をアップロードする

証明書をアップロードする

リクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: text/plain'
--tcp-nodelay --data-binary @/local_path/to/example.pem
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem

POST /certificates/<file>

HTTPSリスナーを使用してHTTPファーム用のPEM証明書をアップロードします。

パラメータが必要 --tcp-nodelay--data-binary バイナリモードでファイルをアップロードします。

リクエストURIパラメータ

フィールド 種類 説明 必須
file 文字列 証明書ストアにアップロードして保存するための証明書ファイル名。 true

応答例:

{
   "description" : "Upload PEM certificate",
   "message" : "Certificate uploaded",
   "success" : "true"
}

アクティベーション証明書をアップロードする

アクティベーション証明書をアップロードする

リクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: text/plain'
--tcp-nodelay --data-binary @/path/to/example.pem
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/activation

POST /certificates/activation

PEM形式のアクティベーション証明書をアップロードします。この証明書はすべての機能を有効にするために必要です。 この証明書は証明書ストアに保存されます。アクティベーション証明書が証明書ストアに存在する場合は、以前の証明書が上書きされます。

応答例:

{
   "description" : "Upload activation certificate",
   "message" : "Activation certificate uploaded",
   "success" : "true"
}

暗号のリスト

暗号のリスト

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/ciphers

GET /ciphers

HTTPSファームが使用できる利用可能な暗号を一覧表示します。

SSLオフロード チッパーは、プロセッサでサポートされている場合にのみ利用可能になります。

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値は証明書オブジェクトの配列になり、それぞれに以下のキー属性が含まれます。

応答例:

{
   "description" : "Get the ciphers available",
   "params" : [
      {
         "ciphers" : "all",
         "description" : "All"
      },
      {
         "ciphers" : "highsecurity",
         "description" : "High security"
      },
      {
         "ciphers" : "customsecurity",
         "description" : "Custom security"
      },
      {
         "ciphers" : "ssloffloading",
         "description" : "SSL offloading"
      }
   ]
}

応答パラメータ

フィールド 種類 説明
paramsは オブジェクト[] 証明書オブジェクトのリスト。

証明書オブジェクト

フィールド 種類 説明
暗号 文字列 一意の識別子として使用されます。
説明 文字列 分かりやすい名前。

農場

Zevenetは3つの異なる方法でトラフィックを管理することができ、それぞれの方法は異なるモジュール、ローカルサービスロードバランサまたはLSLBモジュール、グローバルサービスロードバランサまたはGSLBモジュール、およびデータリンクサービスロードバランサまたはDSLBモジュールによって管理されます。

すべてのモジュールはファームプロファイルの概念で動作します。ファームプロファイルはネットワークトラフィックに対して特別なアクションを実行する準備ができているパラメータのグループです。Zevenetの最良の結果を得るために各ファームプロファイルを実行できることを理解することは重要です。 ADCです。

すべての農場を一覧表示

すべての農場を一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms

GET /farms

利用可能な農場をすべてリストする

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はファームの履歴書オブジェクトの配列になり、各オブジェクトには以下の主要な属性が含まれます。

農場オブジェクト

フィールド 種類 説明
農場名 文字列 ファームの説明的な名前。 一意の識別子として使用されます。
プロフィール 文字列 プロファイルタイプ。プロファイルの利用可能な値は次のとおりです。 HTTP, HTTPS or l4xnat LSLBモジュールの場合 gslb GLSBモジュール用 データリンク DSLBモジュール用
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。
VIP 文字列 ファームがトラフィックを受信して​​いる仮想IP
vport 文字列 ファームがトラフィックを受信して​​いる仮想ポート。使用可能なポートの値は、http [s]、l4xnat、およびgslbプロファイルのポート番号、「、」で区切られたポートのグループ、またはl4xnatプロファイルの「:」で区切られたポート範囲です。 l4xnat両方のセパレータ値(「、」および「:」)を同じフィールドで使用できます。

応答例:

{
   "description" : "List farms",
   "params" : [
      {
         "farmname" : "httpFarm",
         "profile" : "http",
         "status" : "up",
         "vip" : "192.168.101.146",
         "vport" : "81"
      }
   ]
}

農場を削除する

農場を削除する

リクエスト例:

curl --tlsv1 -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP

DELETE /farms/<farmname>

ファーム名identfierを使用してファームを削除します。

応答例:

{
  "description" : "Delete farm FarmHTTP",
  "message" : "The Farm FarmHTTP has been deleted.",
  "success" : "true"
}

ファームにアクションを設定する

ファームにアクションを設定する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"stop"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmTCP/actions

PUT /farms/<farmname>/actions

アクションをファームに適用します。アクションについては、要求パラメーターの表を参照してください。

リクエストパラメータ

フィールド 種類 説明
アクション 文字列 希望する動作を設定します。 アクションは以下のとおりです。 stop、農場は停止されます。 start、農場が開始されます 再起動ファームは自動的に停止して起動します。

応答例:

{
  "description" : "Set a new action in FarmHTTP",
  "params" : [
     {
        "action" : "stop"
     }
  ]
}

応答パラメータ

設定に問題がなければ、zapiは要求されたアクションを返します。

HTTPファーム

HTTPプロファイルは、プロキシの特別なプロパティを持つ高度なレイヤの7ロードバランシング(またはApplication Delivery Controller)です。 このプロファイルは、SSLオフロードアクセラレーションと組み合わせたHTTPSレイヤ7ロードバランシングのようないくつかの機能を提供します。 このプロファイルは、Webサービス(Webアプリケーションサーバーを含む)およびWebDav、HTTP経由のRDP、HTTP経由のICAなどのHTTPおよびHTTPSプロトコルに基づくすべてのアプリケーションプロトコルを対象としています。仮想TCPポートが必要になります。

名前で農場を検索する

名前で農場を検索する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm

GET /farms/<farmname>

特定のファームに関するすべての構成を表示します。

応答例:

{
   "description" : "List farm httpFarm",
   "ipds" : {
      "blacklists" : [
         "rem"
      ],
      "dos" : [],
      "rbl" : [
         "protection_ssh"
      ]
   },
   "params" : {
      "certlist" : [
         {
            "file" : "zencert.pem",
            "id" : 1
         }
      ],
      "cipherc" : "ALL",
      "ciphers" : "all",
      "contimeout" : 20,
      "disable_sslv2" : "true",
      "disable_sslv3" : "false",
      "disable_tlsv1" : "false",
      "disable_tlsv1_1" : "true",
      "disable_tlsv1_2" : "false",
      "error414" : "Request URI is too long.",
      "error500" : "An internal server error occurred. Please try again later.",
      "error501" : "This method may not be used.",
      "error503" : "The service is not available. Please try again later.",
      "httpverb" : "MSRPCext",
      "ignore_100_continue" : "true",
      "listener" : "https",
      "reqtimeout" : 30,
      "restimeout" : 45,
      "resurrectime" : 10,
      "rewritelocation" : "enabled",
      "status" : "up",
      "vip" : "192.168.100.211",
      "vport" : 200
   },
   "services" : [
      {
         "backends" : [],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "fgenabled" : "false",
         "fglog" : "false",
         "fgscript" : "",
         "fgtimecheck" : 5,
         "httpsb" : "false",
         "id" : "service3",
         "leastresp" : "false",
         "persistence" : "",
         "redirect" : "",
         "redirecttype" : "",
         "sessionid" : "",
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
      {
         "backends" : [
            {
               "id" : 0,
               "ip" : "192.168.0.168",
               "port" : 80,
               "status" : "up",
               "timeout" : null,
               "weight" : null
            }
         ],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "fgenabled" : "false",
         "fglog" : "false",
         "fgscript" : "tcp_check",
         "fgtimecheck" : 5,
         "httpsb" : "false",
         "id" : "srv",
         "leastresp" : "false",
         "persistence" : "",
         "redirect" : "",
         "redirecttype" : "",
         "sessionid" : "",
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
   ]
}

応答パラメータ

応答は以下の形式のJSONオブジェクトになります。

農場オブジェクト:

フィールド 種類 説明
ipds オブジェクト このファームに適用されているIPDSルールのリスト。
paramsは オブジェクト ファーム構成のパラメータ。
サービス オブジェクト[] このファームで作成されたすべてのサービスとその構成を含む配列。

IPDSオブジェクト

フィールド 種類 説明
ブラックリスト String [] ファームに適用されるブラックリストルール。
ドス String [] ファームに適用されるDoSルール
rbl String [] ファームに適用されるRBLルール。

HTTPファームのパラメータオブジェクト:

フィールド 種類 説明
証明書リスト オブジェクト[] httpsプロファイル内のみ ファーム内でアクティブになっている証明書リスト(pem形式)。SNIをサポートするために、同じファームに複数のpem証明書を追加できます。 https値を持つリスナーが必要です。 証明書ストア内の任意の証明書をここで使用できます。
暗号 文字列 httpsリスナーのみ これはSSL接続が受け付ける暗号化の許可されたカスタマイズリストです。これはOpenSSL暗号と同じ形式の文字列です。 この属性は次の場合にのみ使用されます。 暗号 fieldの値はsutomsecurityです。
暗号 文字列 https値を持つリスナー内でのみ。 SSL接続を強化するために、SSL接続によって受け入れられる暗号のリストを作成するために使用されます。 オプションは以下のとおりです。 すべての暗号が受け入れられます。 高セキュリティ高いセキュリティのための暗号だけが受け入れられるでしょう。 カスタムセキュリティ、ロードされた暗号のみ 暗号 分野は受け入れられます。 または ssloffloading暗号化ジョブをプロセスに委ねます。この暗号はプロセッサに依存します。
contimeout ファームがバックエンドへのTCP接続を待機する秒数。
disable_sslv2 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン2のSSLセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルSSLv2が許可されている場合
disable_sslv3 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン3のSSLセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルSSLv3が許可されている場合
disable_tlsv1 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン1のTLSセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルTLSv1が許可されている場合
disable_tlsv1_1 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン1.1のTLSセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルTLSv1.1が許可されている場合
disable_tlsv1_2 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン1.2のTLSセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルTLSv1.2が許可されている場合
error414 文字列 414 HTTPエラーコードで対処するためのパーソナライズされたメッセージ。
error500 文字列 500 HTTPエラーコードで対処するためのパーソナライズされたメッセージ。
error501 文字列 501 HTTPエラーコードで対処するためのパーソナライズされたメッセージ。
error503 文字列 503 HTTPエラーコードで対処するためのパーソナライズされたメッセージ。
httpverb 文字列 このフィールドは、HTTPクライアント要求に許可される操作を示します。 利用可能な値は以下のとおりです。 標準HTTP、httpリクエストのGET、POST、HEADを受け入れました。 extendedHTTP、以前のHTTP要求に加えてPUT、DELETEを受け入れました。 standardWebDAV、以前のHTTPリクエストに加え、LOCK、UNLO​​CK、PROPFIND、PROPPATCH、SEARCH、MKCOL、MOVE、COPY、OPTIONS、TRACE、MKACTIVITY、CHECKOUT、MERGE、REPORT、 MSextWebDAV 以前のhttp要求に加えてSUBSCRIBE、UNSUBSCRIBE、NOTIFY、BPROPFIND、BPROPPATCH、POLL、BMOVE、BCOPY、BDELETE、CONNECT、または MSRPCext、以前のhttpリクエストに加えてRPC_IN_DATA、RPC_OUT_DATAを受け付けました。 これらの値は大文字と小文字が区別されることに注意してください。
ignore_100_continue 文字列 このフィールドに値がある場合 true が待 100続ける HTTPヘッドは無視されます。 値が false 100続ける ヘッダーが処理されます。
リスナー 文字列 リスナーは、ファームがクライアントからの要求をどのように処理するかを定義します。 オプションは以下のとおりです。 HTTP 保護されていないプロトコルの場合 HTTPS 保護されたプロトコル用。
reqtimeout ファームがクライアントの要求を待機する時間(秒単位)。
再タイムアウト ファームがバックエンドからの応答を秒単位で待機する時間。
復活 この期間が過ぎると、ロードバランサは、実サーバが稼働しているかどうかをチェックします。
書き換え 文字列 有効になっている場合、ファームは仮想ホストを持つクライアントに応答してLocation:およびContent-location:ヘッダーを変更するように強制されます。 オプションは以下のとおりです。 使用可能、アクティブ 無効、無効、または 有効バックエンド バックエンドアドレスのみが比較されます。
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。
VIP 文字列 仮想サービスが待機しているファームのIP。
vport 仮想サービスが待機しているファームのポート。

証明書リストオブジェクト:

フィールド 種類 説明
file 文字列 証明書名。証明書ストア内の証明書への参照。
id 証明書ID、リスト内の順序。仮想ホストヘッダーが証明書のCNフィールドと一致しない場合、デフォルトで最初の順序が使用されます。 SNIに使用されます。

HTTPファーム用のサービスオブジェクト

フィールド 種類 説明
バックエンド オブジェクト[] サービスに定義されているバックエンド。
調理ドメイン 文字列 ドメインがCookieコンテンツで一致すると、Cookieの挿入が実行されます。 有効にする cookieinsert フィールドは必須項目です。
cookieinsert 文字列 それはバックエンドスティッキーセッションのためのクッキー挿入を可能にします。 オプションは trueプロファイルは指定されたcookieをフィールドで検索します cookiename、存在しない場合、このCookieが追加されます。 false行動は取られません。
cookiename 文字列 Cookie名(セッションID)は、バックエンドへの固定プロセスを識別するために使用されます。 有効にする cookieinsert フィールドは必須項目です。
cookiepath 文字列 それは与えられたクッキーのクッキーパス値を管理します。 有効にする cookieinsert フィールドは必須項目です。
調理用具 これは、Cookieの最大存続期間(秒)です。 有効にする cookieinsert フィールドは必須項目です。
想像できる 文字列 農場の保護者の使用を有効にします。 true ファームの保護者が有効になっており、バックエンドのステータスを確認 false ファームの保護者は無効になっており、バックエンドのステータスをチェックしていません。 HTTPプロファイルでは、Farm Guardianが無効になっている場合でもcheck_tcpがデフォルトで実行されます。
fglog 文字列 ファーム保護者でログの使用を有効にします。 true 有効にします。 false無効になっています。 想像できる 必要とされている。
fgscript 文字列 農場の保護者がバックエンドの健康状態をチェックするために使用するコマンド。 true 有効にします。 false無効になっています。 想像できる 必要とされている。
fgtimecheck ファームガーディアンは、バックエンドのヘルスステータスを「timetocheck」秒ごとにチェックします。 想像できる 必要とされている。
httpsb 文字列 このパラメータは、現在のサービスで定義されているバックエンドサーバーがHTTPS言語を使用していることをファームに示し、データは送信される前に暗号化されます。 trueプロファイルはHTTPSプロトコルのトラフィックをバックエンドに送信します。 falseプロファイルはHTTPプロトコルのトラフィックをバックエンドに送信します。
id 文字列 サービスの名前。サービスの作成後に変更することはできません。
leastresp 文字列 最小応答バランス方式を有効にします。 true プロファイルは、これにもっと多くの接続を送信するために、どのバックエンドが応答するのにより短い時間をかけているかを慎重にチェックします。 false プロファイルは、どのバックエンドが応答に時間がかからないかをチェックしません。
持続性 文字列 このパラメータは、HTTPサービスがクライアントセッションを管理する方法を定義します。 オプションは以下のとおりです。 "" 空文字列、何もしない IP 持続セッションはクライアントIPに基づいて行われます。 BASIC 永続セッションは、BASICヘッダに基づいて行われます。 URL 永続セッションは、URI内のフィールドに基づいて行われます。 PARM 永続セッションは、URIの末尾の値に基づいて行われます。 COOKIE 永続セッションはCookie名に基づいて行われ、このCookieはバックエンドによって作成される必要があります。 ヘッダ永続セッションは、ヘッダー名に基づいて行われます。
リダイレクト 文字列 クライアントの要求は新しいURLへのリダイレクトによって自動的に応答されるため、特別なバックエンドとして振る舞います。 リダイレクトが設定されている場合、リクエストはバックエンドに転送されず、代わりにリダイレクトがクライアントに応答されます。
リダイレクト型 文字列 リダイレクトの方法、2つの選択肢 デフォルトURLはリダイレクト先の絶対ホストおよびパスと見なされます。 アペンド元のリクエストパスまたはURIが、デフォルトオプションで指定したホストおよびパスに追加されます。 もし リダイレクト このフィールドは空の文字列になります。
セッションID 文字列 もしあれば利用可能です 持続性 fieldがURL、COOKIE、またはHEADERの場合、パラメータ値はhttpヘッダーでファームによって検索され、クライアントセッションを管理します。
TTL 固執するだけです。 この値は、非アクティブなクライアントセッションの最大存続期間(最大セッション経過時間)を秒単位で示します。
urlp 文字列 文法的にチェックされる特定のURLパターンを通して、クライアントが要求しているURLに関するWebサービスを決定することを許可します。 PCRE正規表現がサポートされています。
仮想ホスト 文字列 これは、HTTPファームで定義されているものと同じ仮想IPおよびポートを介したドメイン名によって決まる条件を指定します。 PCRE正規表現がサポートされています。

HTTPファーム用のバックエンドオブジェクト

フィールド 種類 説明
id 与えられたサービス内のバックエンド識別子。
ip 文字列 実際のサービスが実行されているバックエンドのIP。
ポート 実際のサービスが実行されているバックエンドのポート。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。
タイムアウト 特定のリクエストに応答するためのバックエンドのタイムアウト(秒単位)です。 nullシステムがグローバルパラメータBackendsタイムアウトを使用する場合。
重量 これは現在の実サーバーの重み値であり、重み値が高いバックエンドはより多くの接続を受け取ります。 デフォルト値はnullであり、このバックエンドに使用される特別な重みではありません。

新しい農場を作る

新しい農場を作る

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"farmname":"newHTTPfarm", "profile":"http", "vip":"192.168.100.23", 
"vport":80}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms

POST /farms

新しいHTTPファームを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
農場名 文字列 ファームの説明的な名前。 一意の識別子として使用されます。 true
プロフィール 文字列 作成したファームのプロフィール。 httpファームの場合 HTTP. true
VIP 文字列 仮想サービスを実行する予定のファームのIP。 示されたIPはシステムに構成されていてUPである必要があります true
vport 仮想サービスが待機しようとしているファームのポート。 同じ仮想ポートと仮想IPを別のファームで使用してはいけません。 true

応答例:

{
   "description" : "Creating farm 'newHTTPfarm'",
   "params" : {
      "interface" : "eth0.2",
      "farmname" : "newHTTPfarm",
      "profile" : "http",
      "vip" : "192.168.100.23",
      "vport" : 80
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

農場を変更する

農場を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"contimeout":22,"newfarmname":"FarmHTTP2","vip":"178.62.126.152","vport":88,"ignore_100_continue":"true",
"restimeout":47,"resurrectime":12,"reqtimeout":32,"rewritelocation":"enabled","httpverb":"standardHTTP", 
"error414":"Message error 414","error500":"Message error 500","error501":"Message error 501", 
"error503":"Message error 503","listener":"https","ciphers":"customsecurity","disable_sslv2":"true",
"disable_sslv3":"false","disable_tlsv1":"false","disable_tlsv1_1":"true","disable_tlsv1_2":"false",
"cipherc":"TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP 

PUT /farms/<farmname>

特定のHTTPファームのグローバルパラメータを変更します。

リクエストパラメータ

フィールド 種類 説明
contimeout ファームがバックエンドへの接続を待機する時間(秒単位)。
再タイムアウト ファームがバックエンドからの応答を秒単位で待機する時間。
復活 秒単位のこの値は、ブラックリストに載っているバックエンドを出して、それが生きているかどうかをチェックする期間です。
reqtimeout ファームがクライアントの要求を待機する時間(秒単位)。
disable_sslv2 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン2のSSLセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルSSLv2が許可されている場合
disable_sslv3 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン3のSSLセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルSSLv3が許可されている場合
disable_tlsv1 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン1のTLSセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルTLSv1が許可されている場合
disable_tlsv1_1 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン1.1のTLSセキュリティプロトコルを使用した接続は許可されていません。 または false プロトコルTLSv1.1が許可されている場合
disable_tlsv1_2 文字列 httpsリスナーのみ このフィールドに値がある場合 true バージョン1.2のTLSセキュリティプロトコルを使用した接続は許可されていません。 または false もし
書き換え 文字列 有効になっている場合、ファームは仮想ホストを持つクライアントに応答してLocation:およびContent-location:ヘッダーを変更するように強制されます。 オプションは以下のとおりです。 使用可能、アクティブ 無効、無効、または 有効バックエンド バックエンドアドレスのみが比較されます。
httpverb 文字列 このフィールドは、HTTPクライアント要求に許可される操作を示します。 利用可能な値は以下のとおりです。 標準HTTP、httpリクエストのGET、POST、HEADを受け入れました。 extendedHTTP、以前のHTTP要求に加えてPUT、DELETEを受け入れました。 standardWebDAV、以前のHTTPリクエストに加え、LOCK、UNLO​​CK、PROPFIND、PROPPATCH、SEARCH、MKCOL、MOVE、COPY、OPTIONS、TRACE、MKACTIVITY、CHECKOUT、MERGE、REPORT、 MSextWebDAV 以前のhttp要求に加えてSUBSCRIBE、UNSUBSCRIBE、NOTIFY、BPROPFIND、BPROPPATCH、POLL、BMOVE、BCOPY、BDELETE、CONNECT、または MSRPCext、以前のhttpリクエストに加えてRPC_IN_DATA、RPC_OUT_DATAを受け付けました。 これらの値は大文字と小文字が区別されることに注意してください。
ignore_100_continue 文字列 このフィールドに値がある場合 true が待 100続ける HTTPヘッドは無視されます。 値が false 100続ける ヘッダーが処理されます。
error414 文字列 パーソナライズドメッセージエラー414。
error500 文字列 パーソナライズドメッセージエラー500。
error501 文字列 パーソナライズドメッセージエラー501。
error503 文字列 パーソナライズドメッセージエラー503。
リスナー 文字列 リスナーは、ファームがクライアントからの要求をどのように処理するかを定義します。 オプションは以下のとおりです。 HTTP 保護されていないプロトコルの場合 HTTPS 保護されたプロトコル用。
暗号 文字列 https値を持つリスナー内でのみ。 SSL接続を強化するために、SSL接続によって受け入れられる暗号のリストを作成するために使用されます。 オプションは以下のとおりです。 すべての暗号が受け入れられます。 高セキュリティ高いセキュリティのための暗号だけが受け入れられるでしょう。 カスタムセキュリティ、ロードされた暗号のみ 暗号 分野は受け入れられます。 または ssloffloading暗号化ジョブをプロセスに委ねます。この暗号はプロセッサに依存します。
暗号 文字列 httpsリスナーのみ これはSSL接続が受け付ける暗号化の許可されたカスタマイズリストです。これはOpenSSL暗号と同じ形式の文字列です。 この属性は次の場合にのみ使用されます。 暗号 fieldの値はsutomsecurityです。
newfarmname 文字列 新しいファームの名前。 農場を停止する必要があります。
vport 仮想サービスが待機しているファームのポート。
VIP 文字列 仮想サービスがリッスンしているファームのIP。このIPは設定され、システム内で起動している必要があります。

応答例:

{
   "description" : "Modify farm FarmHTTP",
   "params" : {
      "cipherc" : "TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*",
      "ciphers" : "customsecurity",
      "contimeout" : 22,
      "disable_sslv2" : "true",
      "disable_sslv3" : "false",
      "disable_tlsv1" : "false",
      "disable_tlsv1_1" : "true",
      "disable_tlsv1_2" : "false",
      "error414" : "Message error 414",
      "error500" : "Message error 500",
      "error501" : "Message error 501",
      "error503" : "Message error 503",
      "httpverb" : "standardHTTP",
      "ignore_100_continue" : "true",
      "listener" : "https",
      "newfarmname" : "FarmHTTP",
      "reqtimeout" : 32,
      "restimeout" : 47,
      "resurrectime" : 12,
      "rewritelocation" : "enabled",
      "vip" : "178.62.126.152",
      "vport" : 88
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

証明書を追加する

証明書を追加する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"file":"example.pem"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm/certificates

POST /farms/<farmname>/certificates

SNIリストに利用可能なPEM証明書を含める certlist HTTPSリスナーを持つHTTPファームの配列。 使用された証明書はすでにシステムにアップロードされている必要があります。を見てください。 証明書>すべての証明書を一覧表示 利用可能な証明書リストについては。

リクエストパラメータ

フィールド 種類 説明 必須
file 文字列 証明書ファイル名。以前は証明書をシステムにアップロードする必要がありました。 true

応答例:

{
   "description" : "Add certificate",
   "message" : "The certificate example.pem has been added to the SNI list of farm httpFarm, you need restart the farm to apply",
   "success" : "true",
   "status": "needed restart"
}

証明書を削除する

証明書を削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/MyHttpFarm/certificates/example.pem

DELETE /farms/<farmname>/certificates/<file>

HTTPSリスナー付きHTTPファームのcertlistから選択したファイル名の証明書を削除します。 証明書は証明書ストアから削除されません。

応答例:

{
   "description" : "Delete farm certificate",
   "message" : "The Certificate example.pem has been deleted.",
   "success" : "true",
   "status": "needed restart"   
}

IPDSルールを追加する

IPDSルールを追加する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm/ipds/blacklists

POST /farms/<farmname>/ipds/<dos|blacklists|rbl>

ブラックリスト、DoS、またはRBLルールをファームに適用します。

リクエストパラメータ

フィールド 種類 説明
文字列 一意の識別子として使用されるIPDSルール名。

応答例:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm httpFarm.",
   "success" : "true"
}

IPDSルールを削除する

IPDSルールを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>

その識別名を使用して、特定のファームからブラックリスト、DoS、またはRBLルールを削除します。 .

応答例:

{
   "description" : "Delete a rule form a farm",
   "message" : "Blacklist rule china was removed successful from the farm httpFarm.",
   "success" : "true"
}

HTTP - サービス

HTTPプロファイルファーム内のサービスは、すべてのクライアント要求に対して正しいサービスを一致させるためにファームコアで使用されるいくつかの決定的な条件を通じて、異なるプロパティ、バックエンド、さらには永続性メソッドを持つWebサービスを配信するコンテンツスイッチング方法を提供します。 このサービス定義は、クライアントに応答を配信できるバックエンドサーバーを特定するために、ファームによって使用されます。

サービスオブジェクトの内部には、サービス関連とファームガード関連の2種類の値があります。

Farmguardianは、バックエンドの状態を詳細に監視するために使用され、現在のサービス用の独自のスクリプト用に完全にパーソナライズされています。 farmguardianが問題を検出すると、自動的に実サーバーが無効になり、ブラックリストに登録されます。

IDでサービスを取得

IDでサービスを取得

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/cookiefarm/services/serv

GET /farms/<farmname>/services/<id>

特定のサービスに関するすべての設定を表示します。

応答例:

{
   "description" : "Get services of a farm",
   "services" : {
      "backends" : [
         {
            "id" : 0,
            "ip" : "192.168.100.254",
            "port" : 80,
            "status" : "up",
            "timeout" : 20,
            "weight" : null
         },
         {
            "id" : 0,
            "ip" : "192.168.100.254",
            "port" : 80,
            "status" : "up",
            "timeout" : null,
            "weight" : null
         }
      ],
      "cookiedomain" : "zevenet.cpm",
      "cookieinsert" : "true",
      "cookiename" : "peasocookie",
      "cookiepath" : "/patfh",
      "cookiettl" : 20,
      "fgenabled" : "false",
      "fglog" : "false",
      "fgscript" : "check_tcp -H HOST -p PORT",
      "fgtimecheck" : 5,
      "httpsb" : "false",
      "id" : "serv",
      "leastresp" : "false",
      "persistence" : "COOKIE",
      "redirect" : "",
      "redirecttype" : "",
      "sessionid" : "JSESSIONID",
      "ttl" : 18,
      "urlp" : "(?i)^/music$",
      "vhost" : ""
   }
}

応答パラメータ

応答は以下の形式のJSONオブジェクトになります。

HTTPファーム用のサービスオブジェクト

フィールド 種類 説明
バックエンド オブジェクト[] サービスに定義されているバックエンド。
調理ドメイン 文字列 ドメインがCookieコンテンツで一致すると、Cookieの挿入が実行されます。 有効にする cookieinsert フィールドは必須項目です。
cookieinsert 文字列 それはバックエンドスティッキーセッションのためのクッキー挿入を可能にします。 オプションは trueプロファイルは指定されたcookieをフィールドで検索します cookiename、存在しない場合、このCookieが追加されます。 false行動は取られません。
cookiename 文字列 Cookie名(セッションID)は、バックエンドへの固定プロセスを識別するために使用されます。 有効にする cookieinsert フィールドは必須項目です。
cookiepath 文字列 それは与えられたクッキーのクッキーパス値を管理します。 有効にする cookieinsert フィールドは必須項目です。
調理用具 これは、Cookieの最大存続期間(秒)です。 有効にする cookieinsert フィールドは必須項目です。
想像できる 文字列 農場の保護者の使用を有効にします。 true ファームの保護者が有効になっており、バックエンドのステータスを確認 false ファームの保護者は無効になっており、バックエンドのステータスをチェックしていません。 HTTPプロファイルでは、Farm Guardianが無効になっている場合でもcheck_tcpがデフォルトで実行されます。
fglog 文字列 ファーム保護者でログの使用を有効にします。 true 有効にします。 false無効になっています。 想像できる 必要とされている。
fgscript 文字列 農場の保護者がバックエンドの健康状態をチェックするために使用するコマンド。 true 有効にします。 false無効になっています。 想像できる 必要とされている。
fgtimecheck ファーム ガーディアンは、「timetocheck」秒ごとにバックエンドの健全性ステータスをチェックします。 想像できる 必要とされている。
httpsb 文字列 このパラメータは、現在のサービスで定義されているバックエンドサーバーがHTTPS言語を使用していることをファームに示し、データは送信される前に暗号化されます。 trueプロファイルはHTTPSプロトコルのトラフィックをバックエンドに送信します。 falseプロファイルはHTTPプロトコルのトラフィックをバックエンドに送信します。
id 文字列 サービスの名前。サービスの作成後に変更することはできません。
leastresp 文字列 最小応答バランス方式を有効にします。 true プロファイルは、これにもっと多くの接続を送信するために、どのバックエンドが応答するのにより短い時間をかけているかを慎重にチェックします。 false プロファイルは、どのバックエンドが応答に時間がかからないかをチェックしません。
持続性 文字列 このパラメータは、HTTPサービスがクライアントセッションを管理する方法を定義します。 オプションは以下のとおりです。 "" 空文字列、何もしない IP 持続セッションはクライアントIPに基づいて行われます。 BASIC 永続セッションは、BASICヘッダに基づいて行われます。 URL 永続セッションは、URI内のフィールドに基づいて行われます。 PARM 永続セッションは、URIの末尾の値に基づいて行われます。 COOKIE 永続セッションはCookie名に基づいて行われ、このCookieはバックエンドによって作成される必要があります。 ヘッダ永続セッションは、ヘッダー名に基づいて行われます。
リダイレクト 文字列 クライアントの要求は新しいURLへのリダイレクトによって自動的に応答されるため、特別なバックエンドとして振る舞います。 リダイレクトが設定されている場合、リクエストはバックエンドに転送されず、代わりにリダイレクトがクライアントに応答されます。
リダイレクト型 文字列 リダイレクトの方法、2つの選択肢 デフォルトURLはリダイレクト先の絶対ホストおよびパスと見なされます。 アペンド元のリクエストパスまたはURIが、デフォルトオプションで指定したホストおよびパスに追加されます。 もし リダイレクト このフィールドは空の文字列になります。
セッションID 文字列 もしあれば利用可能です 持続性 fieldがURL、COOKIE、またはHEADERの場合、パラメータ値はhttpヘッダーでファームによって検索され、クライアントセッションを管理します。
TTL 固執するだけです。 この値は、非アクティブなクライアントセッションの最大存続期間(最大セッション経過時間)を秒単位で示します。
urlp 文字列 文法的にチェックされる特定のURLパターンを通して、クライアントが要求しているURLに関するWebサービスを決定することを許可します。 PCRE正規表現がサポートされています。
仮想ホスト 文字列 これは、HTTPファームで定義されているものと同じ仮想IPおよびポートを介したドメイン名によって決まる条件を指定します。 PCRE正規表現がサポートされています。

HTTPファーム用のバックエンドオブジェクト

フィールド 種類 説明
id 与えられたサービス内のバックエンド識別子。
ip 文字列 実際のサービスが実行されているバックエンドのIP。
ポート 実際のサービスが実行されているバックエンドのポート。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。
タイムアウト 特定のリクエストに応答するためのバックエンドのタイムアウト(秒単位)です。 nullシステムがグローバルパラメータBackendsタイムアウトを使用する場合。
重量 これは現在の実サーバーの重み値であり、重み値が高いバックエンドはより多くの接続を受け取ります。 デフォルト値はnullであり、このバックエンドに使用される特別な重みではありません。

新しいサービスを作成する

新しいサービスを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"newserv"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services

POST /farms/<farmname>/services

特定のHTTPプロファイルファームにサービスを作成します。 この変更を適用するには、ファームに再起動操作が必要です。

リクエストパラメータ

フィールド 種類 説明 必須
id 文字列 一意の識別子として使用されるサービス名。 使用できるのは英数字値だけです。 true

応答例:

{
   "description" : "New service newserv",
   "params" : {
      "id" : "newserv"
   },
   "status" : "needed restart"
}

サービスを変更する

サービスを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"vhost":"www.mywebserver.com","urlp":"^/myapp1$","persistence":"URL",
"redirect":"http://zenloadbalancer.com","ttl":125,"sessionid":"sid","leastresp":"true",
"httpsb":"true"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services/sev2

PUT /farms/<farmname>/services/<id>

HTTPプロファイル内のサービスのパラメータを変更します。 id 変更されるサービスの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
仮想ホスト 文字列 HTTPプロファイルファームによって定義されたものと同じ仮想IPおよびポートを介したドメイン名によって決定される条件を指定します。 PCRE正規表現がサポートされています。
urlp 文字列 文法的にチェックされる特定のURLパターンを通して、クライアントが要求しているURLに関するWebサービスを決定することを許可します。 PCRE正規表現がサポートされています。
リダイレクト 文字列 これは特別なバックエンドとして機能し、クライアントの要求は新しいURLへのリダイレクトによって自動的に答えられます。
リダイレクト型 文字列 リダイレクトの方法、2つの選択肢 デフォルトURLはリダイレクト先の絶対ホストおよびパスと見なされます。 アペンド元のリクエストパスまたはURIが、で指定したホストとパスに追加されます。 リダイレクト フィールド。 この動作は次の場合にのみ適用されます。 リダイレクト 空の値ではありません。
cookieinsert 文字列 それはバックエンドスティッキーセッションのためのクッキー挿入を可能にします。 オプションは trueプロファイルは指定されたcookieをフィールドで検索します cookiename、存在しない場合、このCookieが追加されます。 false挿入Cookieは無効になっています。
cookiename 文字列 Cookie名(セッションID)は、バックエンドへの固定プロセスを識別するために使用されます。 有効にする cookieinsert フィールドは必須項目です。
調理ドメイン 文字列 ドメインがCookieコンテンツで一致すると、Cookieの挿入が実行されます。 有効にする cookieinsert フィールドは必須項目です。
cookiepath 文字列 指定されたCookieのCookieパス値を管理します。クライアント要求またはバックエンド応答のURIがCookiepathと一致しない場合、Cookie挿入永続化メソッドは適用されません。 有効にする cookieinsert フィールドは必須項目です。
調理用具 これは、Cookieの最大存続期間(秒)です。 有効にする cookieinsert フィールドは必須項目です。
持続性 文字列 このパラメータは、HTTPサービスがクライアントセッションを管理する方法を定義します。 オプションは以下のとおりです。 "" 空文字列、何もしない IP 持続セッションはクライアントIPに基づいて行われます。 BASIC 永続セッションは、BASICヘッダに基づいて行われます。 URL 永続セッションは、URI内のフィールドに基づいて行われます。 PARM 永続化セッションは、「;」で区切られた値に基づいて実行されます。 URIの最後に、 COOKIE 永続セッションはCookie名に基づいて行われ、このCookieはバックエンドによって作成される必要があります。 ヘッダ永続セッションは、ヘッダー名に基づいて行われます。
TTL 固執するだけです。 非アクティブなクライアントセッションの最大存続期間(最大セッション経過時間)(秒単位)。
セッションID 文字列 もしあれば利用可能です 持続性 分野は URL, COOKIE or ヘッダパラメータ値は、httpヘッダー内のプロファイルによって検索され、クライアントセッションを管理します。
leastresp 文字列 最小応答バランス方式を有効にします。 trueプロファイルは、これにより多くの接続を送信するために、どのバックエンドが応答するのにかかる時間が短いかを慎重にチェックします。 false、プロファイルは、どのバックエンドが応答に時間がかからないかをチェックしません。
httpsb 文字列 これは、現在のサービスで定義されているバックエンドサーバーがHTTPS言語を使用していることをファームに知らせ、データは送信される前に暗号化されます。 trueプロファイルはHTTPSプロトコルのトラフィックをバックエンドに送信します。 falseプロファイルはHTTPプロトコルのトラフィックをバックエンドに送信します。

応答例:

{
   "description" : "Modify service newsrv in farm newHTTPfarm",
   "info" : "There're changes that need to be applied, stop and start farm to apply them!",
   "params" : {
      "backends" : [],
      "cookiedomain" : "",
      "cookieinsert" : "false",
      "cookiename" : "",
      "cookiepath" : "",
      "cookiettl" : 0,
      "fgenabled" : "false",
      "fglog" : "false",
      "fgscript" : "",
      "fgtimecheck" : 5,
      "httpsb" : "true",
      "id" : "newsrv",
      "leastresp" : "true",
      "persistence" : "",
      "redirect" : "http://zenloadbalancer.com",
      "redirecttype" : "default",
      "sessionid" : "sid",
      "ttl" : 125,
      "urlp" : "^/myapp1$",
      "vhost" : "www.mywebserver.com"
   },
   "status" : "needed restart"
}

応答パラメータ

応答は要求されたパラメータが更新されたjsonになります。 status フィールド付き 再起動が必要 値。 変更を適用するには、再起動アクションを実行する必要があります。

農場の保護者を変更する

農場の保護者を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":5,"fgscript":"check_tcp","fgenabled":"true",
"fglog":"true","service":"service1"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/fg

Farmguardianは、バックエンドの状態を詳細に監視するために使用され、現在のサービス用の独自のスクリプト用に完全にパーソナライズされています。 farmguardianが問題を検出すると、自動的に実サーバーが無効になり、ブラックリストに登録されます。

PUT /farms/<farmname>/fg

指定されたHTTPプロファイル内のFarm Guardianのパラメーターを変更します。

リクエストパラメータ

フィールド 種類 説明 必須
fgtimecheck ファームガーディアンは、「timetocheck」秒ごとにバックエンドのヘルスステータスをチェックします。
fgscript 文字列 バックエンドの健康状態をチェックするためにFarm Guardianが実行するコマンド
想像できる 文字列 指定されたサービスで農場の保護者を有効にします。 true 農場の保護者はバックエンドのステータスをチェックするために使用される予定です。 false 農場の保護者は無効にされる予定です
fglog 文字列 ファーム保護者でログの使用を有効にします。 true 農場の保護者が行動を記録します。 false 農場の保護者はいかなる行動も記録するつもりはない、それを有効にすることをお勧めします fglog トラブルシューティング専用です。
サービス 文字列 一意の識別子として使用されるサービス名 true

応答例:

{
   "description" : "Modify farm FarmHTTP",
   "params" : {
      "fgenabled" : "true",
      "fglog" : "true",
      "fgscript" : "checktcp",
      "fgtimecheck" : 5,
      "service" : "service1"
   }
}

サービスを移動する

サービスを移動する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":0}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services/service1/actions

POST /farms/<farmname>/services/<id>/actions

このアクションは与えられたサービスをサービスリスト内で上または下に移動します。このオプションは優先順位を変更する必要がある場合に便利です。サービスは表示されているのと同じ順序で評価されることに注意してください。 この操作によってファームが自動的に再起動されます。

id 変更されるサービスの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
位置 サービスになる位置。 最初の位置のインデックスは0です。 true

応答例:

{
   "description" : "Move service",
   "message" : "service1 was moved successful.",
   "params" : {
      "position" : 0
   }
}

サービスを削除する

サービスを削除する

リクエスト例:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services/service1

DELETE /farms/<farmname>/services/<id>

httpプロファイルの特定のサービスを削除します。 id 削除されるサービスの一意の識別子です。

応答例:

{
  "description" : "Delete service service1 in farm FarmHTTP",
  "message" : "The service service1 in farm FarmHTTP has been deleted.",
  "success" : "true",
  "status": "needed restart"
}

HTTP - サービス - バックエンド

バックエンドを一覧表示する

バックエンドを一覧表示する

リクエスト例:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/httpfarm/services/service1/backends

GET /farms/<farmname>/services/<id>/backends

サービス内のバックエンドのリストを取得します。 id サービスの一意の識別子です。

応答例:

{
   "description" : "List service backends",
   "params" : [
      {
         "id" : 0,
         "ip" : "192.168.0.10",
         "port" : 88,
         "status" : "up",
         "timeout" : 12,
         "weight" : 1
      },
      {
         "id" : 1,
         "ip" : "192.168.102.245",
         "port" : 80,
         "status" : "up",
         "timeout" : 22,
         "weight" : 2
      }
   ]
}

応答パラメータ

この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。

フィールド 種類 説明
id サービス内のバックエンドの一意の識別子。 この識別子はシステムによって生成されます。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。
タイムアウト 特定のリクエストに応答するためのバックエンドのタイムアウト(秒単位)です。
重量 これは、現在のバックエンドの重み値です。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。

新しいバックエンドを作成する

新しいバックエンドを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.102.244","port":80, "weight":2,"timeout":2}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/httpfarm/services/newsrv/backends

POST /farms/<farmname>/services/<id>/backends

特定のHTTPプロファイルに新しいバックエンドを作成します。 id サービスの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。 true
ポート 実際のサービスがリッスンしているバックエンドのポート。 true
タイムアウト 特定のリクエストに応答するのはバックエンドのタイムアウトです。
重量 これは、現在のバックエンドの重み値です。

応答例:

{
   "description" : "New service backend",
   "message" : "Added backend to service succesfully",
   "params" : {
      "id" : 0,
      "ip" : "192.168.102.244",
      "port" : 80,
      "timeout" : 2,
      "weight" : 2
   },
   "status" : "needed restart"
}

応答パラメータ

応答は要求されたパラメータが更新されたjsonになります。 status フィールド付き 再起動が必要 ファームを再起動する必要がある場合は値。 変更を適用するには、再起動アクションを実行する必要があります。

バックエンドを修正する

バックエンドを修正する

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.0.10","port":88,"timeout":12,"service":"sev2", "weight":1}' 
  https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/service/service1/backends/1

PUT /farms/<farmname>/services/<id>/backends/<id>

HTTPプロファイルのサービス内のバックエンドのパラメータを変更します。

id サービスの一意の識別子です。 id バックエンドの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。
タイムアウト 特定のリクエストに応答するためのバックエンドのタイムアウト(秒単位)です。
重量 これは、現在のバックエンドの重み値です。

応答例:

{
   "description" : "Modify service backend",
   "info" : "There're changes that need to be applied, stop and start farm to apply them!",
   "message" : "Backend modified",
   "params" : {
      "ip" : "192.168.0.10",
      "port" : 88,
      "timeout" : 12,
      "weight" : 1
   },
   "status" : "needed restart"
}

応答パラメータ

応答は要求されたパラメータが更新されたjsonになります。 status フィールド付き 再起動が必要 ファームを再起動する必要がある場合は値。 変更を適用するには、再起動アクションを実行する必要があります。

メンテナンス中のバックエンド

メンテナンス中のバックエンド

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"action":"maintenance","mode":"cut"}'
 https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/httpfarm/services/newsrv/backends/0/maintenance

PUT /farms/<farmname>/services/<id>/backends/<id>/maintenance

HTTPファームのバックエンドに特定のアクションを設定します。利用可能なアクションは以下で説明されています。

id サービスの一意の識別子です。 id バックエンドの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 希望する動作を設定します。 アクションは以下のとおりです。 up バックエンドはクライアントのリクエストを受け取る準備ができています。 メンテナンス バックエンドはクライアント要求を受信する準備ができていません。このアクションはクライアントに影響を与えずにバックエンドサーバーを停止するのに役立ちます。
モード 文字列 メンテナンスモードを選択してください。 利用可能なオプションは以下のとおりです。 ドレイン、バックエンドは新しい接続を受け入れませんが、現在の接続を引き続き処理します。 または cut現在の接続は閉じられます。 このフィールドが指定されていない場合、デフォルトモードは次のようになります。 ドレイン.

応答例:

{
   "description" : "Set service backend status",
   "params" : {
      "action" : "maintenance",
      "mode" : "cut"
   }
}

バックエンドを削除する

バックエンドを削除する

リクエスト例:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/newfarmHTTP/services/service1/backends/4

DELETE /farms/<farmname>/services/<id>/backends/<id>

HTTPプロファイルのサービス内の特定のバックエンドを削除します。

id サービスの一意の識別子です。 id バックエンドの一意の識別子です。

応答例:

{
   "description" : "Delete service backend",
   "message" : "Backend removed",
   "success" : "true"
}

L4xNATファーム

L4xNATプロファイルファームを使用すると、HTTPファームプロファイルのようにレイヤ4のロードバランサコアよりも非常に高いパフォーマンスとはるかに多くの同時接続を備えたL7ファームを作成できます。 そのレイヤー4パフォーマンスの向上は、レイヤー7プロファイルが管理できる高度なコンテンツ処理を妨げます。

さらに、L4xNAT ファームは、他のレイヤー 7 プロファイルで使用される 4 つの仮想ポートだけでなく、さまざまなポートをバインドできます。 LXNUMXxNAT ファームで仮想ポートの範囲または特定の仮想ポートを選択できるようにするには、プロトコル タイプを選択することが必須です。 それ以外の場合、ファームは仮想 IP (文字 '*' で示される) からのすべてのポートをリッスンします。 TCP または UDP プロトコルを選択すると、ポート、「,」間の複数のポート、「:」間のポート範囲、または「*」を含むすべてのポートを指定できるようになります。 それらすべてを組み合わせても有効です。

名前で農場を検索する

名前で農場を検索する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm

GET /farms/<farmname>

特定のファームに関するすべての構成を表示します。

レスポンスボディ:

{
   "backends" : [
      {
         "id" : 0,
         "ip" : "192.168.55.40",
         "port" : "88",
         "priority" : 2,
         "status" : "undefined",
         "weight" : 1
      },
      {
         "id" : 1,
         "ip" : "192.168.55.41",
         "port" : "88",
         "priority" : 3,
         "status" : "undefined",
         "weight" : 2
      }
   ],
   "description" : "List farm l4farm",
   "ipds" : {
      "blacklists" : [],
      "dos" : [],
      "rbl" : [
         "protection_ssh"
      ]
   },
   "params" : {
      "algorithm" : "weight",
      "fgenabled" : "false",
      "fglog" : "false",
      "fgscript" : "",
      "fgtimecheck" : 5,
      "listener" : "l4xnat",
      "nattype" : "nat",
      "persistence" : "",
      "protocol" : "tcp",
      "status" : "down",
      "ttl" : 120,
      "vip" : "192.168.100.241",
      "vport" : "88"
   }
}

応答パラメータ

応答は以下の形式のJSONオブジェクトになります。

農場オブジェクト:

フィールド 種類 説明
ipds オブジェクト このファームに適用されているIPDSルールのリスト。
paramsは オブジェクト ファーム構成のパラメータ。
バックエンド オブジェクト[] このファームで作成されたすべての実サーバーとその構成。

IPDSオブジェクト

フィールド 種類 説明
ブラックリスト String [] ファームに適用されるブラックリストルール。
ドス String [] ファームに適用されるDoSルール
rbl String [] ファームに適用されるRBLルール。

L4xNATファームのパラメータオブジェクト:

フィールド 種類 説明
アルゴリズム 文字列 ファームで使用されている負荷分散アルゴリズムの種類。 オプションは以下のとおりです。 Leastconn 常に最小接続サーバーに接続します。 重量 重量による接続線形発送、 プリオ 利用可能な最もprioへの接続。
リスナー 文字列 リスナーは、ファームがクライアントからの要求をどのように処理するかを定義します。 情報フィールド、変更できません。
ナタイプ 文字列 ロードバランサレイヤ4コアの動作方法 オプションは以下のとおりです。 NAT sNATモードとも呼ばれ、バックエンドはクライアントに応答を送信するためにロードバランサーに応答します。 DNAT バックエンドはクライアントに直接応答します。ロードバランサーはバックエンドサーバーのゲートウェイとして設定する必要があります。
持続性 文字列 同じIPアドレスが同じサーバーに接続されます。 オプションは以下のとおりです。 "" 空の値、永続性は無効、 ip 永続化は有効化され、起点IPはセッション内の固有IDのように使用されます。
文字列 レイヤ4でバランスをとるためのプロトコル。 オプションは以下のとおりです。 プロファイルは任意のL4プロトコルを負荷分散します。 TCP ロードバランサはTCP L4プロトコルのバランスをとるだけです。 UDP ロードバランサはUDP L4プロトコルのバランスをとるだけです。 一口 ロードバランサは、SIPまたはVoIP L7プロトコルのバランスをとるだけです。 FTP ロードバランサはFTP L7プロトコルのバランスをとるだけです。 tftp ロードバランサはTFTP L7プロトコルのバランスをとるだけです。
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。
TTL このフィールド値は、クライアントのソースとバックエンドの間の持続性が割り当てられている秒数を秒単位で示します。 持続性を設定する必要があります。
VIP 文字列 仮想サービスが待機しているファームのIP。
vport 文字列 仮想サービスが待機しているファームのポート。 一意のポートを指定でき、範囲ポートは区切り文字を使って指定できます : そしていくつかのポートはセパレータで指定できます ,.
想像できる 文字列 農場の保護者の使用を可能にします。 true 農場の保護者が有効になっている、 false 農場の保護者は無効です。
fglog 文字列 ファーム保護者のログの使用を有効にします。 想像できる 有効にする必要があります。
fgscript 文字列 農場の保護者が確認するコマンド。 利用可能なコマンドはlibexecパスにあります。 想像できる 有効にする必要があります。
fgtimecheck ファームガーディアンは、「timetocheck」秒ごとにチェックします。 想像できる 有効にする必要があります。

L4xNATファームのバックエンドオブジェクト:

フィールド 種類 説明
id ファーム内のバックエンドを識別するためのID。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。
優先順位 これは現在の実サーバーの優先順位の値です。 1が最も優先されるところでは、常に最も利用可能なものへの接続。
重量 これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。

新しい農場を作る

新しい農場を作る

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"profile":"l4xnat", "vip":"192.168.100.241", "vport":"88","farmname":"newl4farm"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms

POST /farms

新しいL4xNATファームを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
農場名 文字列 ファーム名、一意の識別子 true
プロフィール 文字列 作成したファームのプロフィール。 L4xNATファームの場合 l4xnat、情報メッセージ、この値は変更できません true
VIP 文字列 仮想サービスが待機しているファームのIP。 true
vport 文字列 仮想サービスが待機しているファームのポート。 L4xNATファームでは、で区切られたマルチポートが可能です。 , またはで区切られた範囲ポート :. true

応答例:

{
   "description" : "Creating farm 'newl4farm'",
   "params" : {
      "farmname" : "newl4farm",
      "interface" : "eth0",
      "profile" : "l4xnat",
      "vip" : "192.168.100.241",
      "vport" : "88"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

農場を変更する

農場を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"algorithm":"weight","persistence":"","newfarmname":"l4farm", "protocol":"tcp",
"nattype":"nat","ttl":125,"vip":"178.62.126.152","vport":"81"}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/newfarml4

PUT /farms/<farmname>

L4xNATファームの構成を変更します。

リクエストパラメータ

フィールド 種類 説明
newfarmname 文字列 新しいファームの名前。 農場はそれを止めなければなりません。
アルゴリズム 文字列 ファームで使用されている負荷分散アルゴリズムの種類。 オプションは以下のとおりです。 Leastconn 常に最小接続サーバーに接続します。 重量 重量による接続線形発送、 プリオ 利用可能な最もprioへの接続。
リスナー 文字列 リスナーは、ファームがクライアントからの要求をどのように処理するかを定義します。 情報フィールド、変更できません。
ナタイプ 文字列 ロードバランサレイヤ4コアの動作方法 オプションは以下のとおりです。 NAT sNATモードとも呼ばれ、バックエンドはクライアントに応答を送信するためにロードバランサーに応答します。 DNAT バックエンドはクライアントに直接応答します。ロードバランサーはバックエンドサーバーのゲートウェイとして設定する必要があります。
持続性 文字列 同じIPアドレスが同じサーバーに接続されます。 オプションは以下のとおりです。 "" 空の値、永続性は無効、 ip 永続化は有効化され、起点IPはセッション内の固有IDのように使用されます。
文字列 レイヤ4でバランスをとるためのプロトコル。 オプションは以下のとおりです。 プロファイルは任意のL4プロトコルを負荷分散します。 TCP ロードバランサはTCP L4プロトコルのバランスをとるだけです。 UDP ロードバランサはUDP L4プロトコルのバランスをとるだけです。 一口 ロードバランサは、SIPまたはVoIP L7プロトコルのバランスをとるだけです。 FTP ロードバランサはFTP L7プロトコルのバランスをとるだけです。 tftp ロードバランサはTFTP L7プロトコルのバランスをとるだけです。
TTL このフィールド値は、クライアントのソースとバックエンドの間の持続性が割り当てられている秒数を秒単位で示します。 持続性を設定する必要があります。
VIP 文字列 仮想サービスが待機しているファームのIP。
vport 文字列 仮想サービスが待機しているファームのポート。 一意のポートを指定でき、範囲ポートは区切り文字を使って指定できます : そしていくつかのポートはセパレータで指定できます ,.

応答例:

{
   "description" : "Modify farm l4farm",
   "params" : {
      "algorithm" : "weight",
      "nattype" : "nat",
      "newfarmname" : "l4farm",
      "persistence" : "",
      "protocol" : "tcp",
      "ttl" : 125,
      "vip" : "178.62.126.152",
      "vport" : "81"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

農場の保護者を変更する

農場の保護者を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":5,"fgscript":"Command of Farm Guardian","fgenabled":"true",
"fglog":"true","service":"service1"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/fg

Farmguardianは、バックエンドの状態を詳細に監視するために使用され、現在のサービス用の独自のスクリプト用に完全にパーソナライズされています。 farmguardianが問題を検出すると、自動的に実サーバーが無効になり、ブラックリストに登録されます。

PUT /farms/<farmname>/fg

L4xNATサービスのファーム保護者のパラメータを変更します。

リクエストパラメータ

フィールド 種類 説明
想像できる 文字列 農場の保護者の使用を可能にします。 true 農場の保護者が有効になっている、 false 農場の保護者は無効です。
fglog 文字列 ファーム保護者のログの使用を有効にします。 想像できる 有効にする必要があります。
fgscript 文字列 農場の保護者が確認するコマンド。 利用可能なコマンドはlibexecパスにあります。 想像できる 有効にする必要があります。
fgtimecheck ファームガーディアンは、「timetocheck」秒ごとにチェックします。 想像できる 有効にする必要があります。

応答例:

{
   "description" : "Modify farm guardian",
   "message" : "Success, some parameters have been changed in farm guardian in farm l4farm.",
   "params" : {
      "fgenabled" : "true",
      "fglog" : "true",
      "fgscript" : "check_tcp",
      "fgtimecheck" : 5
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

IPDSルールを追加する

IPDSルールを追加する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4Farm/ipds/blacklists

POST /farms/<farmname>/ipds/<dos|blacklists|rbl>

ブラックリスト、DoS、またはRBLルールをファームに適用します。

リクエストパラメータ

フィールド 種類 説明
文字列 一意の識別子として使用されるIPDSルール名。

応答例:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm l4Farm.",
   "success" : "true"
}

IPDSルールを削除する

IPDSルールを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4Farm/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>

IDを使用して、特定のファームからIPDSモジュールのブラックリスト、DoS、またはRBLルールを削除します。 .

応答例:

{
   "description" : "Delete a rule from a farm",
   "message" : "Blacklist rule china was removed successful from the farm l4Farm.",
   "success" : "true"
}

L4xNAT - バックエンド

バックエンドを一覧表示する

バックエンドを一覧表示する

リクエスト例:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends

GET /farms/<farmname>/backends

サービス内のバックエンドのリストを取得します。

応答例:

{
   "description" : "List backends",
   "params" : [
      {
         "id" : 0,
         "ip" : "192.5.1.1",
         "max_conns" : 400,
         "port" : 787,
         "priority" : 1,
         "status" : "up",
         "weight" : 1
      },
      {
         "id" : 1,
         "ip" : "192.5.1.3",
         "max_conns" : 200,
         "port" : 787,
         "priority" : 2,
         "status" : "up",
         "weight" : 1
      },
   ]
}

応答パラメータ

この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。

フィールド 種類 説明
id ファーム内のバックエンドを識別するためのID。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。
max_conns これは、バックエンドの同時接続の最大数です。 このフィールドの値が0の場合、バックエンドは接続制限を構成していません。
優先順位 これは現在の実サーバーの優先順位の値です。 1が最も優先されるところでは、常に最も利用可能なものへの接続。
重量 これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。

新しいバックエンドを作成する

新しいバックエンドを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.5.100","port":8080,"max_conns":400}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends

POST /farms/<farmname>/backends

所定のL4xNATファームに新しいバックエンドを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。 true
ポート 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。
max_conns これは、バックエンドの同時接続の最大数です。 このフィールドの値が0の場合、バックエンドは接続制限を構成していません。
優先順位 これは現在の実サーバーの優先順位の値です。 1が最も優先されるところでは、常に最も利用可能なものへの接続。 デフォルト値は1です。
重量 これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。 デフォルト値は1です。

応答例:

{
   "description" : "New farm backend",
   "message" : "Backend added",
   "params" : {
      "id" : 5,
      "ip" : "192.168.5.100",
      "port" : 8080,
      "max_conns" : 400,
      "priority" : null,
      "weight" : null
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

バックエンドを修正する

バックエンドを修正する

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.5.40","port":8080,"max_conns":220,"priority":4,"weight":7}' 
  https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends/2

PUT /farms/<farmname>/backends/<id>

L4xNATファームのサービスでバックエンドのパラメータを変更します。 id バックエンドの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。
max_conns これは、バックエンドの同時接続の最大数です。 このフィールドの値が0の場合、バックエンドは接続制限を構成していません。
優先順位 これは現在の実サーバーの優先順位の値です。 1が最も優先されるところでは、常に最も利用可能なものへの接続。
重量 これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。

応答例:

{
   "description" : "Modify backend",
   "message" : "Backend modified",
   "params" : {
      "ip" : "192.168.5.40",
      "port" : 8080,
      "max_conns" : 220,
      "priority" : 4,
      "weight" : 7
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

メンテナンス中のバックエンド

メンテナンス中のバックエンド

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"action":"maintenance","mode":"cut"}'
 https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends/1/maintenance

PUT /farms/<farmname>/backends/<id>/maintenance

L4xNATファームのバックエンドに特定のアクションを設定します。 id バックエンドの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
アクション 文字列 希望する動作を設定します。 アクションは以下のとおりです。 up バックエンドはクライアントのリクエストを受け取る準備ができています。 メンテナンス バックエンドはクライアント要求を受信する準備ができていません。このアクションはクライアントに影響を与えずにバックエンドサーバーを停止するのに役立ちます。
モード 文字列 メンテナンスモードを選択してください。 利用可能なオプションは以下のとおりです。 ドレイン、バックエンドは新しい接続を受け入れませんが、現在の接続を引き続き処理します。 または cut現在の接続は閉じられます。

応答例:

{
   "description" : "Set backend status",
   "params" : {
      "action" : "maintenance",
      "mode" : "cut"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

バックエンドを削除する

バックエンドを削除する

リクエスト例:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends/4

DELETE /farms/<farmname>/backends/<id>

L4xNATファームのサービス内の特定のバックエンドを削除します。

id バックエンドの一意の識別子です。

応答例:

{
   "description" : "Delete backend",
   "message" : "Backend removed",
   "success" : "true"
}

GSLBファーム

グローバルサービスロードバランシングは、一般にGSLBと呼ばれ、DNSサービスの階層アーキテクチャに基づいてロードバランシングサービスを作成することを可能にします。 この種のファームは、DNSアプリケーション層で信頼できるDNSだけに負荷分散アルゴリズムとサービス状態検出を提供します。

名前で農場を検索する

名前で農場を検索する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm

GET /farms/<farmname>

特定のファームに関するすべての構成を表示します。

応答例:

{
   "description" : "List farm gslbfarm",
   "ipds" : {
      "blacklists" : [],
      "dos" : [],
      "rbl" : [
         "protection_ssh"
      ]
   },
   "params" : {
      "status" : "needed restart",
      "vip" : "192.168.100.155",
      "vport" : 60
   },
   "services" : [
      {
         "algorithm" : "roundrobin",
         "backends" : [
            {
               "id" : 1,
               "ip" : "127.0.0.1",
               "port" : 53,
               "status" : "up"
            },
            {
               "id" : 2,
               "ip" : "192.168.55.40",
               "port" : 53,
               "status" : "up"
            },
            {
               "id" : 4,
               "ip" : "192.135.10.2",
               "port" : 53,
               "status" : "up"
            }
         ],
         "deftcpport" : 53,
         "fgenabled" : "true",
         "fgscript" : "check_tcp",
         "fgtimecheck" : 5,
         "id" : "service1"
      },
      {
         "algorithm" : "prio",
         "backends" : [
            {
               "id" : 1,
               "ip" : "127.0.0.1",
               "port" : 80,
               "status" : "up"
            },
            {
               "id" : 2,
               "ip" : "127.0.0.1",
               "port" : 80,
               "status" : "up"
            }
         ],
         "deftcpport" : 80,
         "fgenabled" : "false",
         "fgscript" : "",
         "fgtimecheck" : 5,
         "id" : "prioServ"
      }
   ],
   "zones" : [
      {
         "defnamesv" : "ns3",
         "id" : "global.com",
         "resources" : [
            {
               "id" : 0,
               "rdata" : "ns3",
               "rname" : "@",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 1,
               "rdata" : "192.168.100.155",
               "rname" : "ns3",
               "ttl" : null,
               "type" : "A"
            },
            {
               "id" : 3,
               "rdata" : "resource2",
               "rname" : "ns2",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 4,
               "rdata" : "192.168.200.30",
               "rname" : "resource2",
               "ttl" : null,
               "type" : "A"
            }
         ]
      },
      {
         "defnamesv" : "ns1",
         "id" : "DOM.com",
         "resources" : [
            {
               "id" : 0,
               "rdata" : "ns1",
               "rname" : "@",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 1,
               "rdata" : "192.168.100.155",
               "rname" : "ns1",
               "ttl" : null,
               "type" : "A"
            }
         ]
      }
   ]
}

応答パラメータ

応答は以下の形式のJSONオブジェクトになります。

農場オブジェクト:

フィールド 種類 説明
ipds オブジェクト このファームに適用されているIPDSルールのリスト。
paramsは オブジェクト ファーム構成のパラメータ。
サービス オブジェクト[] このファームで作成されたすべてのサービスとその構成を含む配列。
ゾーン オブジェクト[] このファーム内に作成されたすべてのゾーンとその構成を含む配列。

IPDSオブジェクト

フィールド 種類 説明
ブラックリスト String [] ファームに適用されるブラックリスト。
ドス String [] ファームに適用されるDoSルール
rbl String [] ファームに適用されるRBLルール。

GSLBファームのパラメータオブジェクト

フィールド 種類 説明
VIP 文字列 仮想サービスが待機しているファームのIP。
vport 仮想サービスが待機しているファームのポート。
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドに到達できません。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 up、農場は稼働しており、すべてのバックエンドは成功しています。

GSLBファームのサービスオブジェクト

フィールド 種類 説明
バックエンド オブジェクト[] サービスに定義されているバックエンド。
想像できる 文字列 農場の保護者の使用を有効にします。 true ファームの保護者が有効になっており、バックエンドのステータスを確認 false ファームの保護者は無効になっており、バックエンドのステータスをチェックしていません。 GSLBプロファイルでは、Farm Guardianが無効になっていても、デフォルトでTCPチェックが実行されます。
fgscript 文字列 農場の保護者がバックエンドの健康状態をチェックするために使用するコマンド。 true 有効にします。 false無効になっています。 想像できる 必要とされている。
fgtimecheck ファームガーディアンは、バックエンドのヘルスステータスを「timetocheck」秒ごとにチェックします。 想像できる 必要とされている。
id 文字列 一意の識別子として使用されるサービス名。
アルゴリズム 文字列 サービスで使用されているロードバランシングアルゴリズムのタイプ。 オプションは以下のとおりです。 ラウンドロビンすべてのバックエンド間の接続のバランスをとる プリオ これはすべての接続を最初に利用可能なバックエンドに送ります。
deftcpport デフォルトのTCPポートヘルスチェック これは、バックエンドサービスが稼働していることを確認するためにサービスがチェックしようとしているヘルスチェックTCPポートです。 空の値は無効になります。

GSLBファームのバックエンドオブジェクト

フィールド 種類 説明
id サービス内のバックエンドの一意の識別子。 この識別子はシステムによって生成されます。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 未定義バックエンドのステータスはチェックされていません。

ゾーンオブジェクト:

フィールド 種類 説明
id ゾーンの名前は、一意の指標のように使用されます。
defnamesv 文字列 これは、Start of Authority(SOA)DNSレコードとして使用可能になるエントリポイントのルートネームサーバになります。
リソース オブジェクト[] リソース ゾーンで定義されています。

リソースオブジェクト:

フィールド 種類 説明
id ゾーン内のリソースの一意の識別子。
rname 文字列 リソース名は、DNSサービスがフィールド内の実際の必須データに変換するニックネームです。 データ.
TTL 現在の名前がキャッシュされる期間を決定するために必要な、現在のレコードの存続時間(オプション)値。
type 文字列 DNSレコードタイプ オプションは以下のとおりです。 NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR) 詳細については、を見てください。 GSLB - ゾーン - リソース のセクションから無料でダウンロードできます。
データ 文字列 これはレコードタイプに必要な実際のデータです。入力値はリソース名の種類によって異なります。 rname リソースタイプ type.

新しい農場を作る

新しい農場を作る

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"farmname":"gslbfarm","profile":"gslb","vip":"192.168.100.241","vport":53}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms

POST /farms

新しいGSLBファームを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
農場名 文字列 ファーム名、ファームの一意の識別子。 true
プロフィール 文字列 作成したファームのプロフィール。 GSLB農場にとっては gslb. true
VIP 文字列 仮想サービスが待機しているファームのIP。 true
vport 仮想サービスが待機しているファームのポート。 true

応答例:

{
   "description" : "Creating farm 'gslbfarm'",
   "params" : {
      "farmname" : "gslbfarm",
      "interface" : "eth0",
      "profile" : "gslb",
      "vip" : "192.168.100.241",
      "vport" : 53
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

農場を変更する

農場を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"newfarmname":"gslbnewname","vip":"192.168.100.155","vport":60}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm

PUT /farms/<farmname>

GSLBファームの構成を変更します。

リクエストパラメータ

フィールド 種類 説明
newfarmname 文字列 新しいファームの名前。 この変更を行うには、ファームを停止する必要があります。
vport 仮想サービスが待機しているファームのポート。
VIP 文字列 仮想サービスが待機しているファームのIP。

応答例:

{
   "description" : "Modify farm gslbnewname",
   "params" : {
      "newfarmname" : "gslbnewname",
      "vip" : "192.168.100.155",
      "vport" : 60
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

IPDSルールを追加する

IPDSルールを追加する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbFarm/ipds/blacklists

POST /farms/<farmname>/ipds/<dos|blacklists|rbl>

ブラックリスト、DoS、またはRBLルールをファームに適用します。

リクエストパラメータ

フィールド 種類 説明
文字列 一意の識別子として使用されるIPDSルール名。

応答例:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm gslbFarm.",
   "success" : "true"
}

IPDSルールを削除する

IPDSルールを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbFarm/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>

その識別名を使用して、特定のファームからブラックリスト、DoS、またはRBLルールを削除します。 .

応答例:

{
   "description" : "Delete a rule form a farm",
   "message" : "Blacklist rule china was removed successful from the farm gslbFarm.",
   "success" : "true"
}

GSLB - サービス

GSLBサービスは、実サーバーのグループとそれらに使用される関連アルゴリズムを表します。 新しいサービスを作成するには、有効な識別名と使用するアルゴリズムを設定します。

利用可能なサービスは次のとおりです。

ラウンドロビン:平等な共有。 アクティブなすべての実サーバへのトラフィックの均等なバランス。 すべての着信接続に対して、バランサは次のラウンドロビン実サーバーにリクエストを配信するように割り当てます。

優先順位:常に利用可能な最も優先度の高いものへの接続。 同じ最高優先順位のサーバーへのすべての接続のバランスをとります。 このサーバーが停止している場合、接続は次に高いサーバーに切り替わります。 このアルゴリズムを使用すると、複数の実サーバーでActive-Pasiveクラスターサービスを構築できます。

GSLBファーム用のサービスオブジェクト

フィールド 種類 説明
バックエンド オブジェクト[] サービスに定義されているバックエンド。
想像できる 文字列 農場の保護者の使用を有効にします。 true ファームの保護者が有効になっており、バックエンドのステータスを確認 false ファームの保護者は無効になっており、バックエンドのステータスをチェックしていません。 GSLBプロファイルでは、Farm Guardianが無効になっていても、デフォルトでTCPチェックが実行されます。
fgscript 文字列 農場の保護者がバックエンドの健康状態をチェックするために使用するコマンド。 true 有効にします。 false無効になっています。 想像できる 必要とされている。
fgtimecheck ファームガーディアンは、バックエンドのヘルスステータスを「timetocheck」秒ごとにチェックします。 想像できる 必要とされている。
id 文字列 一意の識別子として使用されるサービス名。
アルゴリズム 文字列 サービスで使用されているロードバランシングアルゴリズムのタイプ。 オプションは以下のとおりです。 ラウンドロビンすべてのバックエンド間の接続のバランスをとる プリオ これはすべての接続を最初に利用可能なバックエンドに送ります。
deftcpport 文字列 デフォルトのTCPポートヘルスチェック これは、バックエンドサービスが稼働していることを確認するためにサービスがチェックしようとしているヘルスチェックTCPポートです。 空の値は無効になります。

新しいサービスを作成する

新しいサービスを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"service1","algorithm":"roundrobin"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services

POST /farms/<farmname>/services

特定のGSLBファームにサービスを作成します。 この変更を適用するには、ファームを再起動する必要があります。

リクエストパラメータ

フィールド 種類 説明 必須
id 文字列 一意の識別子として使用されるサービス名。 true
アルゴリズム 文字列 サービスで使用されているロードバランシングアルゴリズムのタイプ。 オプションは以下のとおりです。 ラウンドロビンすべてのバックエンド間の接続のバランスをとる プリオ これはすべての接続を最初に利用可能なバックエンドに送ります。 true

応答例:

{
   "description" : "New service service1",
   "params" : {
      "algorithm" : "roundrobin",
      "id" : "service1"
   },
   "status" : "needed restart"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

サービスを変更する

サービスを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"deftcpport":53}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1

PUT /farms/<farmname>/services/<id>

GSLBファーム内のサービスのパラメータを変更します。 id 変更されるサービスの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
deftcpport これは、バックエンドサービスが稼働していることを確認するためにサービスがチェックしようとしているヘルスチェックTCPポートです。

応答例:

{
   "description" : "Modify service service1 in farm gslbfarm",
   "info" : "There're changes that need to be applied, stop and start farm to apply them!",
   "params" : {
      "deftcpport" : 53
   },
   "status" : "needed restart"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

農場の保護者を変更する

農場の保護者を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":"5","fgscript":"check_tcp","fgenabled":"true",
"service":"service1"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/fg

Farmguardianは、バックエンドの状態を詳細に監視するために使用され、現在のサービス用の独自のスクリプト用に完全にパーソナライズされています。 farmguardianが問題を検出すると、自動的に実サーバーが無効になり、ブラックリストに登録されます。

PUT /farms/<farmname>/fg

GSLBサービスでファーム保護者のパラメータを変更します。

リクエストパラメータ

フィールド 種類 説明 必須
想像できる 文字列 農場の保護者の使用を有効にします。 true ファームの保護者が有効になっており、バックエンドのステータスを確認 false ファームの保護者は無効になっており、バックエンドのステータスをチェックしていません。 GSLBプロファイルでは、fgenabledが無効になっていてもtcpチェックがデフォルトで実行されます。
fgscript 文字列 農場の保護者がバックエンドの健康状態をチェックするために使用するコマンド。 true 有効にします。 false無効になっています。 真の場合 想像できる 有効になっています。
fgtimecheck ファームガーディアンは、バックエンドのヘルスステータスを「timetocheck」秒ごとにチェックします。 想像できる 必要とされている。
サービス 文字列 サービス識別子 idどの農場の保護者が変更するか true

応答例:

{
   "description" : "Modify farm guardian",
   "message" : "Success, some parameters have been changed in farm guardian in farm gslbfarm.",
   "params" : {
      "fgenabled" : "true",
      "fgscript" : "check_tcp",
      "fgtimecheck" : 5
   },
   "status" : "needed restart"   
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

サービスを削除する

サービスを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1

DELETE /farms/<farmname>/services/<id>

GSLBファームの特定のサービスを削除します。 id 削除されるサービスの一意の識別子です。

応答例:

{
  "description" : "Delete service service1 in farm gslbfarm",
  "message" : "The service service1 in farm gslbfarm has been deleted.",
  "success" : "true",
  "status": "needed restart"
}

GSLB - サービス - バックエンド

このセクションは、サービスに関連付けられている実際のサービスリストを管理します。

バックエンドを一覧表示する

バックエンドを一覧表示する

リクエスト例:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends

GET /farms/<farmname>/services/<id>/backends

サービス内のバックエンドのリストを取得します。 id サービスの一意の識別子です。

応答例:

{
   "description" : "List service backends",
   "params" : [
      {
         "id" : 1,
         "ip" : "127.0.0.1",
         "port":53,
         "status":"up"
      },
      {
         "id" : 2,
         "ip" : "192.168.55.40",
         "port":53,
         "status":"up"
      }
   ]
}

応答パラメータ

この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。

フィールド 種類 説明
id サービス内のバックエンドの一意の識別子。 この識別子はシステムによって生成されます。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
ポート 実際のサービスがリッスンしているバックエンドのポート。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 未定義バックエンドのステータスはチェックされていません。

新しいバックエンドを作成する

新しいバックエンドを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.135.10.2"}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends

POST /farms/<farmname>/services/<id>/backends

GSLBファーム内の特定のサービスに新しいバックエンドを作成します。 id バックエンドが追加されるサービスの一意の識別子です。

優先サービスには、maximun、アクティブホスト、パッシブホストとしての2バックエンドがあります。

リクエストパラメータ

フィールド 種類 説明 必須
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。 true

応答例:

{
   "description" : "New service backend",
   "message" : "Added backend to service succesfully",
   "params" : {
      "id" : 4,
      "ip" : "192.135.10.2"
   },
   "status" : "needed restart"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

バックエンドを修正する

バックエンドを修正する

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.2.30"}' 
  https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends/1

PUT /farms/<farmname>/services/<id>/backends/<id>

GSLBファームのサービスでバックエンドのパラメータを変更します。

に注意してください PUT 上記の最初の id サービスの一意の識別子です。 id バックエンドの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。

応答例:

{
   "description" : "Modify service backend",
   "info" : "There're changes that need to be applied, stop and start farm to apply them!",
   "message" : "Backend modified",
   "params" : {
      "ip" : "192.168.2.30"
   },
   "status" : "needed restart"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

バックエンドを削除する

バックエンドを削除する

リクエスト例:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends/3

DELETE /farms/<farmname>/services/<servicename>/backends/<id>

GSLBファームのサービス内の特定のバックエンドを削除する

応答例:

{
   "description" : "Delete service backend",
   "message" : "Backend removed",
   "success" : "true"
}

GSLB - ゾーン

GSLBゾーンセクションには、定義されたサービスを使用して追加のロードバランシングレコードを持つ完全なDNSゾーンを生成するために必要となるDNSドメイン名、サブドメイン、エイリアスなどが記述されます。

ゾーンを作成

ゾーンを作成

リクエスト例:

curl  -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"id":"global.conf"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones

POST /farms/<farmname>/zones

DNSゾーンを作成します。

リクエストパラメータ

この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。

フィールド 種類 説明 必須
id ゾーンの名前は、一意の指標のように使用されます。 true

応答例:

{
   "description" : "New zone global.com",
   "params" : {
      "id" : "global.com"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ゾーンを変更する

ゾーンを変更する

リクエスト例:

curl  -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"defnamesv":"ns3"}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com

PUT /farms/<farmname>/zones/<id>

ゾーンのパラメータを変更します。 id 変更されるゾーンの一意の識別子です。

リクエストパラメータ

この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。

フィールド 種類 説明
defnamesv 文字列 これは、Start of Authority(SOA)DNSレコードとして使用可能になるエントリポイントのルートネームサーバになります。

応答例:

{
   "description" : "Modify zone global.com in farm gslbfarm",
   "params" : {
      "defnamesv" : "ns3"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ゾーンを削除する

ゾーンを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/dom.com

DELETE /farms/<farmname>/zones/<id>

GSLBファームの特定のゾーンを削除します。

応答例:

{
   "description" : "Delete zone dom.com in farm gslbfarm.",
   "message" : "The zone dom.com in farm gslbfarm has been deleted.",
   "success" : "true"
}

GSLB - ゾーン - リソース

DNSサービスとして定義されたリソースは要求を解決します。 Zevenetロードバランスで考えられるDNSリソースは次のとおりです。

  1. NS。 ネームサーバタイプレコード。指定された信頼できるネームサーバを使用するようにDNSゾーンを委任します。
  2. A。 アドレスタイプレコード、ホストのIPv6アドレスを返します。
  3. CNAME。 正規名型レコード。指定された名前の別名を表します。
  4. DYNA。 動的アドレスタイプレコード。このサービス用に選択されたアルゴリズムに従って、ファーム構成内にすでに作成されているGSLBサービスによって指定された動的アドレスを返します。
  5. AAAA。 アドレスタイプレコード、ホストのIPv6アドレスを返します。
  6. MX。 メール交換タイプレコード。ドメイン名をそのドメインのメッセージ転送エージェントのリストにマップします。
  7. SRV。 MXなどのプロトコル固有のレコードを作成する代わりに、より新しいプロトコルに使用されるサービスロケータタイプレコード、一般化されたサービスロケーションレコード。
  8. TXT。 テキスト型レコ​​ード。必要に応じて取得できるテキストベースの情報を格納するために使用されます。 TXFレコードがSPFデータを保持し、ドメインの所有権を検証するために使用されるのが最も一般的です。
  9. PTR。 ポインタレコード。正規名へのポインタ。 CNAMEとは異なり、DNS処理は停止し、名前だけが返されます。 最も一般的な用途は、DNSの逆引き参照を実装することです。
  10. NAPTR。 Naming Authority Pointer、URIとして使用することができるドメイン名の正規表現ベースの書き換え、ルックアップのためのさらなるドメイン名などを許可します。

リソースを一覧表示する

リソースを一覧表示する

リクエスト例:

curl  -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources

GET /farms/<farmname>/zones/<id>/resources

ゾーン内のリソースのリストを取得します。 id ゾーンの一意の識別子です。

応答例:

{
   "description" : "List zone resources",
   "params" : [
      {
         "id" : 0,
         "rdata" : "ns3",
         "rname" : "@",
         "ttl" : null,
         "type" : "NS"
      },
      {
         "id" : 1,
         "rdata" : "192.168.100.155",
         "rname" : "ns3",
         "ttl" : null,
         "type" : "A"
      },
      {
         "id" : 2,
         "rdata" : "192.168.0.9",
         "rname" : "resource2",
         "ttl" : 10,
         "type" : "A"
      },
      {
         "id" : 3,
         "rdata" : "resource2",
         "rname" : "ns2",
         "ttl" : null,
         "type" : "NS"
      }
   ]
}

応答パラメータ

この呼び出しは、以下のパラメータを持つリソースオブジェクト配列を返します。

フィールド 種類 説明
id ゾーン内のリソースの一意の識別子。
rname 文字列 リソース名は、DNSサービスがフィールド内の実際の必須データに変換するニックネームです。 データ.
TTL 現在の名前がキャッシュされる期間を決定するために必要な、現在のレコードの存続時間(オプション)値。
type 文字列 DNSレコードタイプ オプションは以下のとおりです。 NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR) 詳細については、を見てください。 GSLB - ゾーン - リソース のセクションから無料でダウンロードできます。
データ 文字列 これはレコードタイプに必要な実際のデータです。入力値はリソース名の種類によって異なります。 rname リソースタイプ type.

新しいリソースを作成する

新しいリソースを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"rname":"resource2", "rdata":"192.168.0.9", "ttl":10, "type":"A" }' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources

POST /farms/<farmname>/zones/<id>/resources

GSLBファーム内の特定のゾーンに新しいリソースを作成します。 id リソースが追加される場所で変更されるゾーンの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
rname 文字列 リソース名は、DNSサービスがフィールド内の実際の必須データに変換するニックネームです。 データ. true
TTL 現在のレコードの存続時間の値。 これは、リクエストが通過することができるルータデバイスの最大数です。 その便利なのは、パケットがネットループに入らないことです。
type 文字列 DNSレコードタイプ オプションは以下のとおりです。 NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR) 詳細については、を見てください。 GSLB - ゾーン - リソース のセクションから無料でダウンロードできます。 true
データ 文字列 これはレコードタイプに必要な実際のデータです。入力値はリソース名の種類によって異なります。 rname リソースタイプ type。 場合 DYNA で選択されています type その場合、rdata値は、設定されている値の1つでなければなりません。 サービス このゾーンで。 true

応答例:

{
   "description" : "New zone resource",
   "message" : "Resource added",
   "params" : {
      "rdata" : "192.168.0.9",
      "rname" : "resource2",
      "ttl" : 10,
      "type" : "A",
      "zone" : "global.com"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

リソースを変更する

リソースを変更する

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"rname":"resource2", "rdata":"192.168.200.30","ttl":null, "type":"A" }' 
  https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources/1

PUT /farms/<farmname>/zones/<id>/resources/<id>

GSLBファームのゾーン内のリソースのパラメータを変更します。

id ゾーンの一意の識別子です。 id リソースの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
rname 文字列 リソース名は、DNSサービスがフィールド内の実際の必須データに変換するニックネームです。 データ.
TTL 現在の名前がキャッシュされる期間を決定するために必要な、現在のレコードの存続時間(オプション)値。
type 文字列 DNSレコードタイプ オプションは以下のとおりです。 NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR) 詳細については、を見てください。 GSLB - ゾーン - リソース のセクションから無料でダウンロードできます。
データ 文字列 これはレコードタイプに必要な実際のデータです。入力値はリソース名の種類によって異なります。 rname リソースタイプ type。 場合 type 値がロードされます DYNA その後 データ 利用可能でロードする必要があります サービス

応答例:

{
   "description" : "Modify zone resource",
   "message" : "Resource modified",
   "params" : {
      "rdata" : "192.168.200.30",
      "rname" : "resource2",
      "ttl" : null,
      "type" : "A"
   },
   "success" : "true"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

リソースを削除する

リソースを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources/3

DELETE /farms/<farmname>/zones/<id>/resources/<id>

GSLB農場のゾーンにある特定のリソースを削除する

に注意してください DELETE 最初の上のURI id ゾーンの一意の識別子です。 id リソースの一意の識別子です。

応答例:

{
   "description" : "Delete zone resource",
   "message" : "Resource removed",
   "success" : "true"
}

データリンクファーム

データリンクファームプロファイルを使用すると、バックエンドがアップリンクルータまたはゲートウェイであるルートベースのファームを作成できます。 この種のファームプロファイルは、アップリンクチャネルマルチプレクサ(1入力と複数のルータ回線出力)としてロードバランサを使用して、複数のアップリンクWANルータアクセスを共有する準備ができています。 それ故、データリンクファームは、高利用可能通信リンクとして使用することができ、さらにルータ間の帯域幅の量に加わる帯域幅の増加としてリンクを使用することができる。

名前で農場を検索する

名前で農場を検索する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/dlink

GET /farms/<farmname>

ファームに関するすべての構成を表示します。

応答例:

{
   "backends" : [
      {
         "id" : 0,
         "interface" : "eth0",
         "ip" : "192.168.100.10",
         "priority" : 2,
         "status" : "undefined",
         "weight" : 2
      },
      {
         "id" : 1,
         "interface" : "eth0",
         "ip" : "192.168.100.11",
         "priority" : 2,
         "status" : "undefined",
         "weight" : 1
      }
   ],
   "description" : "List farm dlink",
   "params" : {
      "algorithm" : "weight",
      "status" : "down",
      "vip" : "192.168.100.199"
   }
}

応答パラメータ

応答は以下の形式のJSONオブジェクトになります。

農場オブジェクト:

フィールド 種類 説明
paramsは オブジェクト ファーム構成のパラメータ。
バックエンド オブジェクト[] このファームで作成された実サーバーとその構成。

データリンクファームのパラメータオブジェクト:

フィールド 種類 説明
アルゴリズム 文字列 ファームで使用されている負荷分散アルゴリズムの種類。 オプションは以下のとおりです。 重量より高いウェイトを持つより多くのチャージバックエンドが与えられた場合、バランサはすべての利用可能なバックエンドの間で分配します。 プリオこれは、すべての接続をマイナー値でバックエンドに送信します。 優先順位.
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドに到達できません。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 up、農場は稼働しており、すべてのバックエンドは成功しています。
VIP 文字列 仮想サービスが待機しているファームのIP。

データリンクファームのバックエンドオブジェクト:

フィールド 種類 説明
id ファーム内のバックエンドの一意の識別子。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
インタフェース 文字列 バックエンドが接続されているローカルネットワークインターフェースです。
優先順位 これは現在の実サーバーの優先順位の値です。 それはいつ使用されます アルゴリズム 優先順位が低く優先順位が低いため、このフィールドは構成です。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 未定義バックエンドのステータスはチェックされていません。
重量 これは、現在の実サーバーの重み値です。 次の場合に使用されます アルゴリズム フィールドはウェイトとして設定です。

新しい農場を作る

新しい農場を作る

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"farmname":"dlink", "vip":"192.168.100.241", "profile":"datalink" }' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms

POST /farms

新しいデータリンクファームを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
農場名 文字列 ファーム名、一意の識別子 true
プロフィール 文字列 作成したファームのプロフィール。 データリンクファームの場合 データリンク true
VIP 文字列 仮想サービスが待機しているファームのIP。 true

応答例:

{
   "description" : "Creating farm 'dlink'",
   "params" : {
      "farmname" : "dlink",
      "interface" : "eth0",
      "profile" : "datalink",
      "vip" : "192.168.100.241"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

農場を変更する

農場を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"newfarmname":"dlink2", "vip":"192.168.100.199","algorithm":"weight"}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink

PUT /farms/<farmname>

データリンクファームの構成を変更します。

リクエストパラメータ

フィールド 種類 説明
newfarmname 文字列 新しい農場の名前 農場は止めなければなりません。
アルゴリズム 文字列 ファームで使用されている負荷分散アルゴリズムの種類。 オプションは以下のとおりです。 重量より高いウェイトを持つより多くのチャージバックエンドが与えられた場合、バランサはすべての利用可能なバックエンドの間で分配します。 プリオこれは、すべての接続をマイナー値でバックエンドに送信します。 優先順位.
VIP 文字列 仮想サービスが待機しているファームのIP。

応答例:

{
   "description" : "Modify farm dlink",
   "params" : {
      "algorithm" : "weight",
      "vip" : "192.168.100.199",
      "newfarmname" : "dlink2"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

データリンク - バックエンド

データリンクファームのバックエンドは、サービスをルーティングするためのゲートウェイです。 サービスはこのゲートウェイ間で多重化され、そのうちのいくつかは利用できません、サービスは他を使用します。

バックエンドを一覧表示する

バックエンドを一覧表示する

リクエスト例:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink/backends

GET /farms/<farmname>/backends

サービス内のバックエンドのリストを取得します。

応答例:

[
   {
      "id" : 6,
      "interface" : "eth0",
      "ip" : "192.168.100.10",
      "priority" : 2,
      "status" : "undefined",
      "weight" : 2
   },
   {
      "id" : 7,
      "interface" : "eth0",
      "ip" : "192.168.100.11",
      "priority" : 2,
      "status" : "undefined",
      "weight" : 1
   }
]

応答パラメータ

この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。

フィールド 種類 説明
id ファーム内のバックエンドの一意の識別子。 この識別子はシステムによって生成されます。
インタフェース 文字列 バックエンドが接続されているローカルネットワークインターフェースです。
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
優先順位 これは現在のバックエンドの優先順位の値です。 それはいつ使用されます アルゴリズム 優先順位が低く優先順位が低いため、このフィールドは構成です。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 未定義バックエンドのステータスはチェックされていません。
重量 これは、現在のバックエンドの重み値です。 次の場合に使用されます アルゴリズム フィールドはウェイトとして設定です。

新しいバックエンドを作成する

新しいバックエンドを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.10","interface":"eth0","priority":2,"weight":2}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink/backends

POST /farms/<farmname>/backends

特定のデータリンクファームに新しいバックエンドを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。 true
インタフェース 文字列 バックエンドが接続されているローカルネットワークインターフェースです。 true
優先順位 これは現在の実サーバーの優先順位の値です。 アルゴリズム 優先順位が低く優先順位が低いため、このフィールドは構成です。 デフォルト値は1です。
重量 これは、現在のバックエンドの重み値です。 次の場合に使用されます アルゴリズム フィールドはウェイトとして設定です。 デフォルト値は1です。

応答例:

{
   "description" : "New farm backend",
   "message" : "Backend added",
   "params" : {
      "id" : 6,
      "interface" : "eth0",
      "ip" : "192.168.100.10",
      "priority" : 2,
      "weight" : 2
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

バックエンドを修正する

バックエンドを修正する

リクエスト例:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.102.50","interface":"eth0", "weight":1,"timeout":1}' 
  https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/datalink/backends/2

PUT /farms/<farmname>/backends/<id>

データリンクファームのサービスでバックエンドのパラメータを変更します。 id バックエンドの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 実際のサービスがリッスンしているバックエンドのIP。
インタフェース 文字列 バックエンドが接続されているローカルネットワークインターフェースです。
優先順位 これは現在の実サーバーの優先順位の値です。 アルゴリズム 優先順位が低く優先順位が低いため、このフィールドは構成です。 デフォルト値は1です。
重量 これは、現在のバックエンドの重み値です。

応答例:

{
   "description" : "Modify backend",
   "message" : "Backend modified",
   "params" : {
      "interface" : "eth0",
      "ip" : "192.168.102.50",
      "timeout" : 1,
      "weight" : 1
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

バックエンドを削除する

バックエンドを削除する

リクエスト例:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink/backends/4

DELETE /farms/<farmname>/backends/<id>

データリンクファームのサービス内の特定のバックエンドを削除します。 id バックエンドの一意の識別子です。

応答例:

{
   "description" : "Delete backend",
   "message" : "Backend removed",
   "success" : "true"
}

ネットワーク

Zevenetはさまざまな種類のネットワークインターフェースで動作します。

このセクションでは、NIC、VLAN、仮想、およびボンディングインターフェースでアクションを一覧表示、作成、設定、削除、および設定できます。

NIC:またはネットワークインターフェースカード、これはコンピュータハードウェアコンポーネントであり、この種のインターフェースはZevenetで定義および管理できる次の種類のインターフェースの基盤となります。

VLAN仮想LANカードは、ネットワークセグメンテーションサービスを提供する種類またはネットワークインタフェースです。 nicインタフェースを介して複数のvlanを作成できます。

ボンディング:他のベンダによってトランクインタフェースとも呼ばれていますが、この種のNICは複数のNICインタフェースで作成することができます。 Zevenetは7の異なるタイプのボンディングインターフェースをサポートします。

バーチャル:この種のインタフェースは、上で説明したどの種類のインタフェース上でも作成できます。 この種のインターフェイスはファームに使用する必要があり、仮想インターフェイスは親と同じサブネットに定義されている必要があります。

すべてのインターフェースを一覧表示する

すべてのインターフェースを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic

GET /interfaces

システム内のインターフェースとその構成のリストを入手してください。

応答例:

{
   "description" : "List interfaces",
   "interfaces" : [
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "name" : "bond2",
         "netmask" : "",
         "status" : "down",
         "type" : "bond"
      },
      {
         "gateway" : "192.168.100.1",
         "ip" : "192.168.100.121",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "bondiface",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "bond"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.241",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "false"
      },
      {
         "gateway" : "192.168.120.1",
         "ip" : "192.168.120.120",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0.1",
         "netmask" : "255.255.255.0",
         "status" : "down",
         "type" : "vlan"
      },
      {
         "gateway" : "",
         "ip" : "192.168.100.155",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virt",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "virtual"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.41",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virtiface",
         "netmask" : "255.255.255.0",
         "status" : "down",
         "type" : "virtual"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.102",
         "mac" : "62:30:43:36:29:ac",
         "name" : "eth1",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "false"
      },
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "name" : "eth2",
         "netmask" : "",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "true"
      },
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "eth3",
         "netmask" : "",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "true"
      }
   ]
}

応答パラメータ

応答は、インターフェースオブジェクト配列を持つJSONオブジェクトになります。

インタフェースオブジェクト

フィールド 種類 説明
ip 文字列 インターフェイスのIP IPは仮想インタフェースの親インタフェースと同じネットワークセグメントになければなりません。
ネットマスク 文字列 インターフェイスのネットマスク。 この値は仮想インタフェースでは変更できませんでした。親インタフェースから継承されます。
ゲートウェイ 文字列 インタフェースのゲートウェイ この値は仮想インタフェースでは変更できませんでした。親インタフェースから継承されます。
MAC 文字列 インターフェイスのMAC この値は、ボンディングインターフェイスの最初のNICスレーブから継承されます。 仮想インターフェイスとVLANインターフェイスでは、親インターフェイスから継承されます。
文字列 インターフェイスの名前。 一意の識別子として使用されます。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。
type 文字列 異なる種類のインタフェースは次のとおりです。 NIC, VLAN, バーチャル or 債券.
is_slave 文字列 NICインタフェースでのみ利用可能 trueインターフェイスはボンディングインターフェイスの一部です。 false インターフェースは、ボンディングインターフェースの一部ではありません。

デフォルトゲートウェイを取得する

デフォルトゲートウェイを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/interfaces/gateway

GET /interfaces/gateway

デフォルトゲートウェイは、ロードバランサのどのインタフェースからもローカルに到達できないすべての宛先トラフィックを送信するノードです。

デフォルトゲートウェイインタフェースのパラメータを取得します。

応答例:

{
   "description" : "Default gateway",
   "params" : {
      "address" : "192.168.100.5",
      "interface" : "eth0"
   }
}

応答パラメータ

フィールド 種類 説明
住所 文字列 ゲートウェイのIPです。
インタフェース 文字列 ゲートウェイのインターフェイス名

デフォルトゲートウェイを変更する

デフォルトゲートウェイを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"interface":"eth0","address":"192.168.100.5"}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces

PUT /interfaces/gateway

ゲートウェイインターフェイスの設定を変更します。

応答例:

{
   "description" : "Modify default gateway",
   "message" : "The default gateway has been changed successfully",
   "success" : "true"
}

リクエストパラメータ

フィールド 種類 説明
住所 文字列 ゲートウェイのIPです。
インタフェース 文字列 ゲートウェイのインターフェイス名

ゲートウェイ構成を削除する

DELETE /interfaces/gateway

デフォルトゲートウェイ設定の設定を削除します。

警告:ゲートウェイが設定解除されている場合、Zevenetは外部ネットワークセグメントから到達可能にはなりません

ゲートウェイ構成を削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/gateway

応答メッセージ

ゲートウェイが同じネットワークセグメントから構成解除されている場合、このメッセージが表示されます。それ以外の場合、接続は失われます。

応答例:

{
   "description" : "Remove default gateway",
   "message" : "The default gateway has been deleted successfully",
   "params" : {
      "address" : null,
      "interface" : null
   }
}

ネットワーク - NICインターフェース

NICインターフェースは、Zevenetロードバランサーに接続されている物理インターフェースです。

新しいインタフェースが接続されると、システムは自動的にそれらを認識します。

親としてNICインターフェースを使用して、異なる特性を持つ他のタイプのインターフェースを作成できます。 利用可能なインタフェースは次のとおりです。 VLAN,バーチャル and ボンディング.

NICインタフェースの一覧表示

GET /interfaces/nic

NICインターフェースのすべてのパラメーターを入手してください。

NICインタフェースの一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic

応答例:

{
   "description" : "List NIC interfaces",
   "interfaces" : [
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.241",
         "is_slave" : "false",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0",
         "netmask" : "255.255.255.0",
         "status" : "up"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.102",
         "is_slave" : "false",
         "mac" : "62:30:43:36:29:ac",
         "name" : "eth1",
         "netmask" : "255.255.255.0",
         "status" : "up"
      },
      {
         "gateway" : "",
         "ip" : "",
         "is_slave" : "false",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "eth3",
         "netmask" : "",
         "status" : "down"
      }
   ]
}

応答パラメータ

応答は、NICインターフェースオブジェクトの配列を持つJSONオブジェクトになります。

NICインタフェースオブジェクト

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 パケットを別のネットワークセグメントに送信するために使用されるIP。
MAC 文字列 リンク層の一意の識別子。 それは修正不可能です。
文字列 インターフェイスの名前。 インターフェイスの一意の識別子として使用されます。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。
is_slave 文字列 true インターフェースはボンディングインターフェースの一部です。 false インターフェースは、ボンディングインターフェースの一部ではありません。

NICインターフェースを取得する

NICインターフェースを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth1

GET /interfaces/nic/<name>

NICインターフェースのすべてのパラメーターを入手してください。 インターフェースの固有IDです。

応答例:

{
   "description" : "Show NIC interface",
   "interface" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.102",
      "is_slave" : "false",
      "mac" : "62:30:43:36:29:ac",
      "name" : "eth1",
      "netmask" : "255.255.255.0",
      "status" : "up"
   }
}

応答パラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 パケットを別のネットワークセグメントに送信するために使用されるIP。
MAC 文字列 リンク層の一意の識別子。 それは修正不可能です。
文字列 インターフェイスの名前。 インターフェイスの一意の識別子として使用されます。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。
type 文字列 異なる種類のインタフェースは次のとおりです。 NIC, VLAN, バーチャル or 債券。 それぞれがネットワークサブメニューで定義されています。
is_slave 文字列 true インターフェースはボンディングインターフェースの一部です。 false インターフェースは、ボンディングインターフェースの一部ではありません。

NICインターフェースを変更する

NICインターフェースを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.102","netmask":"255.255.255.0","gateway":"192.168.100.5"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth1

PUT /interfaces/nic/<name>

NICインターフェースのパラメーターを変更します。 インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。

応答例:

{
   "description" : "Configure nic interface",
   "params" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.102",
      "netmask" : "255.255.255.0"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

NIC設定を削除する

NIC設定を削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth3

DELETE /interfaces/nic/<name>

NICインターフェースの設定を削除します。 この操作の後、インターフェースは役に立たなくなり、再度設定する準備が整います。 インターフェースの固有IDです。

応答例:

{
   "description" : "Delete nic interface",
   "message" : "The configuration for the network interface eth3 has been deleted.",
   "success" : "true"
}

NICインターフェース設定アクション

NICインターフェース設定アクション

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth1/actions

POST /interfaces/nic/<name>/actions

NICインターフェースにアクションを適用します。 この呼び出しはネットワークインターフェースを有効または無効にします。

インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 upインターフェイスを有効にして使用できるように準備します。 ダウンパケットを送受信しないようにインターフェイスを無効にします。 true

応答例:

{
   "description" : "Action on nic interface",
   "params" : {
      "action" : "up"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ネットワーク - ボンディングインターフェース

Linuxボンディングインターフェース、またはTrunkとして別のベンダーから呼ばれているものは、複数のネットワークインターフェースを単一の論理的な「ボンディングされた」インターフェースに集約するための方法を提供します。 結合インターフェースの動作はモードによって異なります。ZevenetLoad Balancerは次のメソッドをサポートしています。

ラウンドロビンポリシー:利用可能な最初のスレーブから最後のパケットまで順番にパケットを送信します。 このモードは負荷分散とフォールトトレランスを提供します。

アクティブバックアップポリシー:結合内の1つのスレーブのみがアクティブです。 アクティブなスレーブが失敗した場合に限り、別のスレーブがアクティブになります。 スイッチの混乱を避けるために、ボンドのMACアドレスは1つのポート(ネットワークアダプタ)でのみ外部から見えます。 このモードはフォールトトレランスを提供します。 主なオプションはこのモードの動作に影響します。

XORポリシー:送信元MACアドレスと送信先MACアドレスとのXORをとって送信します。 これにより、各宛先MACアドレスに同じスレーブが選択されます。 このモードは負荷分散とフォールトトレランスを提供します。

放送ポリシー:すべてのスレーブインタフェース上のすべてのものを送信します。 このモードはフォールトトレランスを提供します。

IEEE 802.3ad LACP:同じ速度と二重設定を共有するアグリゲーショングループを作成します。 802.3ad仕様に従って、アクティブアグリゲーター内のすべてのスレーブを利用します。

前提条件:

  1. 各スレーブの速度とデュプレックスを取得するためのベースドライバでのネットワークインタフェースのサポート。

  2. IEEE 802.3adダイナミックリンクアグリゲーションをサポートするスイッチ。 ほとんどのスイッチは、802.3adモードを有効にするためにある種の設定を必要とします。

適応送信ロードバランシング:特別なスイッチサポートを必要としないチャネルボンディング。 発信トラフィックは、各スレーブの現在の負荷(速度に対して計算されたもの)に従って分配されます。 着信トラフィックは現在のスレーブによって受信されます。 受信側スレーブに障害が発生した場合、別のスレーブが障害のある受信側スレーブのMACアドレスを引き継ぎます。

前提条件:

各スレーブの速度を取得するためのベースドライバのサポート。

適応型ロードバランシング:IPV4トラフィック用のアダプティブ送信ロードバランシングと受信ロードバランシングを含み、特別なスイッチサポートを必要としません。 受信ロードバランシングはARPネゴシエーションによって実現されます。 ボンディングドライバは、ローカルシステムから送信されたARP応答を途中で傍受して、ボンディング内の1つのスレーブの一意のハードウェアアドレスで送信元ハードウェアアドレスを上書きし、異なるピアがサーバーに異なるハードウェアアドレスを使用するようにします。

ボンディングインターフェースの一覧表示

ボンディングインターフェースの一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding

GET /interfaces/bonding

システム内のすべてのボンディングインターフェースに関する設定を取得します。

応答例:

{
   "description" : "List bonding interfaces",
   "interfaces" : [
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "mode" : "broadcast",
         "name" : "bond2",
         "netmask" : "",
         "slaves" : [
            {
               "name" : "eth2"
            }
         ],
         "status" : "down"
      },
      {
         "gateway" : "192.168.100.1",
         "ip" : "192.168.100.121",
         "mac" : "a2:6d:80:29:87:c6",
         "mode" : "balance-rr",
         "name" : "bondiface",
         "netmask" : "255.255.255.0",
         "slaves" : [
            {
               "name" : "eth3"
            },
            {
               "name" : "eth4"
            }
         ],
         "status" : "up"
      }
   ]
}

応答パラメータ

応答は、ボンディングインターフェースオブジェクト配列を持つJSONオブジェクトになります。

結合パラメータは次のとおりです。

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。
MAC 文字列 リンク層の一意の識別子。 それは MAC 最初のNICインタフェーススレーブの。
文字列 インターフェイスの名前。 インターフェイスの一意の識別子として使用されます。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。
奴隷 オブジェクト[] ボンディングインターフェースのNICインターフェースメンバー。
モード 文字列 これはボンディングインターフェースの作業モードです。 オプションは以下のとおりです。 残高ラウンドロビンポリシー。 アクティブバックアップ、アクティブバックアップポリシー。 バランスxorXORポリシー 放送放送ポリシー。 802.3ad、IEEE XNUMXad LACP; balance-tlb適応送信負荷分散。 balance-alb、適応型ロードバランシング。 これらの値はsectionで定義されています ネットワーク - ボンディングインターフェース.

スレーブオブジェクト:

フィールド 種類 説明
文字列 お名前 NICスレーブのインタフェース固有の識別子です。

ボンディングインタフェースの取得

ボンディングインタフェースの取得

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface

GET /interfaces/bonding/<name>

インターフェースのすべてのパラメータを取得します。 インターフェースの固有IDです。

応答例:

{
   "description" : "Show bonding interface",
   "interface" : {
      "gateway" : "192.168.100.1",
      "ip" : "192.168.100.121",
      "mac" : "a2:6d:80:29:87:c6",
      "mode" : "balance-rr",
      "name" : "bondiface",
      "netmask" : "255.255.255.0",
      "slaves" : [
         {
            "name" : "eth3"
         },
         {
            "name" : "eth2"
         }
      ],
      "status" : "up"
   }
}

応答パラメータ

応答は、ボンディングインターフェースオブジェクトを含むJSONオブジェクトになります。

結合パラメータは次のとおりです。

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。
MAC 文字列 リンク層の一意の識別子。 それは MAC 最初のNICインタフェーススレーブの。
文字列 インターフェイスの名前。 インターフェイスの一意の識別子として使用されます。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。
奴隷 オブジェクト[] ボンディングインターフェースのNICインターフェースメンバー。
モード 文字列 これはボンディングインターフェースの作業モードです。 オプションは以下のとおりです。 残高ラウンドロビンポリシー。 アクティブバックアップ、アクティブバックアップポリシー。 バランスxorXORポリシー 放送放送ポリシー。 802.3ad、IEEE XNUMXad LACP; balance-tlb適応送信負荷分散。 balance-alb、適応型ロードバランシング。 それらの値はで定義されています。 ネットワーク>ボンディングインターフェース.

スレーブ オブジェクト:

フィールド 種類 説明
文字列 お名前 NICスレーブのインタフェース固有の識別子です。

ボンディングインターフェースを作成

ボンディングインターフェースを作成

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"slaves":["eth3","eth2"],"name":"bondiface","mode":"balance-rr"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding

POST /interfaces/bonding

NICインターフェイスを結合するボンディングインターフェイスを作成します。

ボンディングMACアドレスは、最初のNICインタフェースから取得されます。 ボンディングインターフェイスを作成した後は、ボンディングモードを変更できませんが、必要に応じてメンバーインターフェイスをボンディングインターフェイスで追加または削除できます。 NICインターフェースがボンディングインターフェースの一部である場合、そのNICインターフェースはロックされます。

リクエストパラメータ

フィールド 種類 説明 必須
文字列 インターフェイスの名前。 インターフェイスの一意の識別子として使用されます。 true
奴隷 String [] 結合を構築するすべてのNICインターフェイス。 NICパラメータが必要です . true
モード 文字列 これはボンディングインターフェースの作業モードです。 オプションは以下のとおりです。 残高ラウンドロビンポリシー。 アクティブバックアップ、アクティブバックアップポリシー。 バランスxorXORポリシー 放送放送ポリシー。 802.3ad、IEEE XNUMXad LACP; balance-tlb適応送信負荷分散。 balance-alb、適応型ロードバランシング。 それらの値はで定義されています。 ネットワーク>ボンディングインターフェース. true

応答例:

{
   "description" : "Add a bond interface",
   "params" : {
      "mac" : "a2:6d:80:29:87:c6",
      "mode" : "balance-rr",
      "name" : "bondiface",
      "slaves" : [
         {
            "name" : "eth3"
         },
         {
            "name" : "eth2"
         }
      ],
      "status" : "down"
   }
}

応答パラメータ

応答は、結合構成パラメーターを持つJSONオブジェクトになります。

フィールド 種類 説明
MAC 文字列 リンク層の一意の識別子。 それは MAC 最初のNICインタフェーススレーブの。
文字列 インターフェイスの名前。 インターフェイスの一意の識別子として使用されます。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。
奴隷 オブジェクト[] ボンディングインターフェースを構築するNICインターフェース。
モード 文字列 これはボンディングインターフェースの作業モードです。 オプションは以下のとおりです。 残高ラウンドロビンポリシー。 アクティブバックアップ、アクティブバックアップポリシー。 バランスxorXORポリシー 放送放送ポリシー。 802.3ad、IEEE XNUMXad LACP; balance-tlb適応送信負荷分散。 balance-alb、適応型ロードバランシング。 それらの値はで定義されています。 ネットワーク>ボンディングインターフェース.

スレーブ オブジェクト:

フィールド 種類 説明
文字列 お名前 NICスレーブのインタフェース固有の識別子です。

ボンディングインターフェースの修正

ボンディングインターフェースの修正

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.121","netmask":"255.255.255.0","gateway":"192.168.100.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface

PUT /interfaces/bonding/<name>

ボンディングインターフェースのパラメータを変更します。 インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。

応答例:

{
   "description" : "Modify bond address",
   "params" : {
      "gateway" : "192.168.100.1",
      "ip" : "192.168.100.121",
      "netmask" : "255.255.255.0"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ボンディング設定を削除

ボンディング設定を削除

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface

DELETE /interfaces/bonding/<name>

ボンディングインターフェース設定を削除します。 設定パラメータは次のとおりです。 ゲートウェイ, ip and ネットマスク.

インターフェースの固有IDです。

応答例:

{
   "description" : "Delete bonding network configuration",
   "message" : "The configuration for the bonding interface bondiface has been deleted.",
   "success" : "true"
}

ボンディングインターフェース設定アクション

ボンディングインターフェース設定アクション

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"up"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface/actions

POST /interfaces/bonding/<name>/actions

ボンディングインターフェースにアクションを適用します。 この呼び出しは、ボンディングインターフェースを削除し、それを有効または無効にします。

以下を使用してボンディングインターフェースを削除する必要があります。 破壊する ボンディングで使用されているNICインターフェースのロックを解除したい場合の対処方法ボンディングドライバーは、メンバーインターフェースがボンディングインターフェースに追加される前に持っていたMACアドレスを復元します。

インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 up インターフェースを有効にして使用する準備をします。 ダウン パケットを送受信しないようにインターフェイスを無効にします。 破壊する ボンディングを削除し、NICスレーブインターフェイスを復元します。 true

応答例:

{
   "description" : "Action on bond interface",
   "params" : {
      "action" : "up"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ボンディングスレーブインターフェースを追加する

ボンディングスレーブインターフェースを追加する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"eth4"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface/slaves

POST /interfaces/bonding/<name>/slaves

NICインターフェースを既存のボンディングインターフェースにスレーブとして追加します。

インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明 必須
文字列 NICインターフェースの ボンディングインターフェースに追加します。 true

応答例:

{
   "description" : "Add a slave to a bond interface",
   "params" : {
      "mac" : "a2:6d:80:29:87:c6",
      "mode" : "balance-rr",
      "name" : "bondiface",
      "slaves" : [
         {
            "name" : "eth3"
         },
         {
            "name" : "eth2"
         },
         {
            "name" : "eth4"
         }
      ],
      "status" : "up"
   }
}

応答パラメータ

応答は更新された設定値を持つJSONになります。 詳しくは、応答例を参照してください。

ボンディングスレーブインターフェースを削除する

ボンディングスレーブインターフェースを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface/slaves/eth2

DELETE /interfaces/bonding/<name>/slaves/<name>

ボンディングインターフェースからNICスレーブインターフェースを削除します。 ボンディングインターフェイスには、ほぼ1つのNICスレーブインターフェイスが必要です。

DELETE callは結合名の一意の識別子です。 DELETE callは、NICのインターフェイス名の一意の識別子です。

応答例:

{
   "description" : "Remove bonding slave interface",
   "message" : "The bonding slave interface eth2 has been removed.",
   "success" : "true"
}

ネットワーク - VLANインタフェース

VLANインタフェースを使用すると、NICまたはボンディングインタフェースを別のネットワークで機能させることができます。 IP, ゲートウェイ and ネットマスク フィールドは親インターフェースとは異なる可能性があります。 VLANインターフェイスは、その親インターフェイスからMACアドレスを継承します。

VLANインターフェースフィールド VLANインターフェイスのIDタグを確立するために使用されるドット「。」文字で表示されます。

VLANインタフェースの一覧表示

VLANインタフェースの一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan

GET /interfaces/vlan

VLANインタフェースの全パラメータを取得します。

応答例:

{
   "description" : "List VLAN interfaces",
   "interfaces" : [
      {
         "gateway" : "192.168.120.1",
         "ip" : "192.168.120.120",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0.1",
         "netmask" : "255.255.255.0",
         "parent" : "eth0",
         "status" : "down"
      }
   ]
}

応答パラメータ

応答は、VLANインターフェースオブジェクト配列を持つJSONオブジェクトになります。

VLANパラメータは次のとおりです。

フィールド 種類 説明
ip 文字列 インターフェイスのIP それは親インタフェースIPとは異なる場合があります。
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。
MAC 文字列 インターフェイスのMAC この値は親インターフェースから継承されます。
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス名であるドット文字「。」でフォーマットされたチェーンです。 およびvlanネットワークインターフェイスまたはvlanタグの番号。
文字列 これを作成するために使用されるインタフェースです。
status 文字列 値は up インターフェイスはパケットを受信できます。 ダウン インターフェイスはパケットを受信できません。

VLANインタフェースを取得する

VLANインタフェースを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1

GET /interfaces/vlan/<name>

VLANインタフェースのすべてのパラメータを取得します。 インターフェースの固有IDです。

応答例:

{
   "description" : "Show VLAN interface",
   "interface" : {
      "gateway" : "192.168.131.1",
      "ip" : "192.168.131.155",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0.1",
      "netmask" : "255.255.255.0",
      "status" : "up"
   }
}

応答パラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。
MAC 文字列 インターフェイスのMAC この値は親インターフェースから継承されます。
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス名であるドット文字「。」でフォーマットされたチェーンです。 およびVLANネットワークインターフェイスの番号。
status 文字列 値は up インターフェイスはパケットを受信できます。 ダウン インターフェイスはパケットを受信できません。

VLANインタフェースを作成する

VLANインタフェースを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.120.120","netmask":"255.255.255.0","gateway":"192.168.120.1", "name":"eth0.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan

POST /interfaces/vlan

NICまたはボンディングインターフェースからVLANインターフェースを作成します。 次のネットワークパラメータは異なる必要がありますが、新しいVLANインタフェースはMACを共有します。 ipそして、以下が変わる可能性があります。 ゲートウェイ, ネットマスク.

リクエストパラメータ

フィールド 種類 説明 必須
ip 文字列 インターフェイスのIP これは、親インタフェースIPとは異なる必要があります。 true
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。 true
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。 true
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス名であるドット文字「。」でフォーマットされたチェーンです。 およびVLANネットワークインターフェイスの番号。 true

応答例:

{
   "description" : "Add a vlan interface",
   "params" : {
      "gateway" : "192.168.120.1",
      "ip" : "192.168.120.120",
      "mac" : null,
      "name" : "eth0.1",
      "netmask" : "255.255.255.0"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

VLANインタフェースを変更する

VLANインタフェースを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155","netmask":"255.255.255.0","gateway":"192.168.131.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1

PUT /interfaces/vlan/<name>

VLANインタフェースのパラメータを変更します。 インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP それは親インタフェースIPとは異なる場合があります。
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。

応答例:

{
   "description" : "Modify VLAN interface",
   "params" : {
      "gateway" : "192.168.131.1",
      "ip" : "192.168.131.155",
      "netmask" : "255.255.255.0"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

VLANインタフェースを削除

VLANインタフェースを削除

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1

DELETE /interfaces/vlan/<name>

VLANインタフェースを削除します。 インターフェースの固有IDです。

応答例:

{
   "description" : "Delete VLAN interface",
   "message" : "The VLAN interface eth0.1 has been deleted.",
   "success" : "true"
}

VLANインタフェース設定アクション

VLANインタフェース設定アクション

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1/actions

POST /interfaces/vlan/<name>/actions

VLANインターフェイスにアクションを適用します。 この呼び出しはネットワークインターフェースを有効または無効にします。

名前の一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 upインターフェイスを有効にして使用できるように準備します。 ダウンパケットを送受信しないようにインターフェイスを無効にします。 true

応答例:

{
   "description" : "Action on vlan interface",
   "params" : {
      "action" : "down"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ネットワーク - 仮想インタフェース

ネットワークインタフェースを使用すると、ユーザーは親と同じネットワークセグメントに別のネットワークインタフェースを持つことができるため、仮想インタフェースは常に親からネットワーク構成を継承します。 別のパラメータは ip。 仮想インターフェースは、NIC、ボンディング、またはVLANから作成できます。 新しい仮想インターフェースを作成すると、仮想インターフェースの識別を確立するために使用されるコロン「:」文字を含むフィールドが表示されます。

仮想インタフェースの一覧表示

仮想インタフェースの一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual

GET /interfaces/virtual

仮想インタフェースの全パラメータを取得します。

応答例:

{
   "description" : "List virtual interfaces",
   "interfaces" : [
      {
         "gateway" : "",
         "ip" : "192.168.100.155",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virt",
         "netmask" : "255.255.255.0",
         "parent" : "eth0",
         "status" : "up"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.41",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virtiface",
         "netmask" : "255.255.255.0",
         "parent" : "eth0",
         "status" : "down"
      }
   ]
}

応答パラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメントになければなりません。
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。 親インターフェースから継承します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。 親インターフェースから継承します。
MAC 文字列 インターフェイスのMAC 親インターフェースから継承します。
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス、コロン文字「:」、および仮想ネットワークインターフェイスの名前でフォーマットされたチェーンであり、英数字を使用できます。
文字列 これを作成するために使用されるインタフェースです。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。

仮想インターフェースを取得する

仮想インターフェースを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface

GET /interfaces/virtual/<name>

仮想インタフェースのすべてのパラメータを取得します。 インターフェースの固有IDです。

応答例:

{
   "description" : "Show virtual interface",
   "interface" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.41",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0:virtiface",
      "netmask" : "255.255.255.0",
      "status" : "down"
   }
}

応答パラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメントになければなりません。
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。 親インターフェースから継承します。
ゲートウェイ 文字列 異なるネットワークセグメントのパケットを送信するために使用されるIP。 親インターフェースから継承します。
MAC 文字列 インターフェイスのMAC 親インターフェースから継承します。
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス、コロン文字「:」、および仮想ネットワークインターフェイスの英数字文字列でフォーマットされたチェーンです。
文字列 これを作成するために使用されるインタフェースです。
status 文字列 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。

仮想インタフェースを作成する

仮想インタフェースを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.41", "name":"eth0:virtiface"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual

POST /interfaces/virtual

仮想インタフェースを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
ip 文字列 インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメントになければなりません。 true
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス、コロン文字「:」、および仮想ネットワークインターフェイスの英数字文字列でフォーマットされたチェーンです。 true

応答例:

{
   "description" : "Add a virtual interface",
   "params" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.41",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0:virtiface",
      "netmask" : "255.255.255.0"
   }
}

応答パラメータ

応答はインターフェース構成を持つJSONになります。 詳しくは、応答例を参照してください。

フィールド 種類 説明
ip 文字列 インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメントになければなりません。
ネットマスク 文字列 インターフェイスが機能しているネットワークセグメントを定義します。 親インターフェースから継承します。
ゲートウェイ 文字列 パケットを別のネットワークセグメントに送信するために使用されるIP。 親インターフェースから継承します。
MAC 文字列 インターフェイスのMAC 親インターフェースから継承します。
文字列 インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス、コロン文字「:」、および仮想ネットワークインターフェイスのアルファ数値文字列でフォーマットされたチェーンです。

仮想インタフェースを変更する

仮想インタフェースを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface

PUT /interfaces/virtual/<name>

仮想インタフェースのパラメータを変更します。 インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメントになければなりません。

応答例:

{
   "description" : "Modify virtual interface",
   "params" : {
      "ip" : "192.168.100.10"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

仮想インタフェースを削除

仮想インタフェースを削除

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface

DELETE /interfaces/virtual/<name>

仮想インタフェースを削除します。 インターフェースの固有IDです。

応答例:

{
   "description" : "Delete virtual interface",
   "message" : "The virtual interface eth0:virtiface has been deleted.",
   "success" : "true"
}

仮想インタフェースアクションの設定

仮想インタフェースアクションの設定

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface/actions

POST /interfaces/virtual/<name>/actions

仮想インターフェースにアクションを適用します。 この呼び出しはネットワークインターフェースを有効または無効にします。

インターフェースの固有IDです。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 upインターフェイスを有効にして使用できるように準備します。 ダウンパケットを送受信しないようにインターフェイスを無効にします。 true

応答例:

{
   "description" : "Action on virtual interface",
   "params" : {
      "action" : "down"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ネットワーク - フローティングインタフェース

この種のインタフェースは、定義済みの仮想インタフェースを使用して、送信トラフィックを隠します。 NIC, ボンディング or VLAN 子供とのインターフェース バーチャル インタフェース。 クラスターが構成されている場合、このインターフェースはl4xnatプロファイルのステートフルフェールオーバー動作に使用されます。

フローティングインタフェースの一覧表示

フローティングインタフェースの一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating

GET /interfaces/floating

フローティングIPが作成されたすべての利用可能なものまたは設定されたインタフェースを表示します。

応答例:

{
   "description" : "List floating interfaces",
   "params" : [
      {
         "floating_ip" : null,
         "interface" : "bondiface",
         "interface_virtual" : null
      },
      {
         "floating_ip" : "192.168.100.41",
         "interface" : "eth0",
         "interface_virtual" : "eth0:virtiface"
      },
      {
         "floating_ip" : null,
         "interface" : "eth0.1",
         "interface_virtual" : null
      },
      {
         "floating_ip" : null,
         "interface" : "eth1",
         "interface_virtual" : null
      }
   ]
}

応答パラメータ

応答は、浮動インターフェースオブジェクト配列を持つJSONオブジェクトになります。

フローティング オブジェクト:

フィールド 種類 説明
floating_ip 文字列 で使用されているフローティングIP インタフェース. floating_ip 仮想インターフェースの子として存在する必要があります。 インタフェース.
インタフェース 文字列 フローティングIPによってマスクされたインターフェイス。
interface_virtual 文字列 インターフェースをマスクするために使用されるフローティングIPの仮想インターフェース名です。

フローティングインタフェースの取得

フローティングインタフェースの取得

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating/eth0

GET /interfaces/floating/<name>

インターフェイスにフローティングIPが設定されているかどうかを示します。 設定されているものがあれば、ここに表示されます。

タイプnic、bonding、またはvlanにすることができるインターフェース固有IDです。

応答例:

{
   "description" : "Show floating interface",
   "params" : {
      "floating_ip" : "192.168.100.41",
      "interface" : "eth0",
      "interface_virtual" : "eth0:virtiface"
   }
}

応答パラメータ

フィールド 種類 説明
floating_ip 文字列 で使用されているフローティングIP インタフェース. floating_ip 仮想インターフェースの子として存在する必要があります。 インタフェース.
インタフェース 文字列 フローティングIPによってマスクされたインターフェイス。
interface_virtual 文字列 インターフェースをマスクするために使用されるフローティングIPの仮想インターフェース名です。

フローティングインターフェースの変更

フローティングインターフェースの変更

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"floating_ip":"192.168.100.199"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating/eth0

PUT /interfaces/floating/<name>

NIC、ボンディング、またはVLANインタフェースにフローティングIPを設定します。

タイプnic、bonding、またはvlanにすることができるインターフェース固有IDです。

リクエストパラメータ

フィールド 種類 説明 必須
floating_ip 文字列 で使用されているフローティングIP インタフェース. floating_ip 仮想インターフェースの子として存在する必要があります。 インタフェース. true

応答例:

{
   "description" : "Modify floating interface",
   "message" : "Floating interface modification done",
   "success" : "true"
}

フローティング設定を削除

フローティング設定を削除

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating/eth0

DELETE /interfaces/floating/<name>

インターフェイスからフローティングIP設定を削除します。

タイプnic、bonding、またはvlanにすることができるインターフェース固有IDです。

応答例:

{
   "description" : "Remove floating interface",
   "message" : "The floating interface has been removed.",
   "success" : "true"
}

モニタリング - 統計

システムと農場に関する情報を表示します。 この情報はZevenetロードバランサーのステータスを監視するのに役立ちます。

システム統計を表示する

システム統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats

GET /stats

グローバルシステム統計を取得します。

応答例:

{
   "description" : "System stats",
   "params" : {
      "cpu" : {
         "cores" : 2,
         "idle" : 94.42,
         "iowait" : 0,
         "irq" : 0,
         "nice" : 0,
         "softirq" : 0,
         "sys" : 2.54,
         "usage" : 5.58,
         "user" : 3.05
      },
      "date" : "Fri Jan 27 11:40:32 2017",
      "hostname" : "api3",
      "load" : {
         "Last_1" : 1.17,
         "Last_15" : 0.36,
         "Last_5" : 0.6
      },
      "memory" : {
         "Buffers" : 21.68,
         "Cached" : 147.95,
         "MemFree" : 348.06,
         "MemTotal" : 2005.01,
         "MemUsed" : 1656.95,
         "SwapCached" : 2.67,
         "SwapFree" : 614.38,
         "SwapTotal" : 672,
         "SwapUsed" : 57.62
      },
      "network" : {
         "bond0 in in" : 234.72,
         "bond0 out out" : 0,
         "bond0.10 in in" : 0,
         "bond0.10 out out" : 0,
         "bond1 in in" : 234.72,
         "bond1 out out" : 0,
         "bond3 in in" : 815.69,
         "bond3 out out" : 4300.38,
         "eth0 in in" : 2702.29,
         "eth0 out out" : 50701.95,
         "eth0.2 in in" : 0,
         "eth0.2 out out" : 0,
         "eth1 in in" : 234.72,
         "eth1 out out" : 0,
         "eth2 in in" : 234.72,
         "eth2 out out" : 0,
         "eth3 in in" : 0,
         "eth3 out out" : 0,
         "eth4 in in" : 436.89,
         "eth4 out out" : 4300.38,
         "eth4.6 in in" : 0,
         "eth4.6 out out" : 0,
         "eth5 in in" : 301.39,
         "eth5 out out" : 0,
         "eth5.5 in in" : 0,
         "eth5.5 out out" : 0,
         "eth6 in in" : 77.42,
         "eth6 out out" : 0
      }
   }
}

応答パラメータ

フィールド 種類 説明
CPU オブジェクト CPU統計
date 文字列 システム日付
hostname 文字列 ホストの名前。
負荷 オブジェクト コアロード統計
メモリ オブジェクト 使用メモリ統計
ネットワーク オブジェクト ネットワークトラフィック統計

CPUオブジェクト:

フィールド 種類 説明
プロセッサ内のコア数
アイドル CPUはどのプログラムでも使用していません。
アイオワット 入力または出力プロセスで使用されるCPU。
irq ハードウェア割り込みによって使用されたCPU。
nice CPUスケジューリング優先順位
やわらかい ソフトウェア割り込みで使用されるCPU。
SYS システムが使用しているCPU
使用 使用された合計CPU
user ユーザーが使用したCPU。

オブジェクトをロード:

フィールド 種類 説明
Last_1 システム負荷率の最後の分。
Last_5 5分前にシステムの割合をロードする。
Last_15 システムの割合を15分前にロードする。

メモリオブジェクト.

フィールド 種類 説明
バッファー バッファが使用しているメモリです。 この量はMbで示されています。
キャッシュされた これはシステムによってキャッシュされた合計メモリーです。 この量はMbで示されています。
MemFree システムによってキャッシュされていない空きメモリの合計です。 この量はMbで示されています。
MemTotal これはシステム上のRAMの総容量です。 この量はMbで示されています。
MemUsed それはシステムによって使用されるメモリです。 この量はMbで示されています。
SwapCached それは予約された合計キャッシュメモリです。
スワップフリー システムによってキャッシュされていない空きメモリの合計です。 この量はMbで示されています。
スワップ合計 これは予約されている合計スワップメモリ​​です。
入れ替え これはシステムによって使用されるスワップメモリ​​です。最適なシステムでは0であるべきです。

ネットワークオブジェクト:

フィールド 種類 説明
これに対する入力トラフィック インタフェース.
アウトアウト このための出力トラフィック インタフェース.

ネットワーク統計を表示する

ネットワーク統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/network

GET /stats/system/network

ネットワークインターフェースを介して総入出力トラフィックの要約を取得します。

応答例:

{
   "description" : "Network interfaces usage",
   "params" : {
      "date" : "Fri Jan 27 11:58:05 2017",
      "hostname" : "api3",
      "interfaces" : [
         {
            "in" : "234.72",
            "interface" : "bond1",
            "out" : "0.00"
         },
         {
            "in" : "77.42",
            "interface" : "eth6",
            "out" : "0.00"
         },
         {
            "in" : "2703.88",
            "interface" : "eth0",
            "out" : "50917.65"
         },
         {
            "in" : "815.69",
            "interface" : "bond2",
            "out" : "4300.38"
        }
      ]
   }
}

応答パラメータ

応答はキーを持つJSONになります paramsは その値は、次のキーを持つオブジェクトです。

フィールド 種類 説明
date 文字列 システム日付
hostname 文字列 ホストの名前。
インターフェース オブジェクト[] ネットワークトラフィック統計

インタフェースオブジェクト

フィールド 種類 説明
in 文字列 合計入力トラフィック(MB)
インタフェース 文字列 インターフェイス名
でる 文字列 合計出力トラフィック(MB)

インターフェース統計を表示する

インターフェース統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/network/interfaces

GET /stats/system/network/interfaces

各ネットワークインターフェースの概要を取得します。

応答例:

{
   "description" : "Interfaces info",
   "params" : {
      "bond" : [
         {
            "in" : "234.72",
            "interface" : "bond1",
            "ip" : "",
            "mac" : "3a:3a:a7:e3:33:73",
            "out" : "0.00",
            "slaves" : [
               "eth2"
            ],
            "status" : "down",
            "virtual" : [],
            "vlan" : []
         },
         {
            "in" : "815.70",
            "interface" : "bond3",
            "ip" : "",
            "mac" : "ea:00:7d:88:1d:bd",
            "out" : "4300.38",
            "slaves" : [
               "eth4",
               "eth5",
               "eth6"
            ],
            "status" : "up",
            "virtual" : [],
            "vlan" : []
         },
         {
            "in" : "234.72",
            "interface" : "bond0",
            "ip" : "",
            "mac" : "c2:d0:d7:64:df:68",
            "out" : "0.00",
            "slaves" : [
               "eth1"
            ],
            "status" : "down",
            "virtual" : [],
            "vlan" : [
               "bond0.10"
            ]
         }
      ],
      "nic" : [
         {
            "in" : "77.42",
            "interface" : "eth6",
            "ip" : "",
            "mac" : "ea:00:7d:88:1d:bd",
            "out" : "0.00",
            "status" : "up",
            "virtual" : [],
            "vlan" : []
         },
         {
            "in" : "2704.81",
            "interface" : "eth0",
            "ip" : "192.168.101.46",
            "mac" : "9e:2e:3e:a5:2e:6a",
            "out" : "51039.13",
            "status" : "up",
            "virtual" : [
               "eth0:1",
               "eth0:2",
               "eth0.2:6"
            ],
            "vlan" : [
               "eth0.2"
            ]
         },
         {
            "in" : "234.72",
            "interface" : "eth1",
            "ip" : "192.168.101.58",
            "mac" : "c2:d0:d7:64:df:68",
            "out" : "0.00",
            "status" : "up",
            "virtual" : [],
            "vlan" : []
         },
         {
            "in" : "234.72",
            "interface" : "eth2",
            "ip" : "",
            "mac" : "3a:3a:a7:e3:33:73",
            "out" : "0.00",
            "status" : "up",
            "virtual" : [],
            "vlan" : []
         },
         {
            "in" : "0.00",
            "interface" : "eth3",
            "ip" : "192.168.101.72",
            "mac" : "16:97:ab:43:87:02",
            "out" : "0.00",
            "status" : "down",
            "virtual" : [
               "eth3:1",
               "eth3:8",
               "eth3:6"
            ],
            "vlan" : []
         },
         {
            "in" : "436.89",
            "interface" : "eth4",
            "ip" : "",
            "mac" : "ea:00:7d:88:1d:bd",
            "out" : "4300.38",
            "status" : "up",
            "virtual" : [
               "eth4.6:5"
            ],
            "vlan" : [
               "eth4.6"
            ]
         },
         {
            "in" : "301.39",
            "interface" : "eth5",
            "ip" : "",
            "mac" : "ea:00:7d:88:1d:bd",
            "out" : "0.00",
            "status" : "up",
            "virtual" : [],
            "vlan" : [
               "eth5.5"
            ]
         }
      ]
   }
}

応答パラメータ

応答はキーを持つJSONになります paramsは 値がキーを持つオブジェクト 債券 and NIC.

フィールド 種類 説明
債券 オブジェクト[] 結合インターフェース統計
NIC オブジェクト[] NICインターフェース統計

ボンドオブジェクト:

フィールド 種類 説明
in 文字列 合計入力トラフィック(MB)
インタフェース 文字列 一意の識別子として使用されるインターフェイス名
ip 文字列 インターフェイスのIP。
MAC 文字列 インターフェイスのMAC。
でる 文字列 合計出力トラフィック(MB)
奴隷 String [] 結合インタフェースを構築するスレーブのリスト
status 文字列 インターフェイスステータス 値は ダウンインターフェイスは無効です。 upインターフェイスが有効になります。
バーチャル String [] このインターフェイスから継承する仮想インターフェイス。
VLAN String [] このインターフェイスから継承するVLANインターフェイス。

NICオブジェクト:

フィールド 種類 説明
in 文字列 合計入力トラフィック(MB)
インタフェース 文字列 一意の識別子として使用されるインターフェイス名
ip 文字列 インターフェイスのIP。
MAC 文字列 インターフェイスのMAC。
でる 文字列 合計出力トラフィック(MB)
status 文字列 インターフェイスステータス 値は ダウンインターフェイスは無効です。 upインターフェイスが有効になります。
バーチャル String [] このインターフェイスから継承する仮想インターフェイス。
VLAN String [] このインターフェイスから継承するVLANインターフェイス。

メモリ統計を表示する

メモリ統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/memory

GET /stats/system/memory

システムメモリの概要を取得します。

応答例:

{
   "description" : "Memory usage",
   "params" : {
      "Buffers" : 1.01,
      "Cached" : 42.47,
      "MemFree" : 880.11,
      "MemTotal" : 2005.01,
      "MemUsed" : 1124.91,
      "SwapCached" : 8.27,
      "SwapFree" : 565.15,
      "SwapTotal" : 672,
      "SwapUsed" : 106.84,
      "date" : "Fri Jan 27 12:27:11 2017",
      "hostname" : "api3"
   }
}

応答パラメータ

応答はキーを持つJSONになります paramsは その値はメモリオブジェクトです。

メモリ オブジェクト。

フィールド 種類 説明
バッファー バッファが使用しているメモリです。 この量はMbで示されています。
キャッシュされた これはシステムによってキャッシュされた合計メモリーです。 この量はMbで示されています。
MemFree システムによってキャッシュされていない空きメモリの合計です。 この量はMbで示されています。
MemTotal これはシステム上のRAMの総容量です。 この量はMbで示されています。
MemUsed それはシステムによって使用されるメモリです。 この量はMbで示されています。
SwapCached それは予約された合計キャッシュメモリです。
スワップフリー システムによってキャッシュされていない空きメモリの合計です。 この量はMbで示されています。
スワップ合計 これは予約されている合計スワップメモリ​​です。
入れ替え これはシステムによって使用されるスワップメモリ​​です。最適なシステムでは0であるべきです。
date 文字列 システム日付
hostname 文字列 ホストの名前。

負荷統計を表示する

負荷統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/load

GET /stats/system/load

CPUシステムの負荷の概要を取得します。

応答例:

{
   "description" : "System load",
   "params" : {
      "Last_1" : 0.66,
      "Last_15" : 0.39,
      "Last_5" : 0.49,
      "date" : "Fri Jan 27 13:15:01 2017",
      "hostname" : "api3"
   }
}

応答パラメータ

フィールド 種類 説明
Last_1 最後にシステム使用量をロードします。
Last_5 最後の5分間にシステムの使用状況を読み込みます。
Last_15 最後の15分間にシステムの使用状況をロードします。
date 文字列 システム日付
hostname 文字列 ホストの名前。

CPU統計を表示する

CPU統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/cpu

GET /stats/system/cpu

応答例:

{
   "description" : "System CPU usage",
   "params" : {
      "cores" : 2,
      "date" : "Fri Jan 27 13:30:52 2017",
      "hostname" : "api3",
      "idle" : 94.9,
      "iowait" : 0,
      "irq" : 0,
      "nice" : 0,
      "softirq" : 0,
      "sys" : 3.06,
      "usage" : 5.1,
      "user" : 2.04
   }
}

応答パラメータ

フィールド 種類 説明
プロセッサ内のコア数
アイドル CPUはどのプログラムでも使用していません。
アイオワット 入力または出力プロセスで使用されるCPU。
irq ハードウェア割り込みによって使用されたCPU。
nice CPUスケジューリング優先順位
やわらかい ソフトウェア割り込みで使用されるCPU。
SYS システムが使用しているCPU
使用 使用された合計CPU
user ユーザーが使用したCPU。
date 文字列 システム日付
hostname 文字列 ホストの名前。

接続統計を表示する

接続統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/connections

GET /stats/system/connections

システム内の現在の接続の合計を取得します。 カウンターは、追跡された接続のタイプを合計します:ASSURED、ESTABLISHED、SYN_SENT、TIME_WAIT、LISTEN…

応答例:

{
   "description" : "System connections",
   "params" : {
      "connections" : 324
   }
}

応答パラメータ

フィールド 種類 説明
接続 実際に追跡された接続の総数。

農場数を表示する

農場数を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/total

GET /stats/farms/total

システムで作成された農場の合計を表示します。

応答例:

{
   "description" : "Number of farms.",
   "number" : 8
}

応答パラメータ

フィールド 種類 説明
システム内に存在する農場の数です。

農場の統計を表示する

農場の統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms

GET /stats/farms

システム内のすべてのファームの接続と構成の概要を取得します。

応答例:

{
   "description" : "List all farms stats",
   "farms" : [
      {
         "established" : 0,
         "farmname" : "testHttps",
         "pending" : 0,
         "profile" : "https",
         "status" : "up",
         "vip" : "192.168.101.20",
         "vport" : "120"
      },
      {
         "established" : 0,
         "farmname" : "httpFarm",
         "pending" : 0,
         "profile" : "http",
         "status" : "up",
         "vip" : "192.168.10.31",
         "vport" : "8080"
      },
      {
         "established" : 0,
         "farmname" : "testDL",
         "pending" : 0,
         "profile" : "datalink",
         "status" : "up",
         "vip" : "192.168.102.72",
         "vport" : "eth1"
      },
      {
         "established" : 0,
         "farmname" : "testL4",
         "pending" : 0,
         "profile" : "l4xnat",
         "status" : "up",
         "vip" : "192.168.10.31",
         "vport" : "30"
      },
      {
         "established" : 0,
         "farmname" : "testGSLB",
         "pending" : 0,
         "profile" : "gslb",
         "status" : "up",
         "vip" : "192.168.10.31",
         "vport" : "53"
      }
   ]
}

応答パラメータ

フィールド 種類 説明
設立 現在確立されている接続の総数
農場名 文字列 ファーム名、一意の識別子
ペンディング 保留中の接続数
プロフィール 文字列 農場のタイプ 可能な値は次のとおりです。 データリンク, l4xnat, HTTP, HTTPS or gslb。 各プロファイルはそのセクションで定義されています。
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。
VIP 文字列 仮想サービスが待機しているファームのIP。
vport 文字列 仮想サービスが待機しているファームのポート。

農場統計を表示する

農場統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/farmname

GET /stats/farms/<farmname>

現在のファームのステータス、バックエンドのステータス、および接続を表示します。 プロファイルに応じて、各ファームは異なるオブジェクトで応答します。

HTTPファームの応答例

{
   "backends" : [
      {
         "established" : 0,
         "id" : 0,
         "ip" : "192.168.0.168",
         "pending" : 0,
         "port" : 80,
         "service" : "srv1",
         "status" : "up"
      }
   ],
   "description" : "List farm stats",
   "sessions" : [
      {
         "client" : "0",
         "id" : "0",
         "service" : "srv1",
         "session" : "192.168.0.186"
      }
   ]
}

HTTPファームの応答パラメータ

フィールド 種類 説明
バックエンド オブジェクト[] バックエンドに関する情報を表示します。
セッション オブジェクト[] セッションに関する情報を表示します。

バックエンドオブジェクト

フィールド 種類 説明
設立 確立された接続の総数
id バックエンドの一意の識別子。
ip 文字列 実際のサービスがリッスンしているIP。
ペンディング 保留中の接続数
ポート 実際のサービスがリッスンしているポート。
サービス 文字列 一意の識別子として使用されるサービス名
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。

セッションオブジェクト

フィールド 種類 説明
クライアント 文字列 クライアントの一意の識別子
id 文字列 クライアントに割り当てられたバックエンドの一意の識別子。
サービス 文字列 クライアントに割り当てられたサービスの一意の識別子。
セッション 文字列 セッションの一意の識別子 この値は永続化タイプによって異なります。

GSLBファームの応答例

{
   "backends" : [
      {
         "id" : 1,
         "ip" : "127.0.0.1",
         "port" : 53,
         "service" : "service1",
         "status" : "down"
      },
      {
         "id" : 2,
         "ip" : "192.168.55.40",
         "port" : 53,
         "service" : "service1",
         "status" : "down"
      },
      {
         "id" : 4,
         "ip" : "192.135.10.2",
         "port" : 53,
         "service" : "service1",
         "status" : "down"
      },
      {
         "id" : 1,
         "ip" : "127.0.0.1",
         "port" : 80,
         "service" : "prioServ",
         "status" : "down"
      },
      {
         "id" : 2,
         "ip" : "127.0.0.1",
         "port" : 80,
         "service" : "prioServ",
         "status" : "down"
      }
   ],
   "client" : {
      "edns_big" : 0,
      "edns_tc" : 0,
      "recvfail" : 0,
      "reqs" : 0,
      "sendfail" : 0,
      "tc" : 0
   },
   "description" : "List farm stats",
   "extended" : {
      "badvers" : 0,
      "dropped" : 0,
      "edns" : 0,
      "edns_clientsub" : 0,
      "formerr" : 0,
      "noerror" : 0,
      "notimp" : 0,
      "nxdomain" : 0,
      "refused" : 0,
      "v6" : 0
   },
   "server" : {
      "recvfail" : 0,
      "reqs" : 0,
      "sendfail" : 0
   }
}

GSLB農場における応答パラメータ

フィールド 種類 説明
バックエンド オブジェクト[] バックエンドに関する情報を表示します。
クライアント オブジェクト クライアントに関連した統計。
オブジェクト サービスに関する詳細情報。
サーバー オブジェクト サーバーに関連した統計。

バックエンドオブジェクト

フィールド 種類 説明
id バックエンドの一意の識別子。
ip 文字列 実際のサービスがリッスンしているIP。
ポート 実際のサービスがリッスンしているポート。
サービス 文字列 一意の識別子として使用されるサービス名
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 未定義バックエンドのステータスはチェックされていません。

クライアントオブジェクト

フィールド 種類 説明
edns_big 512バイトよりも大きい応答。
edns_tc クライアントが指定した拡張dnsバッファー・サイズが、要求されたデータに対して小さすぎました。
回復する 受信時に何らかの問題が発生したことがOSによって示されたUDPエラーの数
reqs サーバーによって処理されたUDP要求の総数。
sendfail UDPエラーの数。OSが送信時に問題が発生したことを示していました。
tc TCビットセットで切り捨てられた応答

拡張オブジェクト

フィールド 種類 説明
悪党 サポートされていないバージョンのEDNS OPT-RRを持っていた要求。
落とした 不正な形式の要求を削除しました。
Edns 要求にEDNS OPT-RRが含まれていました。
edns_clientsub edns_client_subnetオプションを指定したedns要求のサブセット。
元祖 リクエストのフォーマットが正しくありませんでしたが、rcode FORMERRを使用してレスポンスを送信しただけで十分でした。
エラーなし 成功した要求
気付かない ゾーン転送要求など、要求されたサービスはこのデーモンによって実装されていません。
nxdomain 存在しないドメイン名を要求します。
拒否した サーバーは照会された名前に対する権限がないため、要求はサーバーによって拒否されました。
v6 IPv66クライアントからの要求

サーバーオブジェクト

フィールド 種類 説明
回復する TCPエラーの数。OSが受信時に何らかの問題が発生したことを示していました。
reqs サーバーによって処理されたTCP要求の総数。
sendfail TCPエラーの数。OSが送信時に問題が発生したことを示していました。

L4xNATファームの応答例

{
   "backends" : [
      {
         "established" : 5,
         "id" : 1,
         "ip" : "192.168.5.40",
         "pending" : 0,
         "port" : "8080",
         "status" : "maintenance"
      },
      {
         "established" : null,
         "id" : 3,
         "ip" : "192.5.1.1",
         "pending" : 0,
         "port" : "787",
         "status" : "down"
      },
      {
         "established" : null,
         "id" : 5,
         "ip" : "192.168.5.100",
         "pending" : 0,
         "port" : "8080",
         "status" : "up"
      }
   ],
   "description" : "List farm stats"
}

L4xNATファームの応答パラメータ

レスポンスはキー付きのJSONになります バックエンド そして以下のパラメータでオブジェクト配列を評価します。

バックエンドオブジェクト:

フィールド 種類 説明
設立 現在確立されている接続の総数
id バックエンドの一意の識別子。
ip 文字列 実際のサービスがリッスンしているIP。
ペンディング 保留中の接続数
ポート 実際のサービスがリッスンしているポート。
status 文字列 バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは、管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションは、バックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。

データリンクファーム統計は実際には利用できません。

モジュールの状態を表示する

モジュールの状態を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/modules

GET /stats/farms/modules

モジュール統計の要約を入手してください。 この呼び出しは、各モジュールのステータス、構成されている数、停止および起動しているファームの数を示します。

モジュールについての定義は 農場 のセクションから無料でダウンロードできます。

応答例:

{
   "description" : "Module status",
   "params" : {
      "dslb" : {
         "critical" : 0,
         "down" : 1,
         "problem" : 0,
         "total" : 2,
         "up" : 1
      },
      "gslb" : {
         "critical" : 0,
         "down" : 0,
         "problem" : 0,
         "total" : 1,
         "up" : 1
      },
      "lslb" : {
         "critical" : 0,
         "down" : 2,
         "problem" : 0,
         "total" : 4,
         "up" : 2
      }
   }
}

応答パラメータ

応答は3つのキーを持つJSONになります。 dslb, gslb and LSB.

フィールド 種類 説明
重大な 危機的状況にある農場の数。 ファームが稼働していて、すべてのバックエンドにアクセスできない(停止またはメンテナンス)場合、ファームは重要です。
ダウン 停止した農場の数 ファームはシステム管理者によって停止されます。
問題 問題のある農場の数 ファームが稼働していて、ほとんどバックエンドが停止している場合は、ファームに問題があります。
合計 総農場数
up 稼働中のファームの数 これはmaintenancedと表示され、ファームの状態を再起動する必要があります。

モジュール統計を表示する

モジュール統計を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/modules/lslb

GET /stats/farms/modules/<module>

指定されたモジュールの農場統計を表示します。

使用可能な値 モジュール パラメータは次のとおりです。 LSB, gslb or dslb.

応答例:

{
   "description" : "List lslb farms stats",
   "farms" : [
      {
         "established" : 0,
         "farmname" : "newfarm",
         "pending" : 0,
         "profile" : "http",
         "status" : "up",
         "vip" : "192.168.100.199",
         "vport" : "40"
      },
      {
         "established" : 0,
         "farmname" : "nwl4farm",
         "pending" : 0,
         "profile" : "l4xnat",
         "status" : "down",
         "vip" : "192.168.100.241",
         "vport" : "88"
      },
      {
         "established" : 0,
         "farmname" : "l4farm",
         "pending" : 0,
         "profile" : "l4xnat",
         "status" : "up",
         "vip" : "192.168.100.102",
         "vport" : "70"
      }
   ]
}

応答パラメータ

応答は、モジュール内のファームに関する情報を含むJSONオブジェクトになります。

フィールド 種類 説明
設立 現在確立されている接続の総数
農場名 文字列 ファーム名、ファームの一意の識別子。
ペンディング 保留中の接続数
プロフィール 文字列 農場のタイプ 可能な値は次のとおりです。 データリンク, l4xnat, HTTP, HTTPS or gslb。 各プロファイルは自分自身で定義されています。
status 文字列 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。
VIP 文字列 仮想サービスが待機しているファームのIP。
vport 文字列 仮想サービスが待機しているファームのポート。

監視 - グラフ

このセクションは、CPU使用率、スワップメモリ​​、RAMメモリ、設定されているすべてのneworkインタフェース、負荷、およびハードディスクストレージのパラメータを使用して、内部ロードバランサシステムを監視して問題を検出するのに役立ちます。

また、あなたは毎週、蛾と毎年の歴史にアクセスすることができるでしょう。

情報を含むグラフはbase64形式で応答されます。

利用可能なグラフを一覧表示する

利用可能なグラフを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs

GET /graphs

システムで利用可能なすべてのグラフを含むオブジェクトを表示します。 可能な要求を示しています。

応答例:

{
   "description" : "These are the possible graphs, you`ll be able to access to the daily, weekly, monthly or yearly graph",
   "farms" : [
      "l4farm",
      "newfarm",
      "gslbfarm",
      "nwl4farm",
      "httpweb"
   ],
   "interfaces" : [
      "eth0.1",
      "eth2",
      "eth1",
      "eth3",
      "bondiface",
      "eth0"
   ],
   "system" : [
      "cpu",
      "load",
      "ram",
      "swap",
      {
         "disk" : [
            "root/",
            "root/boot",
            "root/usr/local/zenloadbalancer/config",
            "root/var/log"
         ]
      }
   ]
}

応答パラメータ

応答はJSONの3種類のグラフになります。 農場, インターフェース and システム.

フィールド 種類 説明
農場 String [] 利用可能な農場グラフのリスト。
インターフェース String [] 利用可能なインタフェースグラフのリスト。
システム オブジェクト[] 利用可能なシステムグラフのリスト。 この配列には、ディスクマウントポイントを示す配列を持つオブジェクトがあります。

システムオブジェクト:

システムオブジェクトには、システムに関連する配列リストと次の形式のディスクオブジェクトが含まれています。

フィールド 種類 説明
ディスク String [] この配列の値はすべて存在します マウントポイント システムでは、それぞれが利用可能なグラフを持っています。

グラフを表示

グラフを表示

農場のリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/farms/httpweb

インターフェースのリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/interfaces/eth3

ディスクのリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/system/disk/root/boot

GET /graphs/<graph>

使用可能な値 グラフ には次の値があります:

説明
farms/<farmname> 農場名ファーム固有の識別子。
interfaces/<interface> インタフェースインターフェイス固有の識別子。
system/<system> システム可能なシステムグラフは次のとおりです。 CPU, 負荷, ラム or swap.
system/disk/<mount point> マウントポイントは、の値です ディスク 'GET / graphs'呼び出しによって返されるオブジェクト。

応答例:

{
   "description" : "Get cpu graphs",
   "graphs" : [
      {
         "frequency" : "daily",
         "graph" : "PNG IN BASE 64"
      },
      {
         "frequency" : "weekly",
         "graph" : "PNG IN BASE 64"
      },
      {
         "frequency" : "monthly",
         "graph" : "PNG IN BASE 64"
      },
      {
         "frequency" : "yearly",
         "graph" : "PNG IN BASE 64"
      }
   ]
}

応答パラメータ

フィールド 種類 説明
周波数 文字列 グラフの生成に使用された期間。 可能な値は次のとおりです。 daily, weekly, monthly or 毎年.
グラフ 文字列 基本64形式のグラフ。

頻度グラフを表示

頻度グラフを表示

農場のリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/farms/httpweb/daily

インターフェースのリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/interfaces/eth3/monthly

ディスクのリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/system/disk/root/boot/yearly

GET /graphs/<graph>/<frequency>

使用可能な値 グラフ には次の値があります:

説明
farms/<farmname> 農場名ファーム固有の識別子。
interfaces/<interface> インタフェースインターフェイス固有の識別子。
system/<system> システム可能なシステムグラフは次のとおりです。 CPU, 負荷, ラム or swap.
system/disk/<mount point> マウントポイントは、の値です ディスク 'GET / graphs'呼び出しによって返されるオブジェクト。

使用可能な値 周波数 には次の値があります:

フィールド 種類 説明
周波数 文字列 グラフの生成に使用された期間。 可能な値は次のとおりです。 daily, weekly, monthly or 毎年.

応答例:

{
    "description" : "Get farm graphs",
    "graph" : "PNG IN BASE 64"
}

応答パラメータ

フィールド 種類 説明
グラフ 文字列 基本64形式のグラフ。

IPDS

このモジュールはの実装です。 IPS (侵入防止システム) IDS セキュリティレイヤをユーザに提供するための(侵入検知システム)システム。 IPDSモジュールは直前にトラフィックを検査してロードバランシングモジュールに到達します。 LSLB or GSLBトラフィックが悪意のあるものとして検出された場合は拒否されます。

それは異なる性質のオブジェクトとして定義されるシステムにセキュリティルールを適用して機能します。 それぞれが外部の悪意のある、または疑わしい行動のための解決策を提供します。 このツールは、システム管理者が脅威や攻撃を管理するのに役立ちます。

Zevenetに適用できる利用可能な規則は次のとおりです。 ブラックリスト, DoS攻撃 or RBL.

すべてのipdsルールを一覧表示する

ipdsのルールを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds

GET /ipds

システムに存在するすべてのipdsルールをリストします。

応答例:

{
   "description" : "List the available IPDS rules.",
   "params" : [
      {
         "name" : "dosrst",
         "rule" : "dos",
         "type" : "farm"
      },
      {
         "name" : "ssh_brute_force",
         "rule" : "dos",
         "type" : "system"
      },
      {
         "name" : "geo_IL_israel",
         "rule" : "blacklist"
      },
      {
         "name" : "geo_ME_montenegro",
         "rule" : "blacklist"
      },
      {
         "name" : "sip",
         "rule" : "rbl"
      },
      {
         "name" : "ssh",
         "rule" : "rbl"
      }
   ]
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値は、ブラックリストオブジェクトの配列になります。各オブジェクトには、以下の主要な属性が含まれています。

フィールド 種類 説明
文字列 IPDSルール名 一意の識別子として使用されます。
ルール 文字列 それがipdsルールの本質です。 かもね ブラックリスト, ドス or rbl.
type 文字列 このフィールドはdos規則に現れ、それが規則であるかどうかを定義します。 システムそれはバランサに適用されます。 または ファームルールは農場に適用されます。

IPDS - ブラックリスト

ブラックリスト ユーザがリストを使用して送信元IPに従ってトラフィックをフィルタリングまたは許可することを許可します(Incomming traffic)。

リストには2種類あります。

  1. 注:リストはURLから取得されます。これらのリストは変更できず、ダウンロードするようにスケジュールすることができます。
  2. ローカル:ユーザーは特定のポリシーを使用して独自のリストを作成できます。 否定する 着信IPが一致すると、トラフィックは拒否されます。 許す 着信IPが一致すると、トラフィックは許可されます。

このモジュールは含まれています プリロード Zevenetチームによって提供されたリストは、リストは農場に適用される準備ができています。 さらに、ユーザーは独自のパーソナライズドリストを作成できます。

ブラックリストポリシーに応じて、送信元IPがリストの一部と一致する場合、トラフィックは許可または拒否されます。 IPが一致した時点で、送信元IPに対するブラックリストチェックはこれ以上行われません。

送信元IPが2つの異なるリストにある場合 否定する そして他のタイプの 許すその後、常に許可ポリシーが最初に評価されます。

すべてのブラックリストルールを一覧表示する

すべてのブラックリストを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists

GET /ipds/blacklists

ユーザーが作成した、またはシステムにプリロードされている、ファームに適用できるすべてのブラックリストを一覧表示します。

応答例:

{
   "description" : "Get black lists",
   "params" : [
      {
         "farms" : [],
         "name" : "china",
         "policy" : "deny",
         "preload" : "true",
         "status" : "down",
         "type" : "local"
      },
      {
         "farms" : [],
         "name" : "russia",
         "policy" : "deny",
         "preload" : "true",
         "status" : "down",
         "type" : "local"
      },
      {
         "farms" : [],
         "name" : "northkorea",
         "policy" : "deny",
         "preload" : "true",
         "status" : "down",
         "type" : "local"
      },
      {
         "farms" : [
            "FarmHttp1",
            "FarmGslb1",
         ],
         "name" : "remoteList",
         "policy" : "deny",
         "preload" : "false",
         "status" : "up",
         "type" : "remote"
      },
      {
         "farms" : [],
         "name" : "myWhiteList",
         "policy" : "allow",
         "preload" : "false",
         "status" : "down",
         "type" : "local"
      },
   ]
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値は、ブラックリストオブジェクトの配列になります。各オブジェクトには、以下の主要な属性が含まれています。

フィールド 種類 説明
農場 String [] ブラックリストが適用されるファームリスト。
文字列 ブラックリスト名 一意の識別子として使用されます。
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。
プリロード 文字列 可能な値は次のとおりです。 trueブラックリストはシステムにプリロードされています。 または falseブラックリストはシステム管理者によって作成されました。
status 文字列 可能な値は次のとおりです。 upブラックリストはアクティブであり、送信元のトラフィックをリストからブロックする(または許可する)。 または ダウン実際にはルールは実行されておらず、トラフィックをフィルタリングしていません。
type 文字列 リストの保存場所と管理者 値は以下のとおりです。 ローカルリストはローカルシステムに保存され、ローカルで変更できます。 リモートリストはリモートソースから URL、ローカルで変更できないため、リモートソースで変更を行う必要があります。

ブラックリストルールを取得する

ブラックリストを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/loc

GET /ipds/blacklists/<name>

ブラックリストの設定と説明のパラメータを表示します。 ブラックリストの一意の識別子です。

応答パラメータ

応答ローカルリストの例:

{
   "description" : "Get list loc",
   "params" : {
      "farms" : [],
      "name" : "loc",
      "policy" : "deny",
      "preload" : "false",
      "sources" : [
         {
            "id" : 0,
            "source" : "192.168.0.167"
         },
         {
            "id" : 1,
            "source" : "192.168.0.186"
         }
      ],
      "status" : "up",
      "type" : "local"
   }
}

ローカルブラックリストオブジェクト:

フィールド 種類 説明
農場 String [] ブラックリストが適用されるファームリスト。
文字列 ブラックリスト名 一意の識別子として使用されます。
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。
プリロード 文字列 可能な値は次のとおりです。 trueブラックリストはシステムにプリロードされています。 または falseブラックリストはシステム管理者によって作成されました。
status 文字列 可能な値は次のとおりです。 upブラックリストはアクティブであり、送信元のトラフィックをリストからブロックする(または許可する)。 または ダウン実際にはルールは実行されておらず、トラフィックをフィルタリングしていません。
type 文字列 リストの保存場所と管理者 値は以下のとおりです。 ローカルリストはシステムに保存され、システム管理者によって管理されます。 または リモートリストはリモートURLからダウンロードされます。
ソース オブジェクト[] リストがチェックするIPのリスト。 受け入れられたソースネットワークフォーマット: ネットワークアドレス/マスク ビットまたは IP

応答リモートリストの例:

{
   "description" : "Get list remoteList",
   "params" : {
      "day" : "thursday",
      "farms" : [
         "FarmHttp1",
         "FarmGslb1",
      ],
      "frequency" : "weekly",
      "name" : "remoteList",
      "policy" : "deny",
      "sources" : [
         {
            "id" : 0,
            "source" : "78.12.0.4"
         },
         {
            "id" : 1,
            "source" : "68.100.15.5"
         },
         {
            "id" : 2,
            "source" : "65.12.12.95"
         }
      ],
      "time" : {
         "hour" : 0,
         "minutes" : 0
      },
      "status" : "up",
      "update_status" : "This list isn't downloaded yet.",
      "type" : "remote",
      "url" : "http://192.168.10.10/lists/test.txt"
   }
}

リモートブラックリストオブジェクト:

フィールド 種類 説明
農場 String [] ブラックリストが適用されるファームリスト。
文字列 ブラックリスト名 一意の識別子として使用されます。
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。
プリロード 文字列 可能な値は次のとおりです。 trueブラックリストはシステムにプリロードされています。 または falseブラックリストはシステム管理者によって作成されました。
type 文字列 リストの保存場所と管理者 値は以下のとおりです。 ローカルリストはシステムに保存され、システム管理者によって管理されます。 または リモートリストはリモートからダウンロードされます。 URL.
ソース オブジェクト[] リストチェックを行うIPをソーシングします。 リストが type リモート リストの内容は最初のダウンロードまで表示されません。
最新状況 文字列 リストの最後のダウンロードのステータス、およびローカルシステムで最後に正常に更新された日付。
URL 文字列 リモートリストのダウンロード元。 リモートフォーマットは1つのリストでなければなりません source 1回線あたりのネットワーク/ビットマスクまたはIP。
周波数 文字列 リモートリストの更新頻度 オプションは以下のとおりです。 daily、一日一回、または定期的に一日中更新する frequency_type フィールド; weekly、週に一度更新してください。 または monthly月に一度更新してください。
frequency_type 文字列 このパラメータは 周波数 値が毎日の場合はdaily。 可能な値は次のとおりです。 正確な。 その日の時間を定義します。 または 期間、日中に更新する期間を定義します。
文字列または数値 このパラメータはパラメータを補完します 周波数 いつ 熱狂 値は weekly or monthly。 場合 熱狂 is weekly このパラメータは、週の定休日でなければなりません(月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日 or 日曜日)場合 周波数 値は monthly その場合、このパラメーターは月の日(間の数値)でなければなりません。 1 and 31).
時間 オブジェクト フィールドに依存する構造体です 周波数.
status 文字列 可能な値は次のとおりです。 upブラックリストはアクティブであり、送信元のトラフィックをリストからブロックする(または許可する)。 または ダウン実際にはルールは実行されておらず、トラフィックをフィルタリングしていません。

日次頻度および期間frequency_typeの時間オブジェクト

フィールド 種類 説明
期間 リストが更新される頻度。
単位 文字列 期間単位 オプションは以下のとおりです。 リストが設定された分ごとに更新されることを示してください。 または 時間 リストは設定された時間ごとに更新されます。

他の周波数の時間オブジェクト

フィールド 種類 説明
時間 リストを更新する時間。 値は、 0 and 23.
リストを更新する分。 値は、 0 and 59.

ソースオブジェクト

フィールド 種類 説明
id リスト内のソースの一意の識別子。
source 文字列 リストがチェックするIPアドレスまたはネットセグメント。

ブラックリストルールを作成する

新しいブラックリストを作成する

ローカルリストのリクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListLoc", "type":"local", "policy":"allow"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists

リモートリストのリクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListRem", "type":"remote", "url":"https://192.168.10.12/lists/test.txt"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists

POST /ipds/blacklists

農場で使用されるブラックリストを作成します。 ブラックリストには2つのタイプがあります。

  1. ローカル:ソースはユーザーによって追加されます。 リストはローカルに保存されます。
  2. リモート:ソースは遠隔地から取得されます。 この場所はURLで示されます。 サポートされているリモートリスト形式は1です。 ネットワークアドレス/マスクビット or IP 1行あたりの行数

リクエストパラメータ

フィールド 種類 説明 必須
文字列 ブラックリスト名 一意の識別子として使用されます。 true
type 文字列 リストの保存場所と管理者。 値は以下のとおりです。 ローカル、リストは管理システムのシステムとメンテナンスに保存されます。 または リモートリストは、サービスを介してoutサービスから取得されます。 URL 管理者のサービスがリストを保守します。 true
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。 デフォルト値はdenyです。
URL 文字列 リモートリストのダウンロード元。 リモートフォーマットは1つのリストでなければなりません source フォーマットの1行あたり ネットワークアドレス/マスクビット or IP. リモートリストの場合はtrue
{
   "description" : "Post list list1",
   "params" : {
      "farms" : [],
      "name" : "newListLoc",
      "policy" : "deny",
      "preload" : "false",
      "type" : "local"
   }
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はブラックリストオブジェクトの配列になり、各オブジェクトには次のキー属性が含まれます。

フィールド 種類 説明
農場 String [] ブラックリストが適用されるファームリスト。
文字列 ブラックリスト名 一意の識別子として使用されます。
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。
プリロード 文字列 可能な値は次のとおりです。 trueブラックリストはシステムにプリロードされています。 または falseブラックリストはシステム管理者用に作成されました。
type 文字列 リストの保存場所と管理者。 値は以下のとおりです。 ローカル、リストは管理システムのシステムとメンテナンスに保存されます。 または リモートリストは、サービスを介してoutサービスから取得されます。 URL 管理者のサービスがリストを保守します。

ブラックリストルールを修正する

ブラックリストを修正する

ローカルリストのリクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"policy":"allow","source":["78.12.0.4","68.100.15.5","65.12.12.95"]}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/whiteList

PUT /ipds/blacklists/<name>

ブラックリストルールの設定を変更します。 ブラックリストの一意の識別子です。

ローカルリストのパラメータを要求します。

フィールド 種類 説明
文字列 ブラックリスト名 一意の識別子として使用されます。 いいえのみ修正可能 プリロード 一覧表示します。
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。
source String [] リストがチェックするIPアドレスまたはネットセグメントのリストです。 ソースのみを変更するには、ドキュメントセクションを参照してください。 IPDS>ブラックリスト>ブラックリストのソースを変更する。 ソースはnoで修正可能です プリロード 一覧表示します。

応答例:

{
   "description" : "Modify list whiteList.",
   "params" : {
      "name" : "whiteList",
      "policy" : "allow",
      "preload" : "false",
      "type" : "local"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

リモートリストのリクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"remoteList","url":"http://192.168.10.10/lists/test.txt","policy":"deny","frequency":"daily","frequency_type":"exact","time":{"hour":1,"minutes":0}}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem

2時間ごとにリストを更新するための要求例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"frequency":"daily","frequency_type":"period","time":{"period":2,"units":"hours"}}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem

2:00 AMで終日リストを更新するためのリクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"frequency":"daily","frequency_type":"exact","time":{"hour":2,"minutes":0}}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem

0のすべての月曜日を更新するためのリクエスト例:00 AM:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"frequency":"weekly","day":"monday","time":{"hour":0,"minutes":0}}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem

1:12 PMで月の日00を更新するための要求例

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"frequency":"monthly","day":"1","time":{"hour":12,"minutes":0}}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem

リモートリストのリクエストパラメータ

フィールド 種類 説明
農場 String [] ブラックリストが適用されるファームリスト。
文字列 ブラックリスト名 一意の識別子として使用されます。
方針 文字列 ソースに適用するアクション オプションは以下のとおりです。 否定するリストのソースからの入力トラフィックをブロックする。 または 許す リストの送信元からのトラフィックを受け入れます。
URL 文字列 リモートリストのダウンロード元。
周波数 文字列 リモートリストの更新頻度 オプションは以下のとおりです。 daily、1日に1回、または定期的に更新します。 frequency_type フィールド; weekly、週に一度更新してください。 または monthly月に一度更新してください。
frequency_type 文字列 このパラメータは 周波数 値が毎日の場合はdaily。 可能な値は次のとおりです。 正確な。 その日の時間を定義します。 または 期間、日中に更新する期間を定義します。
文字列または数値 このパラメータは 周波数 その値が毎週または毎月の場合 毎週の場合、このパラメータは平日にする必要があります(月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日 or 日曜日その他の場合 周波数 毎月の場合、このパラメータは月の日でなければなりません 1 and 31).
時間 オブジェクト フィールドに依存する構造体です 周波数.

期間オブジェクト

これらは、期間を設定するときのフィールドです。

必要な設定です 周波数 値で dailyfrequency_type 値で 期間.

フィールド 種類 説明
期間 リストを更新する頻度
単位 文字列 期間単位 オプションは以下のとおりです。 or 時間 リスト更新の測定単位を指定します。

正確な時オブジェクト

これらは正確な時間が設定される時のフィールドです。

このオブジェクトは次の設定で使用されます。

周波数 fieldは値を持ちます daily and frequency_type is 正確な.

周波数 fieldは値を持ちます weekly and リストが更新される曜日です。

周波数 fieldは値を持ちます monthly and リストが更新される日の月数です。

フィールド 種類 説明
時間 リストを更新する時間。 値は、 0 and 23.
リストを更新する分。 値は、 0 and 59.

応答例:

{
   "description" : "Modify list newListRem.",
   "params" : {
      "day": 1,
      "frequency" : "monthly",
      "name" : "newListRem",
      "policy" : "deny",
      "preload" : "false",
      "time" : {
         "hour" : 12,
         "minutes" : 0
      },
      "type" : "remote",
      "update_status" : "Sync fail. Last update: 2017-02-16 14:23:00",
      "url" : "https://192.168.10.12/lists/test.txt"
   }
}

応答パラメータ

応答はすべてのリスト設定を持つJSONになります。 詳しくは、応答例を参照してください。

ブラックリストルールを削除する

ブラックリストリストを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/remoteList

DELETE /ipds/blacklists/<name>

与えられたブラックリストを削除します。 ブラックリストの一意の識別子です。

応答例:

{
   "description" : "Delete list 'remoteList'",
   "message" : "The list remoteList has been deleted successful.",
   "success" : "true"
}

ブラックリストからソースを一覧表示する

ブラックリストからソースを一覧表示する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList

GET /ipds/blacklists/<name>/sources

ブラックリストのソースを一覧表示します。 ブラックリストの一意の識別子です。

応答例:

{
   "description" : "Get localList sources",
   "params" : [
      {
         "id" : 0,
         "source" : "78.12.0.4"
      },
      {
         "id" : 1,
         "source" : "68.100.15.5"
      },
      {
         "id" : 2,
         "source" : "65.12.12.95"
      }
   ]
}

応答パラメータ

応答はキーを持つJSONになります paramsは 値としてのソースオブジェクト配列。

ソースオブジェクト:

フィールド 種類 説明
id リスト内のソースの一意の識別子。
source String [] リストがチェックするIPアドレスまたはネットセグメント。

ブラックリストにソースを追加する

ブラックリストにソースを追加する

リクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList/sources

POST /ipds/blacklists/<name>/sources

新しい情報源をブラックリストに追加する。 ローカルリストとプリロードされていないリストでのみ利用可能です。 ブラックリストの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
source 文字列 リストがチェックするIPアドレスまたはネットセグメント。 true

応答例:

{
   "description" : "Post source to localList.",
   "message" : "Added 192.168.3.1 successful.",
   "params" : [
      {
         "id" : 0,
         "source" : "78.12.0.4"
      },
      {
         "id" : 1,
         "source" : "68.100.15.5"
      },
      {
         "id" : 2,
         "source" : "65.12.12.95"
      },
      {
         "id" : 3,
         "source" : "192.168.3.1"
      }
   ]
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ブラックリストのソースを修正する

ブラックリストのソースを修正する

リクエスト例:

curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList/sources/2

PUT /ipds/blacklists/<name>/sources/<id>

ブラックリストのソースを修正する

ブラックリストの一意の識別子です。 id ソースの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
source 文字列 リストがチェックするIPアドレスまたはネットセグメント。 true

応答例:

{
   "description" : "Put source into localList",
   "message" : "Source 2 has been modified successful.",
   "params" : {
         "id" : 2,
         "source" : "192.168.3.1"
    }
}

応答パラメータ

応答はソースが更新されたJSONになります。 詳しくは、応答例を参照してください。

ブラックリストのソースを削除する

ブラックリストのソースを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList/sources/2

DELETE /ipds/blacklists/<name>/sources/<id>

ブラックリストからソースを削除します。

ブラックリストの一意の識別子です。 id ソースの一意の識別子です。

応答例:

{
   "description" : "Delete source from the list localList",
   "message" : "Source 2 has been deleted successful.",
   "success" : "true"
}

ブラックリストルールにアクションを適用する

アクションを適用する

リモートリストのリクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"update"}' 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/remoteList/actions

POST /ipds/blacklists/<name>/actions

ブラックリストにアクションを適用する ブラックリストの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 ブラックリストルールに適用することを望むアクション。 利用可能な値は以下のとおりです。 start適用されているすべての農場でblaclistをアクティブにします。 stop、ブラックリストルールが適用されているすべてのファームのブラックリストを停止します。トラフィックはブロックまたは許可されません。 updateこのアクションはにのみ適用できます リモート ブラックリスト、このアクションはリモートからのソースリストを更新します URL. true

応答例:

{
   "description" : "Update a remote list",
   "update" : "Sync OK. Last update: 2017-02-01 05:31:57"
}

応答パラメータ

応答はダウンロードステータスを持つJSONになります。 詳しくは、応答例を参照してください。

フィールド 種類 説明 必須
update 文字列 リストの最後のダウンロードのステータスと最後に成功したアップデートの日付。

IPDS - サービス拒否

DoS保護は、保護ルールに応じてさまざまな種類のルールがあり、バランサのさまざまな部分に適用されます。 だからあります システム すべてのバランサに適用されるという規則。 接続指向のルール ファーム TCPプロトコルで作業します。 にルールを適用する前に ファーム、希望する設定でオブジェクトを作成します。 次に、あなたがそれを必要とするすべての農場にそれを適用しました。 の システム ルールにはオブジェクトがすでに作成されており、可能な構成は1つだけです。 設定したら、有効にします。

ファームDoSルール

ファームにルールを適用する前にオブジェクトを作成する必要があります。

limitsec

1秒あたりの新規接続数とソースの制限。 農場でのみ利用可能なTCPプロトコルで動作します。

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。
制限 これは、送信元の1秒あたりの新規接続の最大数です。
limit_burst これは、新しい接続の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

limitconns

ソースあたりの現在の接続総数を制限します。 農場でのみ利用可能なTCPプロトコルで動作します。

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。
limit_conns それはソースからの現在の接続の最大数です。

bogustcpflags

TCPプロトコルが尊重されていることを確認してください。 このルールには構成パラメータがないため、すべてのファームで使用できるオブジェクトだけを作成します。 農場でのみ利用可能なTCPプロトコルで動作します。

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。

リミッター

1秒あたりの接続リセット要求の制限数。 農場でのみ利用可能なTCPプロトコルで動作します。

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。
制限 これは、送信元に対する1秒あたりのリセット要求の最大数です。
limit_burst これは、リセット要求の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

システムDoSルール

システムDoSルールでは、オブジェクトは作成されていません。

sshbruteforce

新しいssh接続の制限

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。 識別子は次のように定義されています。 ssh_brute_force.
ヒット 接続がブロックされるまでのsourceのヒット数
時間 リセットするまでの時間(秒) ヒット カウンター。
status 文字列 可能な値は次のとおりです。 upDoSルールがアクティブになり、トラフィックがフィルタリングされます。 または ダウンルールは実行されておらず、トラフィックをフィルタリングしていません。

すべての種類のDoSルールを一覧表示する

すべての種類のDoSルールを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/rules

GET /ipds/dos/rules

DoSルールの一覧を表示します。 それらはオブジェクトではなく、それを定義するための型です。

各ルールには異なる設定パラメータがあります

応答例:

{
   "description" : "Get DoS settings.",
   "params" : {
      "farm" : [
         {
            "description" : "Connection limit per seconds.",
            "rule" : "limitsec"
         },
         {
            "description" : "Total connections limit per source IP.",
            "rule" : "limitconns"
         },
         {
            "description" : "Check bogus TCP flags.",
            "rule" : "bogustcpflags"
         },
         {
            "description" : "Limit RST request per second.",
            "rule" : "limitrst"
         }
      ],
      "system" : [
         {
            "description" : "SSH brute force.",
            "rule" : "sshbruteforce"
         },
      ]
   }
}

応答パラメータ

JSONレスポンスには2つの配列があります ファーム and システム。 各配列項目は、システムのファームに適用される規則の一種です。

フィールド 種類 説明
説明 文字列 ルールの簡単な説明
ルール 文字列 タイプルールの一意の識別子。

すべてのDoSルールを一覧表示する

すべてのDoSオブジェクトを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos

GET /ipds/dos

既存のすべてのDoSオブジェクトに関する設定を表示します。

応答例:

{
   "description" : "Get DoS settings.",
   "params" : [
      {
         "farms" : [],
         "limit_conns" : 10,
         "name" : "limitConnHttp",
         "rule" : "limitconns",
         "status" : "down",
         "type" : "farm"
      },
      {
         "farms" : [],
         "limit" : 2,
         "limit_burst" : 2,
         "name" : "limitUsers",
         "rule" : "limitsec",
         "status" : "down"
         "type" : "farm"
      },
      {
         "hits" : 5,
         "name" : "ssh_brute_force",
         "port" : 22,
         "rule" : "sshbruteforce",
         "status" : "down",
         "time" : 180,
         "type" : "system"
      },
      {
         "farms" : [],
         "name" : "tcpAuth",
         "rule" : "bogustcpflags",
         "status" : "down",
         "type" : "farm"
      },
      {
         "farms" : [],
         "limit" : 2,
         "limit_burst" : 2,
         "name" : "dos4",
         "rule" : "limitrst",
         "status" : "down",
         "type" : "farm"
      },
   ]
}

応答パラメータ

応答は利用可能なすべてのDoSオブジェクトを含む配列になります。

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。
ルール 文字列 これはタイプルール識別子です。
type 文字列 可能な値は次のとおりです。 ファーム規則は農場に適用されます。 または システムルールはシステムに適用されます。
status 文字列 可能な値は次のとおりです。 upDoSルールがアクティブになり、トラフィックがフィルタリングされます。 または ダウンルールは実行されておらず、トラフィックをフィルタリングしていません。

さらに、ルールに依存して、オブジェクトは次のパラメータを含んでいます

limitsec

フィールド 種類 説明
農場 String [] ルールが適用される農場。
制限 これは、送信元の1秒あたりの新規接続の最大数です。
limit_burst これは、新しい接続の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

limitconns

フィールド 種類 説明
農場 String [] ルールが適用される農場。
limit_conns それはソースからの現在の接続の最大数です。

bogustcpflags

フィールド 種類 説明
農場 String [] ルールが適用される農場。

リミッター

フィールド 種類 説明
農場 String [] ルールが適用される農場。
制限 これは、送信元に対する1秒あたりのリセット要求の最大数です。
limit_burst これは、リセット要求の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

sshbruteforce

フィールド 種類 説明
ヒット 接続がブロックされるまでのsourceのヒット数
時間 リセットするまでの時間(秒) ヒット カウンター。

DoSルールを取得する

DoSルールを取得する

農場ルールのリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/limitConnHttp

システムルールのリクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/ssh_brute_force

GET /ipds/dos/<name>

各DoSオブジェクトは異なる設定を持つことができます。 DoSルールの一意の識別子です。

農場ルールの応答例

{
   "description" : "Get DoS limitConnHttp settings",
   "params" : {
      "farms" : [],
      "limit_conns" : 10,
      "name" : "limitConnHttp",
      "rule" : "limitconns",
      "status" : "down",
      "type" : "farm"
   }
}

システムルールの応答例

{
   "description" : "Get DoS ssh_brute_force settings",
   "params" : {
      "hits" : 5,
      "name" : "ssh_brute_force",
      "port" : 22,
      "rule" : "sshbruteforce",
      "status" : "down",
      "time" : 180,
      "type" : "system"
   }
}

応答パラメータ

応答は利用可能なすべてのDoSオブジェクトを含む配列になります。

フィールド 種類 説明
文字列 これはオブジェクトルールの一意の識別子です。
ルール 文字列 これはタイプルール識別子です。
type 文字列 可能な値は次のとおりです。 ファーム規則は農場に適用されます。 または システムルールはシステムに適用されます。
status 文字列 可能な値は次のとおりです。 upDoSルールがアクティブになり、トラフィックがフィルタリングされます。 または ダウンルールは実行されておらず、トラフィックをフィルタリングしていません。

さらに、ルールに依存して、オブジェクトは次のパラメータを含んでいます

limitsec

フィールド 種類 説明
農場 String [] ルールが適用される農場。
制限 これは、送信元の1秒あたりの新規接続の最大数です。
limit_burst これは、新しい接続の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

limitconns

フィールド 種類 説明
農場 String [] ルールが適用される農場。
limit_conns それはソースからの現在の接続の最大数です。

bogustcpflags

フィールド 種類 説明
農場 String [] ルールが適用される農場。

リミッター

フィールド 種類 説明
農場 String [] ルールが適用される農場。
制限 これは、送信元に対する1秒あたりのリセット要求の最大数です。
limit_burst これは、リセット要求の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

sshbruteforce

フィールド 種類 説明
ヒット 接続がブロックされるまでのsourceのヒット数
時間 リセットするまでの時間(秒) ヒット カウンター。

DoSルールを作成する

DoSルールを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"limitUsers", "rule":"limitsec"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos

POST /ipds/dos

必要に応じてDoSオブジェクトを作成し、それをファーム内で使用します。

各DoSオブジェクトは異なる設定を持つことができます。

リクエストパラメータ

フィールド 種類 説明 必須
文字列 これはオブジェクトルールの一意の識別子です。 true
ルール 文字列 これはタイプルール識別子です。 オプションは以下のとおりです。 limitconns, limitsec, リミッター or bogustcpflags. true

応答例:

{
   "description" : "Post a DoS rule",
   "params" : {
      "farms" : [],
      "limit" : 2,
      "limit_burst" : 2,
      "name" : "limitUsers",
      "rule" : "limitsec",
      "type" : "farm"
   }
}

応答パラメータ

応答は作成されたルールのデフォルト設定を持つJSONになります。 詳しくは、応答例を参照してください。

DoSルールを変更する

DoSルールを変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"hits":"10","status":"up","time":"100"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/ssh_brute_force

PUT /ipds/dos/<name>

DoSルールを変更します。 DoSルールの一意の識別子です。

リクエストパラメータ

各タイプのルールは異なるパラメータにすることができます。 変更可能なパラメータは次のとおりです。

limitsec

フィールド 種類 説明
制限 これは、送信元の1秒あたりの新規接続の最大数です。
limit_burst これは、新しい接続の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

limitconns

フィールド 種類 説明
limit_conns それはソースからの現在の接続の最大数です。

bogustcpflags

パラメータはありません。

リミッター

フィールド 種類 説明
制限 これは、送信元に対する1秒あたりのリセット要求の最大数です。
limit_burst これは、リセット要求の許容ピークです。 「制限」秒が経過すると、バーストユニットが再生成されます。

sshbruteforce

フィールド 種類 説明
ヒット 接続がブロックされるまでのsourceのヒット数
時間 リセットするまでの時間(秒) ヒット カウンター。

応答例:

{
   "description" : "Put DoS rule settings",
   "params" : {
      "hits" : 10,
      "name" : "ssh_brute_force",
      "port" : 22,
      "rule" : "sshbruteforce",
      "status" : "up",
      "time" : 100,
      "type" : "system"
   },
   "success" : "true"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

DoSルールを削除する

DoSルールを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/limitConnHttp

DELETE /ipds/dos/<name>

システムルールは削除できません。 無効にするには、ステータスを ダウン. DoSルールの一意の識別子です。

応答例:

{
   "description" : "Delete DoS rule",
   "message" : "Deleted limitConnHttp successful.",
   "success" : "true"
}

DoS ルールにアクションを適用する

アクションを適用する

リモートリストのリクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"start"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/conns_maximum/actions

POST /ipds/dos/<name>/actions

dosルールにアクションを適用してください。 dos規則の固有IDです。

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 DoSルールに適用したいアクション 利用可能な値は以下のとおりです。 start適用されているすべての農場でDoSルールを有効にします。 stop、DoS ルールが適用されるすべてのファームの DoS が無効になり、トラフィックはブロックされたり許可されたりしません。 再起動、すべてのファームの DoS ルールをリセットします。 true

応答例:

{
   "description" : "Apply a action to a DoS rule",
   "params" : {
      "action" : "start"
   }
}

応答パラメータ

設定に問題がなければ、zapiは要求されたアクションを返します。

IPDS - RBL

RBLリアルタイムブラックホールリストは、セキュリティシステムを作成して、最新のセキュリティシステムをメンテナンスするという面倒な作業を専門家に委任します。 RBLは、DNSプロトコルを介して外部データベース内のロードバランサの入力トラフィックをチェックします。 DNSサーバーの所有者は、高品質の情報源を更新し提供する責任があります。 DNSデータベースにあるIP送信元からの入力トラフィックはドロップされます。

RBLサービスを使用するには、最初にDNSドメインが追加されます。各DNSドメインには、実現された攻撃の種類や攻撃の重大度など、さまざまな基準の送信元を分類する特定のプロバイダリストが含まれます。

DNSドメインを作成したら、ルール設定を使用してRBLルールを作成する必要があります。 次にDNSドメインをRBLルールとリンクします。 各ルールは異なるドメインを調べることができます。

最後に、RBLルールを必要なすべての農場に適用します。

すべてのRBLルールを一覧表示する

すべてのRBLルールを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl

GET /ipds/rbl

ロードバランサで利用可能なすべてのRBLルールを一覧表示します。

応答例:

{
   "description" : "Get RBL rules",
   "params" : [
      {
         "cache_size" : 8192,
         "cache_time" : 3600,
         "domains" : [
            "ssh.rbl.zevenet.com",
            "ssh.blocklist.de"
         ],
         "farms" : [
            "sshL4farm"
         ],
         "local_traffic" : "false",
         "log_level" : 4,
         "name" : "protection_ssh",
         "only_logging" : "true",
         "queue_size" : 64538,
         "status" : "down",
         "threadmax" : 700
      },
      {
         "cache_size" : 2048,
         "cache_time" : 7200,
         "domains" : [],
         "farms" : [],
         "local_traffic" : "true",
         "log_level" : 4,
         "name" : "sip",
         "only_logging" : "true",

         "queue_size" : 32269,
         "status" : "down",
         "threadmax" : 400
      },
      {
         "cache_size" : 8192,
         "cache_time" : 3600,
         "domains" : [],
         "farms" : [
            "webAPP"
         ],
         "local_traffic" : "false",
         "log_level" : 4,
         "name" : "web_attacks",
         "only_logging" : "true",
         "queue_size" : 64538,
         "status" : "down",
         "threadmax" : 700
      }
   ]
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はRBLオブジェクトの配列になります。各オブジェクトには以下のキー属性が含まれています。

フィールド 種類 説明
cache_size RBLルールがキャッシュできるIPソースの数です。
キャッシュの時間 IPソースがブロックされる時間(秒)です。
ドメイン String [] これは、ルールが照会しているすべてのドメインのリストです。
農場 String [] ブラックリストが適用されるファームリスト。
local_traffic 文字列 このフィールドに値がある場合 trueRBLルールはプライベートネットワークセグメントからのトラフィックを調べます。 またはその値が false RBLルールはプライベートネットワークセグメントからのトラフィックを無視します。 ローカルトラフィックがパブリックDNSによってブロックされることはありません。
log_level 重大度ログレベルです。 それは0と7の間の値を持つことができ、0緊急事態と7デバッグです。
文字列 RBLルール名 一意の識別子として使用されます。
only_logging 文字列 値が trueIPがドメイン内で一致すると、ログに記録されます。 またはこのフィールドに値がある場合 falseIPがドメイン内で一致すると、そのIPはログに記録され、パケットはドロップされます。
queue_size ルールがキューに保持できるパケット数です。
status 文字列 RBLルールのステータスを表示します。 その値は ダウンルールが機能していない場合 または up それはルールが機能しているということです。
threadmax 文字列 それはルールがDNSサーバーに同時に問い合わせることができるパケットの数です。 その最大値は700です。 入力パケット数がより大きい場合 threadmax次のパケットは自動的に受け入れられます。

RBLルールを取得する

RBLルールを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/protection_ssh

GET /ipds/rbl/<name>

RBL設定とその説明パラメータを表示します。 RBLルールの一意の識別子です。

応答パラメータ

応答例:

{
   "description" : "Get RBL protection_ssh",
   "params" : {
      "cache_size" : 8192,
      "cache_time" : 3600,
      "domains" : [
         "ssh.zevenet.com",
         "ssh.blocklist.de"
      ],
      "farms" : [
        "sshL4farm"
      ],
      "local_traffic" : "false",
      "log_level" : 4,
      "name" : "protection_ssh",
      "only_logging" : "true",
      "queue_size" : 64538,
      "status" : "down",
      "threadmax" : 700
   }
}

RBLルールオブジェクト:

フィールド 種類 説明
cache_size RBLルールがキャッシュできるIPソースの数です。
キャッシュの時間 IPソースがブロックされる時間(秒)です。
ドメイン String [] これは、ルールが照会しているすべてのドメインのリストです。
農場 String [] ブラックリストが適用されるファームリスト。
local_traffic 文字列 このフィールドに値がある場合 trueRBLルールはプライベートネットワークセグメントからのトラフィックを調べます。 またはその値が false RBLルールはプライベートネットワークセグメントからのトラフィックを無視します。 ローカルトラフィックがパブリックDNSによってブロックされることはありません。
log_level 重大度ログレベルです。 それは0と7の間の値を持つことができ、0緊急事態と7デバッグです。
文字列 RBLルール名 一意の識別子として使用されます。
only_logging 文字列 値が trueIPがドメイン内で一致すると、ログに記録されます。 またはこのフィールドに値がある場合 falseIPがドメイン内で一致すると、そのIPはログに記録され、パケットはドロップされます。
queue_size ルールがキューに保持できるパケット数です。
status 文字列 RBLルールのステータスを表示します。 その値は ダウンルールが機能していない場合 または up それはルールが機能しているということです。
threadmax 文字列 それはルールがDNSサーバーに同時に問い合わせることができるパケットの数です。 その最大値は700です。 入力パケット数がより大きい場合 threadmax次のパケットは自動的に受け入れられます。

RBLルールを作成する

新しいRBLルールを作成する

リクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"all"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl

POST /ipds/rbl

ファームで使用されるRBLルールを作成します。

リクエストパラメータ

フィールド 種類 説明 必須
文字列 RBLルール名 一意の識別子として使用されます。 true
{
   "description" : "Create a RBL rule.",
   "params" : {
      "cache_size" : 8192,
      "cache_time" : 3600,
      "domains" : [],
      "farms" : [],
      "local_traffic" : "false",
      "log_level" : 4,
      "name" : "all",
      "only_logging" : "true",
      "queue_size" : 64538,
      "status" : "down",
      "threadmax" : 700
   }
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はRBLオブジェクトの配列になり、各オブジェクトには次のキー属性が含まれます。

フィールド 種類 説明
cache_size RBLルールがキャッシュできるIPソースの数です。
キャッシュの時間 IPソースがブロックされる時間(秒)です。
ドメイン String [] これは、ルールが照会しているすべてのドメインのリストです。
農場 String [] ブラックリストが適用されるファームリスト。
local_traffic 文字列 このフィールドに値がある場合 trueRBLルールはプライベートネットワークセグメントからのトラフィックを調べます。 またはその値が false RBLルールはプライベートネットワークセグメントからのトラフィックを無視します。 ローカルトラフィックがパブリックDNSによってブロックされることはありません。
log_level 重大度ログレベルです。 それは0と7の間の値を持つことができ、0緊急事態と7デバッグです。
文字列 RBLルール名 一意の識別子として使用されます。
only_logging 文字列 値が trueIPがドメイン内で一致すると、ログに記録されます。 またはこのフィールドに値がある場合 falseIPがドメイン内で一致すると、そのIPはログに記録され、パケットはドロップされます。
queue_size ルールがキューに保持できるパケット数です。
status 文字列 RBLルールのステータスを表示します。 その値は ダウンルールが機能していない場合 または up それはルールが機能しているということです。
threadmax 文字列 それはルールがDNSサーバーに同時に問い合わせることができるパケットの数です。 その最大値は700です。 入力パケット数がより大きい場合 threadmax次のパケットは自動的に受け入れられます。

RBLルールを修正する

RBLルールを修正する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"all_reported","cache_size":16384, "cache_time":180000, "queue_size":32269, "threadmax":500, "local_traffic":"true", "log_level":4, "only_logging":"true"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/all

PUT /ipds/rule/<name>

RBLルールの設定を変更します。 RBLルールの一意の識別子です。

リクエストパラメータ:

フィールド 種類 説明
cache_size RBLルールがキャッシュできるIPソースの数です。
キャッシュの時間 IPソースがブロックされる時間(秒)です。
local_traffic 文字列 このフィールドに値がある場合 trueRBLルールはプライベートネットワークセグメントからのトラフィックを調べます。 またはその値が false RBLルールはプライベートネットワークセグメントからのトラフィックを無視します。 ローカルトラフィックがパブリックDNSによってブロックされることはありません。
log_level 重大度ログレベルです。 それは0と7の間の値を持つことができ、0緊急事態と7デバッグです。
文字列 RBLルール名 一意の識別子として使用されます。
only_logging 文字列 値が trueIPがドメイン内で一致すると、ログに記録されます。 またはこのフィールドに値がある場合 falseIPがドメイン内で一致すると、そのIPはログに記録され、パケットはドロップされます。
queue_size ルールがキューに保持できるパケット数です。
threadmax 文字列 それはルールがDNSサーバーに同時に問い合わせることができるパケットの数です。 その最大値は700です。 入力パケット数がより大きい場合 threadmax次のパケットは自動的に受け入れられます。

応答例:

{
   "description" : "Modify RBL rule all.",
   "params" : {
      "cache_size" : 16384,
      "cache_time" : 180000,
      "domains" : [],
      "farms" : [],
      "local_traffic" : "true",
      "log_level" : 4,
      "name" : "all",
      "only_logging" : "true",
      "queue_size" : 32269,
      "status" : "down",
      "threadmax" : 500
   }
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はRBLオブジェクトの配列になり、各オブジェクトには次のキー属性が含まれます。

フィールド 種類 説明
cache_size RBLルールがキャッシュできるIPソースの数です。
キャッシュの時間 IPソースがブロックされる時間(秒)です。
ドメイン String [] これは、ルールが照会しているすべてのドメインのリストです。
農場 String [] ブラックリストが適用されるファームリスト。
local_traffic 文字列 このフィールドに値がある場合 trueRBLルールはプライベートネットワークセグメントからのトラフィックを調べます。 またはその値が false RBLルールはプライベートネットワークセグメントからのトラフィックを無視します。 ローカルトラフィックがパブリックDNSによってブロックされることはありません。
log_level 重大度ログレベルです。 それは0と7の間の値を持つことができ、0緊急事態と7デバッグです。
文字列 RBLルール名 一意の識別子として使用されます。
only_logging 文字列 値が trueIPがドメイン内で一致すると、ログに記録されます。 またはこのフィールドに値がある場合 falseIPがドメイン内で一致すると、そのIPはログに記録され、パケットはドロップされます。
queue_size ルールがキューに保持できるパケット数です。
status 文字列 RBLルールのステータスを表示します。 その値は ダウンルールが機能していない場合 または up それはルールが機能しているということです。
threadmax 文字列 それはルールがDNSサーバーに同時に問い合わせることができるパケットの数です。 その最大値は700です。 入力パケット数がより大きい場合 threadmax次のパケットは自動的に受け入れられます。

RBLルールをコピーする

RBLルールをコピーする

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"copied_rule"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/all_reported

POST /ipds/rule/<name>

RBLルールをコピーして新しいルールを作成します。 RBLルールの一意の識別子です。

リクエストパラメータ:

フィールド 種類 説明 の提出が必要です
文字列 新しいルールのRBLルール名。 一意の識別子として使用されます。 true

応答例:

{
   "description" : "Copy a RBL rule.",
   "params" : {
      "cache_size" : 16384,
      "cache_time" : 180000,
      "domains" : [],
      "farms" : [],
      "local_traffic" : "true",
      "log_level" : 4,
      "name" : "copied_rule",
      "only_logging" : "true",
      "queue_size" : 32269,
      "status" : "down",
      "threadmax" : 500
   }
}

応答パラメータ

応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はRBLオブジェクトの配列になり、各オブジェクトには次のキー属性が含まれます。

フィールド 種類 説明
cache_size RBLルールがキャッシュできるIPソースの数です。
キャッシュの時間 IPソースがブロックされる時間(秒)です。
ドメイン String [] これは、ルールが照会しているすべてのドメインのリストです。
農場 String [] ブラックリストが適用されるファームリスト。
local_traffic 文字列 このフィールドに値がある場合 trueRBLルールはプライベートネットワークセグメントからのトラフィックを調べます。 またはその値が false RBLルールはプライベートネットワークセグメントからのトラフィックを無視します。 ローカルトラフィックがパブリックDNSによってブロックされることはありません。
log_level 重大度ログレベルです。 それは0と7の間の値を持つことができ、0緊急事態と7デバッグです。
文字列 RBLルール名 一意の識別子として使用されます。
only_logging 文字列 値が trueIPがドメイン内で一致すると、ログに記録されます。 またはこのフィールドに値がある場合 falseIPがドメイン内で一致すると、そのIPはログに記録され、パケットはドロップされます。
queue_size ルールがキューに保持できるパケット数です。
status 文字列 RBLルールのステータスを表示します。 その値は ダウンルールが機能していない場合 または up それはルールが機能しているということです。
threadmax 文字列 それはルールがDNSサーバーに同時に問い合わせることができるパケットの数です。 その最大値は700です。 入力パケット数がより大きい場合 threadmax次のパケットは自動的に受け入れられます。

RBLルールを削除する

RBLを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/sip

DELETE /ipds/rbl/<name>

特定のRBLルールを削除します。 RBLルールの一意の識別子です。

応答例:

{
   "description" : "Delete RBL 'sip'",
   "message" : "The rule sip has been deleted successful.",
   "success" : "true"
}

すべてのRBLドメインを一覧表示する

すべてのRBLドメインを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains

GET /ipds/rbl/domains

RBLルールとリンクするために利用可能なドメインをすべてリストします。

応答例:

{
   "description" : "Get RBL domains",
   "params" : {
      "preloaded" : [
         {
            "domain" : "all.rbl.zevenet.com",
            "id" : 0
         },
         {
            "domain" : "ssh.rbl.zevenet.com",
            "id" : 1
         },
         {
            "domain" : "sip.rbl.zevenet.com",
            "id" : 2
         }
      ],
      "user" : [
         {
            "domain" : "zen.spamhaus.org",
            "id" : 0
         },
         {
            "domain" : "web.dnsbl.sorbs.net",
            "id" : 1
         }
      ]
   }
}

応答パラメータ

応答はキーを持つJSONになります paramsは 値として2種類のドメインリストがあります。

ソースオブジェクト:

フィールド 種類 説明
プリロード オブジェクト[] Zevenetチームによって追加されたドメインのリストです。
user オブジェクト[] ロードバランサーの管理者によって追加されたドメインのリストです。

プリロードされたユーザーオブジェクト

フィールド 種類 説明
id 数[] ドメインを識別するIDです。
ドメイン String [] rblルールがクエリを実行するドメインです。

ドメインを追加する

ドメインを追加する

リクエスト例:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"web.dnsbl.sorbs.net"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains

POST /ipds/rbl/domains

ユーザードメインリストに新しいドメインを追加します。

リクエストパラメータ

フィールド 種類 説明 必須
ドメイン 文字列 これは、RBLルールがクエリを実行するRBL提供者のゾーンです。 true

応答例:

{
   "description" : "Post a RBL domain.",
   "message" : "",
   "params" : {
      "domains" : [
         "zen.spamhaus.org",
         "sip.blocklist.de",
         "web.dnsbl.sorbs.net"
      ]
   }
}

応答パラメータ

応答は、ロードバランサ管理者によって追加されたすべてのドメインのリストを含むJSONになります。

フィールド 種類 説明
ドメイン String [] ロードバランサーの管理者によって追加されたドメインのリストです。

ドメインを変更する

ドメインを変更する

リクエスト例:

curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"ssh.blocklist.de"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains/2

PUT /ipds/rbl/domains/<id>

パラメータとして送信されたドメインまたはユーザードメインリストを他のユーザーによって変更します。

id ドメインユーザー識別子です。

リクエストパラメータ

フィールド 種類 説明
ドメイン 文字列 URIで送信されたドメインを置き換えるドメインです。

応答例:

{
   "description" : "Replace a domain",
   "message" : "RBL domain ssh.blocklist.de has been modified successful.",
   "params" : {
      "domains" : [
         {
            "domain" : "zen.spamhaus.org",
            "id" : 0
         },
         {
            "domain" : "web.dnsbl.sorbs.net",
            "id" : 1
         },
         {
            "domain" : "ssh.blocklist.de",
            "id" : 2
         }
      ]

   }
}

応答パラメータ

応答は、ロードバランサ管理者によって追加されたすべてのドメインのリストを含むJSONになります。

ユーザドメインオブジェクト:

フィールド 種類 説明
id 数[] ドメインを識別するIDです。
ドメイン String [] rblルールがクエリを実行するドメインです。

ドメインを削除する

ドメインを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains/1

DELETE /ipds/rbl/domains/<id>

ユーザードメインリストからドメインを削除します。

id 削除されるドメインユーザーIDです。

応答例:

{
   "description" : "Delete a RBL domain.",
   "message" : "RBL domain web.dnsbl.sorbs.net has been deleted successful.",
   "success" : "true"
}

RBLルールにアクションを適用する

アクションを適用する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"stop"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/<name>/action

POST ipds/rbl/<name>/actions

RBL ファームにアクションを適用します。アクションについては、リクエスト パラメーターの表を参照してください。 アクションをルールに適用するには、そのルールがほぼ XNUMX つのファームに適用される必要があります。

RBLルールの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
アクション 文字列 必要な操作を適用してください。 アクションは以下のとおりです。 stopつまり、RBLルールは停止され、ルールが適用されているトラフィック転送ファームはドロップされません。 startRBLルールが開始され、このルールが適用されているファームを転送するすべてのトラフィックがドロップされます。

応答例:

{
   "description" : "Apply a action to a RBL rule",
   "params" : {
      "action" : "start"
   }
}

応答パラメータ

設定に問題がなければ、zapiは要求されたアクションを返します。

エントルピー

システムオプションを使用すると、バランサで実行されているサービスとグローバルパラメータをカスタマイズすることができます。

バージョンを表示

バージョンを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/version

GET /system/version

製品のバージョンに関する情報を表示します。

応答例:

{
   "description" : "Get version",
   "params" : {
      "appliance_version" : "ZVA 4100, hypervisor: xen",
      "hostname" : "DEV5",
      "kernel_version" : "3.16.7-ckt20",
      "system_date" : "Thu Feb  2 10:34:27 2017",
      "zevenet_version" : "5.0"
   }
}

応答パラメータ

応答は以下のパラメータを持つJSONオブジェクトになります。

フィールド 種類 説明
appliance_version 文字列 応募バージョン 仮想マシンの場合はハイパーバイザーも表示します。
hostname 文字列 ホスト名
kernel_version 文字列 Linuxカーネルのバージョン
system_date 文字列 システム日付
zevenet_version 文字列 Zevenetのバージョン

DNSを表示

DNSを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/dns

GET /system/dns

DNSサービス設定を表示します。

応答例:

{
   "description" : "Get dns",
   "params" : {
      "primary" : "8.8.8.8",
      "secondary" : null
   }
}

応答パラメータ

応答は以下のパラメータを持つJSONオブジェクトになります。

フィールド 種類 説明
主要な 文字列 システムに設定されているプラ​​イマリDNS。
二次 文字列 セカンダリDNSがシステムに設定されています。

DNSの変更

DNSの変更

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"primary":"8.8.4.4","secondary":"8.8.8.8"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/dns

POST /system/dns

DNSサービス設定を変更します。

リクエストパラメータ

フィールド 種類 説明
主要な 文字列 システムに設定されているプラ​​イマリDNS。
二次 文字列 セカンダリDNSがシステムに設定されています。

応答例:

{
   "description" : "Post dns",
   "params" : {
      "primary" : "8.8.4.4",
      "secondary" : "8.8.8.8"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

SSHを表示

SSHを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ssh

GET /system/ssh

SSHサービスの設定を表示します。

応答例:

{
   "description" : "Get ssh",
   "params" : {
      "listen" : "*",
      "port" : "22"
   }
}

応答パラメータ

フィールド 種類 説明
聞く 文字列 SSHサービスが待機しているシステムのIP。 の キャラクター * すべての構成された IP をリッスンするために使用されます。<$
ポート 文字列 SSHサービス用に設定されたポート。

SSHを変更する

SSHを変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"listen":"192.168.100.241","port":"22"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ssh

POST /system/ssh

SSHサービスの設定を変更します。

リクエストパラメータ

応答は以下のパラメータを持つJSONオブジェクトになります。

フィールド 種類 説明
聞く 文字列 SSHサービスが待機しているシステムのIP。 の キャラクター * 設定されたすべてのIPで待機するために使用されます。
ポート 文字列 SSHサービス用に設定されたポート。

応答例:

{
   "description" : "Post ssh",
   "params" : {
      "listen" : "192.168.100.241",
      "port" : "22"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

SNMPを表示

SNMPを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/snmp

GET /system/snmp

SNMPサービス設定を表示します。

応答例:

{
   "description" : "Get snmp",
   "params" : {
      "community" : "public",
      "ip" : "*",
      "port" : "161",
      "scope" : "0.0.0.0/0",
      "status" : "false"
   }
}

応答パラメータ

応答は以下のパラメータを持つJSONオブジェクトになります。

フィールド 種類 説明
コミュニティ 文字列 コミュニティ名。 読み取り専用コミュニティが使用されました。
ip 文字列 SNMPサービスが実行されているインターフェイスIP。 Allインタフェースを有効にしておくことは安全です。 キャラクター *.
ポート 文字列 SNMPサービスが実行されているポート。
スコープ 文字列 アクセス権を持つIPまたはサブネット(IP /ビット)。 1つのIPのみにアクセスを許可したい場合は、クライアントIPからSNMPDサービスへのアクセスを許可してください。ビット「/ 32」を使用してください。
status 文字列 SNMPサービスのステータス 可能な値は次のとおりです。 trueサービスは実行中です。 または false、サービスは停止しています。

SNMPを変更する

SNMPを変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"ip":"192.168.100.241","port":"170","scope":"0.0.0.0/0","status":"true","community":"public"}'  
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/snmp

POST /system/snmp

SNMPサービス設定を変更します。

リクエストパラメータ

フィールド 種類 説明
コミュニティ 文字列 コミュニティ名。 読み取り専用コミュニティが使用されました。
ip 文字列 SNMPサービスが実行されているインターフェイスIP。 Allインタフェースを有効にしておくことは安全です。 キャラクター *.
ポート 文字列 SNMPサービスが実行されているポート。
スコープ 文字列 アクセス権を持つIPまたはサブネット(IP /ビット)。 1つのIPのみにアクセスを許可したい場合は、クライアントIPからSNMPDサービスへのアクセスを許可してください。ビット「/ 32」を使用してください。
status 文字列 SNMPサービスのステータス 可能な値は次のとおりです。 trueサービスは実行中です。 または false、サービスは停止しています。

応答例:

{
   "description" : "Post snmp",
   "params" : {
      "community" : "public",
      "ip" : "192.168.100.241",
      "port" : "170",
      "scope" : "0.0.0.0/0",
      "status" : "true"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ライセンスを取得する

ライセンスを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/license/txt

GET /system/license/<format>

Zevenetのライセンスをフォーマットで表示します。 利用できる フォーマット 値は HTML or TXT.

NTPを表示

NTPを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ntp

GET /system/ntp

NTPサービス設定を表示します。

応答例:

{
   "description" : "Get ntp",
   "params" : {
      "server" : "pool.ntp.org"
   }
}

応答パラメータ

応答は以下のパラメータを持つJSONオブジェクトになります。

フィールド 種類 説明
サーバー 文字列 NTPクライアントが要求を行うサーバー。

NTPを変更する

NTPを変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"server":"pool.ntp.org"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ntp

POST /system/ntp

NTPサービス設定を変更します。

リクエストパラメータ

フィールド 種類 説明
サーバー 文字列 NTPクライアントが要求を行うサーバー。

応答例:

{
   "description" : "Post ntp",
   "params" : "pool.ntp.org"
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

HTTPサーバーを表示

HTTPサーバーを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/http

GET /system/http

HTTPサービス設定を表示します。 Zevenet APIとGUIが実行されている場所です。

応答例:

{
   "description" : "Get http",
   "params" : {
      "ip" : "*",
      "port" : "444"
   }
}

応答パラメータ

応答は以下のパラメータを持つJSONオブジェクトになります。

フィールド 種類 説明
ip 文字列 HTTPサーバーがlistenしているIP。 の キャラクター * 設定されたすべてのIPで待機するために使用されます。
ポート 文字列 HTTPサービスが待機しているポート。

HTTPサーバーを変更する

HTTPサーバーを変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"ip":"192.168.100.241","port":"80"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/http

POST /system/http

HTTPサービス設定を変更します。

リクエストパラメータ

フィールド 種類 説明
ip 文字列 HTTPサーバーがlistenしているIP。 の キャラクター * 設定されたすべてのIPで待機するために使用されます。
ポート 文字列 HTTPサービスが待機しているポート。

応答例:

{
   "description" : "Post http",
   "params" : {
      "ip" : "192.168.100.241",
      "port" : "80"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

全ユーザーを一覧表示

全ユーザーを一覧表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users

GET /system/users

システムで利用可能なユーザーを一覧表示します。

応答例:

{
   "description" : "Get users",
   "params" : [
      {
         "status" : "true",
         "user" : "root"
      },
      {
         "status" : "true",
         "user" : "zapi"
      }
   ]
}

応答パラメータ

応答は以下のパラメータの配列を持つJSONオブジェクトになります。

フィールド 種類 説明
status 文字列 ユーザーステータス。 可能な値は次のとおりです。 trueユーザーがアクティブになります。 か否か falseユーザーは無効になります。
user 文字列 ユーザー名

zapiユーザーを取得する

zapiユーザーを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users/zapi

GET /system/users/zapi

zapiユーザー構成を表示します。 このパラメータはzapiを通してZevenetサービスにアクセスするために必要です。

応答例:

{
   "description" : "Zapi user configuration.",
   "params" : {
      "key" : "root",
      "status" : "true"
   }
}

応答パラメータ

応答は以下のパラメータの配列を持つJSONオブジェクトになります。

フィールド 種類 説明
キー 文字列 zapiで認証するための鍵。 これはパラメータです ZAPI_KEY zapiの呼び出しに使用されます。
status 文字列 Zapiユーザーの状況 その値が truezapiを使うことは可能です。 か否か falsezapiは無効化されているのでリクエストを送信することはできません。

zapiユーザー構成を変更する

zapiユーザー構成を変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
 -d '{"key":"newzapikey","status":"enable","newpassword":"password1234"}' 
 https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users/zapi

POST /system/users/zapi

zapiユーザー構成を変更します。 このパラメータはzapiを通してZevenetサービスにアクセスするために必要です。

リクエストパラメータ

フィールド 種類 説明
キー 文字列 zapiで認証するための鍵。 これはパラメータです ZAPI_KEY zapiの呼び出しに使用されます。
新しいパスワード 文字列 zapiユーザーの新しいパスワード。
status 文字列 Zapiユーザーの状況 その値が truezapiを使うことは可能です。 か否か falsezapiは無効化されているのでリクエストを送信することはできません。

応答例:

{
   "description" : "Zapi user settings.",
   "message" : "Settings was changed successful.",
   "params" : {
      "key" : "newzapikey",
      "newpassword" : "password1234",
      "status" : "enable"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

rootパスワードを変更する

rootパスワードを変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
{"password":"admin","newpassword":"alwaysisbetterastrongpass"} 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users/root

POST /system/users/root

rootパスワードを変更します。 このユーザーは、GUIを介してzevenetサービスにアクセスするために使用されます。

リクエストパラメータ

フィールド 種類 説明 必須
パスワード 文字列 現在のrootユーザーのパスワード。 true
新しいパスワード 文字列 rootユーザーの新しいパスワード true

応答例:

{
   "description" : "User settings.",
   "message" : "Settings was changed succesful.",
   "params" : {
      "newpassword" : "alwaysisbetterastrongpass",
      "password" : "admin"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

ログファイルを一覧表示する

ログファイルを一覧表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/logs

GET /system/logs

利用可能なログファイルを一覧表示します。

応答例:

{
   "description" : "Get logs",
   "params" : [
      {
         "date" : "Mon Jan 30 06:25:02 2017",
         "file" : "syslog.4.gz"
      },
      {
         "date" : "Tue Jan 31 06:25:03 2017",
         "file" : "syslog.3.gz"
      },
      {
         "date" : "Wed Feb  1 06:25:04 2017",
         "file" : "syslog.2.gz"
      },
      {
         "date" : "Thu Feb  2 06:25:03 2017",
         "file" : "syslog.1"
      },
      {
         "date" : "Sun Jan 29 06:25:03 2017",
         "file" : "syslog.5.gz"
      },
      {
         "date" : "Fri Feb  3 04:28:56 2017",
         "file" : "syslog"
      }
   ]
}

応答パラメータ

応答はログファイルの配列を持つJSONになります。 各オブジェクトのパラメータは次のとおりです。

フィールド 種類 説明
date 文字列 ファイルが最後に変更された日付。
file 文字列 ログファイルのファイル名 ログの一意の識別子として使用されます。

ログファイルの行を表示する

ログファイルの行を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/logs/kern.log/lines/2

GET /system/logs/<file>/lines/<lines>

ログファイルの行数をリストします。 URIパラメータ file 読み取りからのログファイルです。 ラインズ 最後から表示する行数です。

応答例:

{
   "description" : "Show a log file",
   "log" : [
      "Aug 28 09:44:00 maq2 kernel: [258451.740173] Netfilter messages via NETLINK v0.30.\n",
      "Aug 28 09:44:00 maq2 kernel: [258451.775666] ctnetlink v0.93: registering with nfnetlink.\n"
   ]
}

応答パラメータ

応答はログファイルの配列を持つJSONになります。 キーはlogで、その値は要求された行数を含む配列です。

ログファイルをダウンロードする

ログファイルをダウンロードする

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/logs/syslog.2.gz > log.gz

GET /system/logs/<file>

GET要求中にリストされた使用可能なログファイルのログファイルをダウンロードします。

file ログファイルの一意の識別子です。

システム - バックアップ

バックアップオプションを使用すると、現在のシステム設定を保存してダウンロードできます。

このセクションでは、バックアップファイルを作成、復元、アップロード、ダウンロードすることができます。

リストバックアップ

リストバックアップ

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup

GET /system/backup

応答例:

{
   "description" : "Get backups",
   "params" : [
      {
         "date" : "Fri Feb  3 06:01:04 2017",
         "name" : "newbackup"
      },
      {
         "date" : "Fri Feb  3 05:50:48 2017",
         "name" : "firstConf"
      }
   ]
}

応答パラメータ

応答は一連のバックアップを含むJSONになります。 各配列要素のパラメータは次のとおりです。

フィールド 種類 説明
date 文字列 最後の修正日。
文字列 一意の識別子として使用されるファイル名です。 ファイル拡張子は .tar.gz.

バックアップを作成する

バックアップを作成する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
 -d '{"name":"firstConf"}' 
 https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup

POST /system/backup

現在の設定のシステム設定バックアップを作成します。

リクエストパラメータ

フィールド 種類 説明
文字列 一意の識別子として使用されるファイル名です。 ファイル拡張子は .tar.gz.

応答例:

{
   "description" : "Create a backups",
   "message" : "Backup firstConf was created successful.",
   "params" : "firstConf"
}

バックアップをダウンロードする

バックアップをダウンロードする

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
 https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/firstConf > ~/zevenetConf.tar.gz

バックアップファイルはTAR GZ形式です。

GET /system/backup/<name>

システム構成のバックアップをダウンロードしてください。 バックアップの一意の識別子です。

バックアップをアップロードする

バックアップをアップロードする

リクエスト例:

curl -k -X PUT -H 'Content-Type: text/plain' 
--data-binary @/opt/1mar.tar.gz -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/newbackup

PUT /system/backup/<name>

ローカルに保存されたバックアップをZevenetにアップロードします。 Zevenetに保存されるバックアップの一意の識別子です。

リクエストパラメータ

バックアップをアップロードするには、–data-binaryを使用する必要があります。

応答例:

{
   "description" : "Upload a backup",
   "message" : "Backup newbackup was created successful.",
   "params" : "newbackup"
}

バックアップを削除する

バックアップを削除する

リクエスト例:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/firstConf

DELETE /system/backup/<name>

Zevenetシステムからバックアップファイルを削除します。 バックアップの一意の識別子です。

応答例:

{
   "description" : "Delete backup firstConf'",
   "message" : "The list firstConf has been deleted successful.",
   "success" : "true"
}

バックアップを適用する

バックアップを適用する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"action":"apply"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/firstConf/actions

POST /system/backup/<name>/actions

バックアップファイルから設定を復元します。 バックアップの一意の識別子です。

リクエストパラメータ

フィールド 種類 説明
アクション 文字列 バックアップ設定を復元するには、値を 適用する.

応答例:

{
   "description" : "Apply a backup to the system",
   "params" : {
      "action" : "apply"
   }
}

システム - 通知

通知は2つの要素で構成されています。 差出人 方法とタイプ アラート.

警告セクションでは、どの種類の警告を受け取るかを選択できます。 実際には、アラートはバックエンドまたはクラスタのステータスに重点が置かれているため、一部のスイッチがオンになるとバランサは通知を送信します。

メソッドセクションでは、Zevenetが通知を送信する必要があるときにどの送信者を使用するかを選択できます。

アラートステータスを表示

アラートステータスを表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts

GET /system/notifications/alerts

すべての種類のアラートをそのステータスと共に一覧表示します。

応答例:

{
   "description" : "Get notifications alert status",
   "params" : [
      {
         "alert" : "backends",
         "status" : "disabled"
      },
      {
         "alert" : "cluster",
         "status" : "disabled"
      }
   ]
}

応答パラメータ

フィールド 種類 説明
アラート 文字列 アラートの種類。アラートの一意の識別子として使用されます。 利用可能なアラートは以下のとおりです。 バックエンドバックエンドがステータスを変更したときに通知する。 または クラスタクラスタマスターノードが他のノードに切り替わったときに通知を送信します。
status 文字列 アラートがあるかどうかを表示 無効、イベントが発生したときにシステムは通知を送信しません。 または 使用可能システムは、状況の変化を検出したときにアラートを送信します。

通知アラートを取得する

通知アラートを取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts/backends

GET /system/notifications/alerts/<alert>

アラートの種類に関する設定を表示します。

アラート アラートの固有IDです。

応答例:

{
   "description" : "Get notifications alert backends settings",
   "params" : {
      "avoidflappingtime" : 5,
      "prefix" : "",
      "status" : "disabled"
   }
}

応答パラメータ

フィールド 種類 説明
フラッピングタイム バックエンドが利用可能な場合や短期間で利用できない場合があります。このフィールドでは、バックエンドのステータスが変化したときに通知メッセージを回避する期間を設定できます。通知が送信されます。
接頭辞 文字列 これは電子メールの件名の接頭辞で、この種類の警告に対してシステムによって送信されます。
status 文字列 アラートがあるかどうかを表示 無効、イベントが発生したときにシステムは通知を送信しません。 または 使用可能システムは、状況の変化を検出したときにアラートを送信します。

通知アラートを変更する

通知アラートを変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
{"avoidflappingtime":10,"prefix":"[backend alert]"} 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts/backends

POST /system/notifications/alerts/<alert>

アラート アラートの固有IDです。

リクエストパラメータ

フィールド 種類 説明
フラッピングタイム バックエンドが利用可能な場合や短期間で利用できない場合があります。このフィールドでは、バックエンドのステータスが変化したときに通知メッセージを回避する期間を設定できます。通知が送信されます。 このパラメータはクラスタアラートには含まれていません。クラスタには独自のスイッチ時間があります。
接頭辞 文字列 これは電子メールの件名の接頭辞で、この種類の警告に対してシステムによって送信されます。

応答例:

{
   "description" : "Set notifications alert backends",
   "params" : {
      "avoidflappingtime" : 10,
      "prefix" : "[backend alert]"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

アラートを有効にする

アラートを有効にする

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
{"action":"enable"} 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts/backends/actions

POST /system/notifications/alerts/<alert>/actions

アラートの種類に対する通知を有効または無効にします。

アラート アラートの固有IDです。

リクエストパラメータ

フィールド 種類 説明
アクション 文字列 アラートに対して使用可能なアクションは次のとおりです。 障害者、イベントが発生したときにシステムは通知を送信しません。 または enableシステムは、状況の変化を検出したときにアラートを送信します。

応答例:

{
   "description" : "Set notifications alert backends actions",
   "params" : {
      "action" : "enable"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

電子メール設定を取得する

電子メール設定を取得する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/methods/email

GET /system/notifications/methods/email

電子メール送信者のすべての設定を表示します。

注:TLSが有効になっていても、Eメールの送信に使用されるSMTPポートはTCP 25です。

応答例:

{
   "description" : "Get notifications email methods",
   "params" : {
      "from" : "user@zevenet.com",
      "method" : "email",
      "password" : "******",
      "server" : "smtp.gmail.com",
      "tls" : "true",
      "to" : "adminuser@zevenet.net",
      "user" : "user@zevenet.com"
   }
}

応答パラメータ

フィールド 種類 説明
from 文字列 電子メールを送信する電子メールアカウント。このアカウントはSMTPヘッダーFrom:に表示され、受信者が電子メールを返信した場合に使用されます。
方法 文字列 メソッドの一意の識別子です。 実際に利用可能な方法は email.
パスワード 文字列 のパスワード user SMTPアカウント。サーバーがSMTP認証を要求する場合、このパスワードが必要です。
サーバー 文字列 電子メールを介してSMTPサーバーが送信されます。
TLS 文字列 電子メールを送信するためのTLS検証を有効にします。このプロパティはSTARTTLSを使用し、この機能はSMTPサーバーでサポートされる必要があります。 一部のSMTPサーバーでは有効にする必要があります。 可能な値は次のとおりです。 trueTLS検証は電子メールの送信に対して有効になっています。 または false、電子メールの送信はTLS検証を使用しません。
〜へ 文字列 電子メールを受信する電子メールアカウントは、このアカウントにSMTPヘッダーに表示されます。
user 文字列 EメールアカウントはEメールの送信を許可されています。サーバーがSMTP認証を要求する場合、このアカウントが必要です。

電子メール設定を変更する

電子メール設定を変更する

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json'  -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"from":"user@zevenet.com","password":"verystrongpass","server":"smtp.gmail.com","to":"adminuser@zevenet.net","tls":"true","user":"user@zevenet.com"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/methods/email

POST /system/notifications/methods/email

Eメール送信者方式の構成を変更します。

リクエストパラメータ

フィールド 種類 説明
from 文字列 電子メールを送信する電子メールアカウント。このアカウントはSMTPヘッダーFrom:に表示され、受信者が電子メールを返信した場合に使用されます。
パスワード 文字列 のパスワード user SMTPアカウント。サーバーがSMTP認証を要求する場合、このパスワードが必要です。
サーバー 文字列 電子メールを介してSMTPサーバーが送信されます。
TLS 文字列 電子メールを送信するためのTLS検証を有効にします。このプロパティはSTARTTLSを使用し、この機能はSMTPサーバーでサポートされる必要があります。 一部のSMTPサーバーでは有効にする必要があります。 可能な値は次のとおりです。 trueTLS検証は電子メールの送信に対して有効になっています。 または false、電子メールの送信はTLS検証を使用しません。
〜へ 文字列 電子メールを受信する電子メールアカウントは、このアカウントにSMTPヘッダーに表示されます。
user 文字列 EメールアカウントはEメールの送信を許可されています。サーバーがSMTP認証を要求する場合、このアカウントが必要です。

応答例:

{
   "description" : "Get notifications email methods",
   "params" : {
      "from" : "user@zevenet.com",
      "method" : "email",
      "password" : "verystrongpass",
      "server" : "smtp.gmail.com",
      "tls" : "true",
      "to" : "adminuser@zevenet.net",
      "user" : "user@zevenet.com"
   }
}

応答パラメータ

応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答例を参照してください。

テストメールを送る

テストメールを送る

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json'  -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"action":"test"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/methods/email/actions

POST /system/notifications/methods/email/actions

それをテストするために、電子メール設定でテストメールを送信します。

リクエストパラメータ

フィールド 種類 説明
アクション 文字列 テストメールを送信する価値は test.

応答例:

{
   "description" : "Send test mail",
   "message" : "Test mail sent successful.",
   "success" : "true"
}

サポートセーブをダウンロードする

サポートセーブをダウンロードする

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/supportsave > supportsave.tar.gz

GET /system/supportsave

システムで実行されているすべての設定とプロセスを含むシステムステータスイメージを取得します。 これは問題を見つけることや援助を支援することが必要であることを意味します。

システム - クラスタ

クラスタはマスターノードによって行われる要素で、バックエンドへの接続を管理し、バックアップノードがマスターをチェックし、ダウン状態になった場合はマスターノードに切り替える準備ができています。

ステータスが切り替えられると、バックアップノードはそれ自体のすべての接続ステータスを復元します。 そのため、クライアントはサービスの中断を検出しません。

これにより、ロードバランサは高可用性になります。 そのため、Zevenetに問題がある場合、サービスはアップロードされた設定で機能し続けます。

クラスタ構成を表示する

クラスタ構成を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster

GET /system/cluster

クラスタに関するすべての設定を表示します。

レスポンスボディ:

{
   "description" : "Show the cluster configuration",
   "params" : {
      "check_interval" : 5,
      "failback" : "disabled",
      "interface" : "eth0",
      "nodes" : [
         {
            "ip" : "192.168.100.241",
            "name" : "canoDEV4100",
            "node" : "local"
         },
         {
            "ip" : "192.168.100.240",
            "name" : "maqvir",
            "node" : "remote"
         }
      ]
   }
}

応答パラメータ

応答は、クラスター構成を持つJSONオブジェクトと、その中にノードを持つ配列になります。

クラスタオブジェクト

フィールド 種類 説明
check_interval マスターノードのステータスを2回チェックする間の待ち時間です。
フェイルバック 文字列 どのノードがマスターになることを好みます。 値は、 ノード、ノードを優先する。 または 無効いずれかのノードがマスターになることができ、そのノードに優先順位がない場合。
インタフェース 文字列 ノードのIPが設定されているインターフェイス。
ノード オブジェクト[] クラスターのノード。

ノードオブジェクト

フィールド 種類 説明
ip 文字列 ノードのステータスをチェックし、情報の複製を行うためにノードに設定されているIPです。
文字列 これはノードのホスト名であり、ノードの一意の識別子として使用されます。
ノード 文字列 可能な値は次のとおりです。 ローカルノードがzapi要求を受信して​​いるノードである場合 または リモートifがクラスタ内で構成されている他のノードである場合。

クラスタを有効にする

クラスタを有効にする

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"local_ip":"192.168.100.241","remote_ip":"192.168.100.240","remote_password":"admin"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster

POST /system/cluster

2つのバランサを通信するクラスタを行います。

リクエストパラメータ

フィールド 種類 説明 必須
remote_ip 文字列 クラスタで使用されているリモートホストのIP。 true
local_ip 文字列 クラスタで使用されているローカルホストのIP。 true
remote_password 文字列 リモートバランサのrootユーザーのパスワード。 true

レスポンスボディ:

{
   "description" : "Enabling cluster",
   "message" : "Cluster enabled successfully",
   "success" : "true"
}

クラスタ構成を変更する

クラスタ構成を変更する

リクエスト例:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"check_interval":4,"failback":"disabled"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster

PUT /system/cluster

クラスタの作業モードパラメータを設定します。

リクエストパラメータ

フィールド 種類 説明
check_interval マスターノードのステータスを2回チェックする間の待ち時間です。
フェイルバック 文字列 どのノードがマスターになることを好みます。 値は、 ノード、ノードを優先する。 または 無効いずれかのノードがマスターになることができ、そのノードに優先順位がない場合。

レスポンスボディ:

{
   "description" : "Modifying the cluster configuration",
   "params" : {
      "check_interval" : "4",
      "failback" : "disabled"
   }
}

クラスタを無効にする

クラスタを無効にする

リクエスト例:

curl -k -X DELETE -H 'Content-Type: application/json' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster

DELETE /system/cluster

クラスタを削除します。

レスポンスボディ:

{
   "description" : "Disabling cluster",
   "message" : "Cluster disabled successfully",
   "success" : "true"
}

メンテナンスモード

メンテナンスモード

リクエスト例:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"action":"maintenance","status":"enable"}' 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster/actions

POST /system/cluster/actions

ローカルクラスタノードをメンテナンスモードに変更します。

レスポンスボディ:

{
   "description" : "Setting maintenance mode",
   "message" : "Local cluster node changed to maintenance mode successfully",
   "success" : "true"
}

リクエストパラメータ

フィールド 種類 説明 必須
アクション 文字列 クラスタに適用するアクション。 利用可能なアクションは メンテナンス. true
status 文字列 ノードを配置するステータス、可能な値は enableメンテナンスモードにします。 または disableノードを使用可能にします。 true

ノードの状態を表示

ノードの状態を表示

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster/nodes

GET /system/cluster/nodes

すべてのノードの状況を表示します。

レスポンスボディ:

{
   "description" : "Cluster nodes status",
   "params" : [
      {
         "ip" : "192.168.100.241",
         "message" : "Node online and active",
         "name" : "canoDEV4100",
         "node" : "local",
         "role" : "master",
         "status" : "ok"
      },
      {
         "ip" : "192.168.100.240",
         "message" : "Node online and passive",
         "name" : "maqvir",
         "node" : "remote",
         "role" : "backup",
         "status" : "ok"
      }
   ]
}

応答パラメータ

レスポンスはキー付きのJSONになります パラメータ ノードステータスオブジェクトの配列

ノード状況オブジェクト

フィールド 種類 説明
ip 文字列 ノードのステータスをチェックし、情報の複製を行うためにノードに設定されているIPです。
文字列 これはノードのホスト名であり、ノードの一意の識別子として使用されます。
ノード 文字列 可能な値は次のとおりです。 ローカルノードがzapi要求を受信して​​いるノードである場合 または リモートifがクラスタ内で構成されている他のノードである場合。
メッセージ 文字列 ノードのステータスと動作モードを示す説明メッセージ。
役割 文字列 このノードの実際の動作モード 可能な値は次のとおりです。 マスターこのノードはバックエンドとクライアント間の接続を管理しています。 または バックアップ、このノードはマスターステータス接続とマスター設定を返信し、マスターサービスが機能していることを確認しています。
status 文字列 何らかのクラスタプロセスが失敗しているかどうかを示します。

ローカルホストクラスタの状態を表示する

ローカルホストクラスタの状態を表示する

リクエスト例:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster/nodes/localhost

GET /system/cluster/nodes/localhost

自ノードの状態を表示します。

レスポンスボディ:

{
   "description" : "Cluster status for localhost",
   "params" : {
      "message" : "Node online and active",
      "name" : "canoDEV4100",
      "role" : "master",
      "status" : "ok"
   }
}

応答パラメータ

フィールド 種類 説明
メッセージ 文字列 ノードのステータスと動作モードを示す説明メッセージ。
文字列 これはノードのホスト名であり、ノードの一意の識別子として使用されます。
役割 文字列 このノードの実際の動作モード 可能な値は次のとおりです。 マスターこのノードはバックエンドとクライアント間の接続を管理しています。 または バックアップ、このノードはマスターステータス接続とマスター設定を返信し、マスターサービスが機能していることを確認しています。
status 文字列 何らかのクラスタプロセスが失敗しているかどうかを示します。