Zevenet API v4.0リファレンス
ZAPI (Zエベネット Aアプリケーション Pプログラミング Interface)は、システム管理者がZevenetロードバランサーの動作を制御するためのツールです。
使用する前に、Webインターフェースからルートzapiユーザーをアクティブにする必要があります。 システム>ユーザー.
ZAPIユーザーが作成されたら、HTTPサーバーにリクエストを送信することが可能です。 URIリクエストは次のようになります。
HTTP verb
https://zevenet_server
:444 / zapi / v4.0 / zapi.cgi /URI_path
,
コラボレー zevenet_server
HTTPサービスがリッスンしているIP、HTTP管理インタフェース、および URI_path
要求されるオブジェクトを定義します。 各Zevenetオブジェクトへのアクセス方法および変更方法は、各ドキュメントセクションで定義されます。
HTTP verbs
ZAPIに受け入れられるのは、次のとおりです。
GETは、要素のリストを取得したり、オブジェクトを取得するために使用されます。
POSTは、新しいオブジェクトの作成、システムオブジェクト(管理者が作成していないオブジェクト)の変更、およびアクションの適用に使用されます。
PUTは、管理者によって作成された既存のオブジェクトを変更するために使用されます。
DELETEは、管理者によって作成されたオブジェクトを削除し、場合によっては設定をリセットするために使用されます(インターフェースの場合)。
ZAPIパラメータ
ZAPIパラメータ
リクエスト例:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-H 'Content-Type: application/json' -d ''
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms
A PUT and POST ZAPI呼び出しには必須(必須)パラメーターは必要ありませんが、要求には常にほぼパラメーターが必要です。 PUTまたはPOSTリクエストがパラメータなしで送信された場合、ZAPIは予期されるパラメータとそれらの可能なオプションのリストを返します。
応答例:
{
"description" : "No parameter has been sent. Please, try with:",
"params" : [
{
"name" : "profile",
"options" : [
"required"
],
"possible_values" : [
"http",
"gslb",
"l4xnat",
"datalink"
]
},
{
"format" : "ip_addr",
"name" : "vip",
"options" : [
"required"
]
},
{
"description" : "expects a port",
"name" : "vport",
"options" : [
"required"
]
},
{
"description" : "The farm name is required to have alphabet letters, numbers or hypens (-) only.",
"format" : "farm_name",
"name" : "farmname",
"options" : [
"required"
]
}
]
}
応答パラメータ
応答は、パラメータと設定可能なオプションを説明するフィールドのリストです。
パラメータの説明
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | それは、 キー 許容値まで。 以下のパラメーターを使用して定義します。 |
説明 | 文字列 | 期待値に関する情報です。 |
インターバル | 文字列 | パラメータには、下限、上限、またはその両方を考慮した数値が必要です。 制限として使用されている値は有効と見なされます。 |
フォーマット | 文字列 | それはパラメータの期待されるフォーマットの手がかりになることができます、それはデータを識別する正規表現またはキーになることができます。 |
possible_values | String [] | それはパラメータが持っていなければならない可能な値のリストです。 |
オプション | String [] | 念頭に置くべきより多くの構成を示しています。 |
オプションのリスト
フィールド | 説明 |
---|---|
の提出が必要です | このオプションは、パラメータが必須であることを示します。リクエストで送信する必要があります。 |
非空白 | このオプションは 空の文字列 パラメータ値として。 パラメータを設定解除すると便利です。 |
エラーコード
ZAPIは、以下のエラーコードのうちの1つを返すことができます。
エラーコード | 手紙 | 説明 |
---|---|---|
400 | 不正な要求 | いくつかのリクエストパラメータが正しくありません。 |
401 | 無断 | ZAPIキーが間違っています。 |
402 | 証明書が無効です | ロードバランサは、リクエストを処理するために有効な証明書を必要とします。 |
403 | 禁断の | ZAPIキーのユーザー所有者には、要求またはそれに使用されているオブジェクトに対する権限がありません。 |
404 | 見つかりません | 使用されたURIまたは呼び出しで使用された1つのオブジェクトが存在しません。 |
405 | メソッドは許可されていません | HTTP動詞が存在しないか、現在のZAPI呼び出しに対して実装されていません。 |
406 | 受け入れられない | この機能は一時的に利用できません。 |
409 | 紛争 | 要求は有効ですが処理できませんでした。新しい構成が現在の構成と競合しています。 syslogがより多くの情報を提供する可能性があります。 |
410 | ゴーン | この機能は削除されました。 |
500 | 内部サーバーエラー | サーバーでエラーが発生しました。 |
504 | ゲートウェイタイムアウト | サーバーの応答タイムアウトに達したため、要求の処理は完了していません。 |
変更履歴
これは各バージョンに含まれている変更のリストです。 ZAPI版の変更点リストは、それ以前のバージョンに関するものです。
API 4.0.2
このZAPIバージョンは、バージョン4.0.1の拡張です。 一部のパラメーターとURIが追加されましたが、それらのいずれかが削除されました。
- VPN
新しいVPNモジュール:
追加されました GET|POST|PUT|DELETE /vpns/*
- HTTP/Sファーム
新しいパラメータ:
エラーWAF, rewritelocation(zproxy専用の新しいオプションを追加), URLを書き換える, 固定接続, ルーティングポリシー, 接続制限:
変更されました: GET|PUT /farms/<farmname>
。 変更: GET|PUT /farms/<farmname>/services/<id>
.
rewriteurlを追加するための新しいAPI:
追加されました ADD|DELETE /farms/<farmname>/service/<servicename>/rewriteurl/*
リライトヘッダールールを追加するための新しいAPI:
追加されました ADD|DELETE /farms/MyHttpFarm/replacerequestheader/*
追加されました ADD|DELETE /farms/MyHttpFarm/replaceresponseheader/*
静的セッションを管理するためのリクエストを追加しました(zproxyのみ):
追加されました GET|POST|DELETE /farms/<farmname>/services/<servicename>/sessions/*
- 農場の守護者
パラメータを追加 タイムアウト:
変更されました: GET /monitoring/fg/<name>
。 変更: POST|PUT /monitoring/fg
.
- SSH
複数のIPとポートを構成します。
変更された ADD|POST /system/ssh
、listenパラメータとportパラメータで配列を受け入れるようになりました。
- HTTPサーバー:
cherokeeサーバーの複数のIPとポートを構成します。
変更された ADD|POST /system/http
、ipおよびportパラメータで配列を受け入れるようになりました。
サーバー証明書を構成します。
追加されました GET|POST /system/https/certificate
.
- 統計:
追加されたパラメータ 合計_セッション and TTL:
変更されました: GET /stats/farms/<farmname>
- グローバル構成:
パラメータを追加 waf_アシスタント:
変更された GET|POST /system/global
- rsyslog
ログをリモートサーバーに送信するように構成するための新しいrsyslogAPI:
追加されました: GET|POST|DELETE /system/rsyslog
.
- クラスタ:
パラメータを追加 トラックインターフェース:
変更されました: GET|PUT /system/cluster
.
API 4.0.1
このZAPIバージョンは、バージョン4.0の拡張です。 一部のパラメーターとURIが追加されましたが、それらのいずれかが削除されました。
- IDが
ロードバランサーのすべてのオブジェクトを含むツリーを表示するリクエストを追加します
追加:GET / ids
- 農場
ファームをコピーするオプション
変更されました: POST /farms
- HTTPファーム
パラメータを追加する アドレス応答ヘッダー and レスポンスヘッダーを削除 パラメータを拡張します httpverb:
変更された GET /farms/<farmname>
変更された PUT /farms/<farmname>
追加 POST /farms/<farmname>/addresponseheader|removeresponseheader
追加 DELETE /farms/<farmname>/addresponseheader|removeresponseheader/<n>
- L4xNATファーム
静的セッションを管理するリクエストを追加します。
追加 GET /farms/<farmname>/sessions
追加 POST /farms/<farmname>/sessions
追加 DELETE /farms/<farmname>/sessions/<session>
- ネットワーキング
ルーティングの新しいモジュール:
追加されました GET|POST|PUT|DELETE /routing/*
- 監視
Farmguardianは、チェックのホスト名としてバックエンドエイリアスを使用できます。
追加されました GET|PUT /monitoring/fg*/<farmguardian>
- IPDS
WAFルールのファイルを管理します。
追加されました GET|PUT|DELETE /ipds/waf/files
- エントルピー
システム情報を取得します。
追加されました: GET /system/info
変更されたグローバル設定:
追加されました: GET|POST /system/global
- RBAC
LDAPを使用した認証:
追加されました GET|POST /rbac/services
追加されました GET|POST /rbac/ldap*
変更された GET|POST /rbac/users
変更された GET|PUT /rbac/users/<user>
API 4.0
- HTTPファーム
モジュールごとにグループ化されたファームとサービスの概要を一覧表示します。
追加されました: /farms/modules/summary
WAFルールセットをHTTPファームとリンクするためのアクション:
追加されました: GET|POST|PUT|DELETE /farms/<farmname>/ipds/waf/*
変更されました: GET /farms/<farm>
HTTPSファーム内の証明書を移動します。
追加されました: POST /farms/<farm>/certificates/<cert>/actions
- L4xNATファーム
新しいコアをサポートするようにl4xnatに関連するファーム呼び出しを変更します。
変更されました: GET|POST|PUT|DELETE /farms/<l4farm>
- ネットワーク
追加された DHCP and マック 次のZAPI呼び出しの機能
修正: PUT /interfaces/nic/<if>
修正: PUT /interfaces/bonding/<if>
修正: POST /interfaces/vlan
修正: PUT /interfaces/vlan/<if>
- 監視
ファームガーディアンをコピーするためにパラメータの名前を変更します。
変更されました: POST /monitoring/fg
- IPDS
IPDSパッケージの管理
追加されました: GET /ipds/package
追加されました: POST /ipds/package/actions
新しいWebアプリケーションファイアウォール、WAF、機能:
追加されました: GET|POST|PUT|DELETE /ipds/waf/*
RBLルールをコピーするための呼び出しを削除します。 これは作成呼び出しのパラメータです。
削除されました: POST /ipds/rbl/<name>
修正: POST /ipds/waf/<name>
- エントルピー
特長 工場出荷時設定へのリセット, 代理 and パッケージのアップデートを確認する 追加されました:
追加されました: POST /system/factory
追加されました: GET /system/proxy
追加されました: POST /system/proxy
追加されました: GET /system/packages
- RBAC
Web GUIメニューを管理するためのパラメータを追加します。
追加されました: GET /rbac/menus
変更されました: PUT /rbac/roles/<ROLE>
アクティベーション証明書
アクティベーション証明書はZevenetによって発行されたライセンスで、エンタープライズ版でロードバランサーを完全に使用することができます。
アクティベーション証明書の詳細を表示する
アクティベーション証明書の詳細を表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/activation
GET /certificates/activation
署名を含むアクティベーション証明書に含まれるすべての情報を表示します。この証明書は証明書ストアに保存されます。 アクティベーション証明書が削除されると、製品は非アクティブ化されます。
アクティベーション証明書をアップロードする
アクティベーション証明書をアップロードする
リクエスト例:
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/v4.0/zapi.cgi/certificates/activation
POST /certificates/activation
PEM形式のアクティベーション証明書をアップロードします。この証明書はすべての機能を有効にするために必要です。 この証明書は証明書ストアに保存されます。アクティベーション証明書が証明書ストアに存在する場合、前の証明書は上書きされます。
応答例:
{
"description" : "Upload activation certificate",
"message" : "Activation certificate uploaded",
"success" : "true"
}
アクティベーション証明書を削除する
アクティベーション証明書を削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/activation
DELETE /certificates/activation
証明書ストアにインストールされているアクティベーション証明書を削除します。 この証明書が削除されると、ロードバランサは無効になります。
応答例:
{
"description" : "Delete activation certificate",
"message" : "The activation certificate has been deleted",
"success" : "true"
}
SSL証明書
ZevenetはHTTPSリスナーで設定されたHTTPファームでそれらを使用するためにPEMフォーマットの証明書をサポートします。 作成方法についてもっと知りたい場合 PEM 証明書は、次の記事をご覧ください。 PEM形式で証明書を生成する
すべての証明書を一覧表示する
すべての証明書を一覧表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates
zcli certificate list
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/v4.0/zapi.cgi/certificates/example.pem
zcli certificate download 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/v4.0/zapi.cgi/certificates/example.pem/info
zcli certificate get example.pem
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 DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/example.pem
zcli certificate delete example.pem
DELETE /certificates/<file>
証明書ストア内のファイル名で証明書を削除します。
応答例:
{
"description" : "Delete certificate",
"message" : "The Certificate example.pem has been deleted.",
"success" : "true"
}
PEM証明書を作成する
PEM証明書を作成する
リクエスト例:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"host.domain.com","key":"-----BEGIN PRIVATE KEY-----\nRTQwew...",
"ca","-----BEGIN CERTIFICATE-----\nFQOEW...","intermediates":"-----BEGIN CERTIFICATE-----\nQWESw..."}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/pem
zcli certificate-pem create -name host.domain.com -key "-----BEGIN PRIVATE KEY..." -ca "-----BEGIN CERTIFICATE..." -intermediates "-----BEGIN CERTIFICATE..."
"
POST /certificates/pem
PEM証明書(PEMファイル)を作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
名 | 文字列 | 証明書IDの名前 | true |
キー | 文字列 | 暗号化された秘密鍵はありません | true |
ca | 文字列 | サーバー証明書またはフルチェーン証明書 | true |
中間体 | 文字列 | 必要に応じて中間証明書 | false |
応答例:
{
"description" : "Create certificate",
"message" : "Certificate host.domain.com created",
"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/v4.0/zapi.cgi/certificates
zcli certificate create -name NewCSR -fqdn host.domain.com -division IT -organization 'Example Corp.' -locality Madrid -state Madrid -country ES -mail info@domain.com
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/v4.0/zapi.cgi/certificates/example.pem
zcli certificate upload example.pem /local_path/to/example.pem
POST /certificates/<file>
HTTPSリスナーを使用してHTTPファーム用のPEM証明書をアップロードします。
リクエストURIパラメータ
パラメータが必要 --tcp-nodelay
、 --data-binary
バイナリモードでファイルをアップロードします。
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
file | 文字列 | 証明書ストアにアップロードして保存するための証明書ファイル名。 | true |
応答例:
{
"description" : "Upload PEM certificate",
"message" : "Certificate uploaded",
"success" : "true"
}
暗号のリスト
暗号のリスト
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/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は | オブジェクト[] | 証明書オブジェクトのリスト。 |
証明書オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
暗号 | 文字列 | 一意の識別子として使用されます。 |
説明 | 文字列 | 分かりやすい名前。 |
LetsencryptSSL証明書
Zevenetは、Letsencrypt証明書の生成と更新をサポートしています。 最後の証明書は、HTTPSファームで使用できるZEVENETPEM証明書です。 。 作成方法について詳しく知りたい場合 PEM 証明書は、次の記事をご覧ください。 PEM形式で証明書を生成する
LetsencryptConfigを表示する
LetsencryptConfigを表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz/config
zcli certificate-le-config list
GET /certificates/letsencryptz/config
Letsencrypt構成を表示します。
応答例:
応答は以下のパラメータを持つJSONオブジェクトになります。
{
"description" : "Get LetsEncrypt Config",
"params" : {
"email" : "test_le@zevenet.com"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
文字列 | Letsencryptのメール |
LetsencryptConfigを変更する
LetsencryptConfigを変更する
リクエスト例:
curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"email":"test_le@zevenet.com"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz/config
zcli certificates-le-config set -email test_le@zevenet.com
PUT /certificates/letsencryptz/config
Letsencrypt構成を変更します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
文字列 | Letsencryptで連絡先として使用するための電子メール | true |
応答例:
応答は以下のパラメータを持つJSONオブジェクトになります。
{
"description" : "Modify LetsEncrypt Config",
"message" : "The Letsencrypt Config has been updated successfully.",
"params" : {
"email" : "test_le@zevenet.com"
},
"success" : "true"
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
文字列 | Letsencryptのメール |
すべてのLetsencrypt証明書を一覧表示します
すべてのLetsencrypt証明書を一覧表示します
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz
zcli certificate-le list
GET /certificates/letsencryptz
作成されたすべてのLetsencrypt証明書を一覧表示します。
応答例:
応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値は、letsencrypt証明書オブジェクトの配列になります。各オブジェクトには、以下の主要な属性が含まれています。
{
"description" : "List LetsEncrypt certificates",
"params" : [
{
"CN" : "*.wildcard.test.zevenet.com",
"creation" : "May 31 05:51:49 2021 GMT",
"domains" : [
"*.wildcard.test.zevenet.com"
],
"expiration" : "Aug 29 05:51:49 2021 GMT",
"file" : "/usr/local/zevenet/config/letsencrypt/acme/*.wildcard.test.zevenet.com/fullchain.cer",
"issuer" : "US,(STAGING) Let's Encrypt,(STAGING) Artificial Apricot R3",
"status" : "valid",
"type" : "LE Certificate",
"wildcard" : "true"
},
{
"CN" : "*.test1.wildcard.test.zevenet.io",
"creation" : "",
"dnstxt" : [
{
"domain" : "*.test1.wildcard.test.zevenet.io",
"txt" : "QpbOLzMrJapoQmcbrA5_dr6ciwLzNF-y3z5XR5i-I2c"
}
],
"domains" : [
"*.test1.wildcard.test.zevenet.io"
],
"expiration" : "",
"file" : null,
"issuer" : "",
"status" : "not issued",
"type" : "LE Certificate",
"wildcard" : "true"
}
]
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
paramsは | オブジェクト[] | 証明書オブジェクトのリスト。 |
証明書オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
CN | 文字列 | ドメイン共通名 |
創造 | 文字列 | 作成日。 |
ドメイン | String [] | 証明書が利用できるドメインのリスト。 |
期限切れ | 文字列 | 有効期限。 |
dnstxt | オブジェクト[] | 証明書がまだ発行されていないかどうかを検証するための各ドメインのDNSTXTレコードのリスト。 |
file | 文字列 | 証明書のファイル名、一意のIDです。 |
発行者 | 文字列 | 認証局が証明書に署名します。 |
status | 文字列 | 証明書のステータス。有効な、証明書は有効です。期限切れが近づいています、証明書の有効期限が近づいています。期限切れの、証明書の有効期限が切れています。発行されていません、証明書は発行される予定です。未知の、証明書が無効です。 |
type | 文字列 | LE証明書。 |
ワイルドカード | 文字列 | true、証明書はワイルドカードドメイン用です。 false、証明書は非ワイルドカードドメイン用です。 |
dnstxtオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
ドメイン | 文字列 | ドメイン名 |
TXT | 文字列 | DNStxtレコードLetsEncryptは検証する必要があります。 DNS TXTレコードは、_acme-challenge.domainによってアクセス可能になります。 |
SSLワイルドカード証明書を暗号化しましょう
Let's Encryptワイルドカード証明書は、ワイルドカードドメインでのみ有効な証明書です。
新しいLet'sEncryptワイルドカード証明書を作成します
新しいLet'sEncryptワイルドカード証明書を作成します
リクエスト例:
url -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"domains":["*.wildcard.test.zevenet.com"],"test":"true"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz-wildcard
zcli certificate-le-wildcard create -wildcard true
POST /certificates/letsencryptz-wildcard
新しいLet'sEncryptワイルドカード証明書を作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ドメイン | String [] | 証明書が利用できるドメインのリスト。 | true |
test | 文字列 | true、証明書はLetsEncryptStagingServerによって発行されます。 false、証明書はLetsEncrypt Serverによって発行され、本番環境で有効になります。 | true |
応答例:
{
"description" : "Create Let's Encrypt Wildcard certificate",
"params" : [
{
"CN" : "*.wildcard.test.zevenet.com",
"creation" : "",
"dnstxt" : [
{
"domain" : "*.wildcard.test.zevenet.com",
"txt" : "jtt2WBHXl0cRw33mgoHUo1hbFGLipNbeb2EtTWpRORM"
}
],
"domains" : [
"*.wildcard.test.zevenet.com"
],
"expiration" : "",
"file" : null,
"issuer" : "",
"status" : "not issued",
"type" : "LE Certificate",
"wildcard" : "true"
}
]
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
paramsは | オブジェクト[] | 証明書オブジェクトのリスト。 |
証明書オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
CN | 文字列 | ドメイン共通名 |
創造 | 文字列 | 作成日。 |
dnstxt | オブジェクト[] | 証明書がまだ発行されていないかどうかを検証するための各ドメインのDNSTXTレコードのリスト。 |
ドメイン | String [] | 証明書が利用できるドメインのリスト。 |
期限切れ | 文字列 | 有効期限。 |
file | 文字列 | 証明書のファイル名、一意のIDです。 |
発行者 | 文字列 | 認証局が証明書に署名します。 |
status | 文字列 | 証明書のステータス。有効な、証明書は有効です。期限切れが近づいています、証明書の有効期限が近づいています。期限切れの、証明書の有効期限が切れています。発行されていません、証明書は発行される予定です。未知の、証明書が無効です。 |
type | 文字列 | LE証明書。 |
ワイルドカード | 文字列 | true、証明書はワイルドカードドメイン用です。 false、証明書は非ワイルドカードドメイン用です。 |
dnstxtオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
ドメイン | 文字列 | ドメイン名 |
TXT | 文字列 | DNStxtレコードLetsEncryptは検証する必要があります。 DNS TXTレコードは、_acme-challenge.domainによってアクセス可能になります。 |
Let'sEncryptワイルドカード証明書にアクションを設定します
Let'sEncryptワイルドカード証明書にアクションを設定します
リクエスト例:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"renew","force_renewal":"true","restart":"true"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz-wildcard/*.example.domain.com/actions
zcli certificate-le-wildcard renew *.example.domain.com
POST /certificates/letsencryptz-wildcard/<domain>/actions
Let's Encrypt証明書にアクションを適用します。アクションについては、リクエストパラメータの表を参照してください。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
行動 | 文字列 | 実行するアクション、可能性は以下のとおりです。 更新する、証明書は更新されます。 test dns txtレコードは、dnsクエリを介してチェックされます。 | |
強制更新 | 文字列 | (「更新」アクションの場合のみ) true、有効期限が切れていなくても、証明書を強制的に更新します。 false、証明書が更新される予定の場合(有効期限が30日以内)に証明書が更新されます。 | |
再起動 | 文字列 | (「更新」アクションの場合のみ) true、証明書を使用しているすべてのファームが再起動されます。 false、証明書を使用しているファームは再起動されません。 | |
DNS | 文字列 | (「テスト」アクションの場合のみ)DNSTXTレコード_acme-challenge.domainのテストに使用されるDNSサーバー。 |
応答例:
{
"description" : "Let's Encrypt wildcard certificate actions",
"message" : "The action renew has been performed in Let's Encrypt certificate *.test1.wildcard.test.zevenet.io.",
"params" : {
"action" : "renew",
"status" : "valid"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
paramsは | オブジェクト[] | 証明書オブジェクトのリスト。 |
証明書オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
アクション | 文字列 | 作成日。 |
status | 文字列 | 証明書のステータス。有効な、証明書は有効です。期限切れが近づいています、証明書の有効期限が近づいています。期限切れの、証明書の有効期限が切れています。発行されていません、証明書は発行される予定です。未知の、証明書が無効です。 |
dnstxt | オブジェクト[] | (「テスト」アクションの場合のみ)各ドメインのDNSTXTレコードとDNSサーバーを介したそれらのdnsクエリ結果のリスト。 |
dnstxtオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
DNS | 文字列 | 使用するDNSサーバー。 「空白」とは、システムで構成されたものを使用することを意味します。 |
ドメイン | 文字列 | ドメイン名 |
リソース | オブジェクト | チェックするDNSリソース。 |
status | 文字列 | DNSサーバーを介してDNSTXTレコードをチェックした結果。 ダウン DNSTXTreの場合 |
コードが見つかりませんDNSサーバー。 up DNSTXTレコードが見つかった場合。
リソースオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
rname | 文字列 | DNSリソース名。 Let'sEncryptには _acme-チャレンジ |
type | 文字列 | DNSレコードタイプ。 Let'sEncryptには TXT |
データ | 文字列 | DNSレコード値。 |
ワイルドカードを削除するLet'sEncrypt証明書
ワイルドカードを削除するLet'sEncrypt証明書
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz-wildcard/*.example.domain.com
zcli certificate-le-wildcard delete *.example.domain.com
DELETE /certificates/letsencryptz-wildcard/<domain>
ドメインごとにLet'sEncryptワイルドカード証明書を削除します。
応答例:
{
"description" : "Delete Let's Encrypt wildcard certificate",
"message" : "Let's Encrypt wildcard Certificate example.domain.com has been deleted.",
"success" : "true"
}
ワイルドカード証明書なしでSSLを暗号化しましょう
Let'sEncryptワイルドカード証明書は、ワイルドカードドメインがない場合にのみ有効な証明書です。
新しいLet'sEncryptのワイルドカード証明書を作成します
新しいLet'sEncryptNoWildcardCertificateを作成する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"farmname":"lefarm","domains":["test.zevenet.com"],"test":"true","wildcard":"false"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz
zcli certificate-le create -wildcard false
POST /certificates/letsencryptz
新しいLet'sEncryptワイルドカード証明書を作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
農場名 | 文字列 | 一時サービス「Let'sEncryptz」が設定されているファーム名。 | paramvipが送信されない場合はtrue。 |
VIP | 文字列 | 一時ファーム「Let'sEncryptz」が構成されているシステムのIP。 | paramfarmnameが送信されない場合はtrue。 |
ドメイン | String [] | 証明書が利用できるドメインのリスト。 | true |
ワイルドカード | 文字列 | true、証明書はワイルドカードドメイン用です。 false、証明書は非ワイルドカードドメイン用です。 | true |
test | 文字列 | true、証明書はLetsEncryptStagingServerによって発行されます。 false、証明書はLetsEncrypt Serverによって発行され、本番環境で有効になります。 | true |
応答例:
{
"description" : "Create Let's Encrypt certificate",
"params" : {
"CN" : "test.zevenet.com",
"creation" : "May 31 11:05:30 2021 GMT",
"domains" : [
"test.zevenet.io"
],
"expiration" : "Aug 29 11:05:30 2021 GMT",
"file" : "/usr/local/zevenet/config/letsencrypt/live/test.zevenet.com/fullchain.pem",
"issuer" : "US,(STAGING) Let's Encrypt,(STAGING) Artificial Apricot R3",
"status" : "valid",
"type" : "LE Certificate",
"wildcard" : "false"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
paramsは | オブジェクト[] | 証明書オブジェクトのリスト。 |
証明書オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
CN | 文字列 | ドメイン共通名 |
創造 | 文字列 | 作成日。 |
ドメイン | String [] | 証明書が利用できるドメインのリスト。 |
期限切れ | 文字列 | 有効期限。 |
file | 文字列 | 証明書のファイル名、一意のIDです。 |
発行者 | 文字列 | 認証局が証明書に署名します。 |
status | 文字列 | 証明書のステータス。有効な、証明書は有効です。期限切れが近づいています、証明書の有効期限が近づいています。期限切れの、証明書の有効期限が切れています。発行されていません、証明書は発行される予定です。未知の、証明書が無効です。 |
type | 文字列 | LE証明書。 |
ワイルドカード | 文字列 | true、証明書はワイルドカードドメイン用です。 false、証明書は非ワイルドカードドメイン用です。 |
Let's Encrypt noWildcardCertificateにアクションを設定します
Let's Encrypt NoWildcardCertificateにアクションを設定します
リクエスト例:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"renew","vip":"192.168.101.44","force_renewal":"true","restart":"true"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz/example.domain.com/actions
zcli certificate-le renew example.domain.com ( not implemented )
POST /certificates/letsencryptz/<domain>/actions
Let's Encryptのワイルドカード証明書にアクションを設定します。アクションについては、リクエストパラメータの表を参照してください。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
アクション | 文字列 | 実行するアクション:可能性は次のとおりです。 更新する、証明書が更新されます。 | |
農場名 | 文字列 | 証明書を更新するために一時的なサービス「Let'sEncryptz」が構成されているファーム名。 | paramvipが送信されない場合はtrue。 |
VIP | 文字列 | 一時ファーム「Let'sEncryptz」が証明書を更新するように構成されているシステムのIP。 | paramfarmnameが送信されない場合はtrue。 |
強制更新 | 文字列 | true、有効期限が切れていなくても、証明書を強制的に更新します。 false、証明書が更新される予定の場合(有効期限が30日以内)に証明書が更新されます。 | |
再起動 | 文字列 | true、証明書を使用しているすべてのファームが再起動されます。 false、証明書を使用しているファームは再起動されません。 |
応答例:
{
"description" : "Let's Encrypt certificate actions",
"params" : {
"CN" : "test.zevenet.com",
"creation" : "May 31 11:35:08 2021 GMT",
"domains" : [
"test.zevenet.com"
],
"expiration" : "Aug 29 11:35:08 2021 GMT",
"file" : "/usr/local/zevenet/config/letsencrypt/live/test.zevenet.com/fullchain.pem",
"issuer" : "US,(STAGING) Let's Encrypt,(STAGING) Artificial Apricot R3",
"status" : "valid",
"type" : "LE Certificate",
"wildcard" : "false"
},
"warning" : "The following farms were been restarted: testl7farm"
}
応答パラメータ
ファームが再開された場合、 警告 フィールドで説明します。
フィールド | 種類 | 説明 |
---|---|---|
paramsは | オブジェクト[] | 証明書オブジェクトのリスト。 |
証明書オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
CN | 文字列 | ドメイン共通名 |
創造 | 文字列 | 作成日。 |
ドメイン | String [] | 証明書が利用できるドメインのリスト。 |
期限切れ | 文字列 | 有効期限。 |
file | 文字列 | 証明書のファイル名、一意のIDです。 |
発行者 | 文字列 | 認証局が証明書に署名します。 |
status | 文字列 | 証明書のステータス。有効な、証明書は有効です。期限切れが近づいています、証明書の有効期限が近づいています。期限切れの、証明書の有効期限が切れています。発行されていません、証明書は発行される予定です。未知の、証明書が無効です。 |
type | 文字列 | LE証明書。 |
ワイルドカード | 文字列 | true、証明書はワイルドカードドメイン用です。 false、証明書は非ワイルドカードドメイン用です。 |
ワイルドカードなしを削除するLet'sEncrypt証明書
ワイルドカードなしを削除するLet'sEncrypt証明書
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/certificates/letsencryptz/example.domain.com
zcli certificate-le delete example.domain.com
DELETE /certificates/letsencryptz/<domain>
ドメインごとにLet'sEncrypt証明書を削除します。
応答例:
{
"description" : "Delete Let's Encrypt certificate",
"message" : "Let's Encrypt Certificate example.domain.com has been deleted.",
"success" : "true"
}
農場
Zevenetは3つの異なる方法でトラフィックを管理することができ、それぞれの方法は異なるモジュール、ローカルサービスロードバランサまたはLSLBモジュール、グローバルサービスロードバランサまたはGSLBモジュールおよびデータリンクサービスロードバランサまたはDSLBモジュールによって管理されます。
すべてのモジュールはファームプロファイルの概念で動作します。ファームプロファイルはネットワークトラフィックで特定のアクションを実行する準備ができたパラメーターのグループです。各ファームプロファイルでZevenet ADCの最良の結果を得るために何ができるかを理解することが重要です。
- LSLB:このモジュールはと働くことができます HTTP and l4xnat プロファイルファーム Webリバースプロキシまたはルーターとして機能します。
- GSLB:このモジュールはと働くことができます gslb プロファイルファーム。 ドメインネームサーバーとして動作します
- DSLB:このモジュールはと働くことができます データリンク プロファイルファーム。 ゲートウェイとして機能します。
農場の概要を一覧表示する
要約農場をリストする
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/modules/summary
GET /farms/modules/summary
システム内のファームの概要をモジュール別に一覧表示します。
応答例:
{
"description" : "Farm Modules summary",
"params" : {
"dslb" : [],
"gslb" : [
{
"name" : "dnsServ",
"profile" : "gslb",
"services" : []
}
],
"lslb" : [
{
"name" : "CatalogueWeb",
"profile" : "http",
"services" : [
"technology",
"food"
]
},
{
"name" : "shopApp",
"profile" : "http",
"services" : [
"provider",
"clients"
]
},
{
"name" : "VirtualApps",
"profile" : "l4xnat"
}
]
}
}
応答パラメータ
応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 これの価値は彼らのサービスを持つ農場の配列になります。
農場オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
農場名 | 文字列 | ファームの説明的な名前。 農場の一意の識別子として使用されます。 |
プロフィール | 文字列 | プロファイルタイプ。プロファイルの利用可能な値は次のとおりです。 HTTP, HTTPS or l4xnat LSLBモジュールの場合 gslb GLSBモジュール用 データリンク DSLBモジュール用 |
サービス | String [] | ファームに含まれるサービス名の一覧です。 このフィールドは、タイプの農場で利用可能になります。 HTTP, HTTPS、 gslb. |
すべての農場を一覧表示
すべての農場を一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms
zcli farm list
GET /farms
利用可能な農場をすべてリストする
応答例:
{
"description" : "List farms",
"params" : [
{
"farmname" : "httpFarm",
"profile" : "http",
"status" : "up",
"vip" : "192.168.101.146",
"vport" : "81"
}
]
}
応答パラメータ
応答は、キーがに設定されたJSONオブジェクトになります。 paramsは。 この値はファームの履歴書オブジェクトの配列になり、各オブジェクトには以下の主要な属性が含まれます。
農場オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
農場名 | 文字列 | ファームの説明的な名前。 農場の一意の識別子として使用されます。 |
プロフィール | 文字列 | プロファイルタイプ。プロファイルの利用可能な値は次のとおりです。 HTTP, HTTPS or l4xnat LSLBモジュールの場合 gslb GLSBモジュール用 データリンク DSLBモジュール用。 |
status | 文字列 | 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。 |
VIP | 文字列 | ファームがトラフィックを受信している仮想IP。 |
vport | 文字列 | ファームがトラフィックを受信している仮想ポート。使用可能なポートの値は、http [s]、l4xnat、およびgslbプロファイルのポート番号、「、」で区切られたポートのグループ、またはl4xnatプロファイルの「:」で区切られたポート範囲です。 l4xnat両方のセパレータ値(「、」および「:」)を同じフィールドで使用できます。 |
農場を削除する
農場を削除する
リクエスト例:
curl --tlsv1 -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP
zcli farm delete FarmHTTP
DELETE /farms/<farmname>
ファーム名IDを使用してファームを削除します。
応答例:
{
"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/v4.0/zapi.cgi/farms/FarmTCP/actions
zcli farm stop FarmTCP
PUT /farms/<farmname>/actions
アクションをファームに適用します。アクションについては、要求パラメーターの表を参照してください。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
アクション | 文字列 | 実行するアクション、可能性は以下のとおりです。 stopファームが停止し、現在の接続が切断され、それ以上の接続が受け入れられなくなります。 startファームが起動され、リスナーを実行し、バックエンド間の新しい接続のバランスを取ります。 再起動ファームは自動的に停止して起動します。 |
応答例:
{
"description" : "Set a new action in FarmHTTP",
"params" : [
{
"action" : "stop"
}
]
}
応答パラメータ
設定に問題がなければ、ZAPIは要求されたアクションを返します。
HTTPファーム
HTTPプロファイルは、プロキシの特別なプロパティを持つ高度なレイヤの7ロードバランシング(またはApplication Delivery Controller)です。 このプロファイルは、HTTPSロードバランシングとSSLオフロードアクセラレーションの組み合わせなどの機能を提供します。 このプロファイルは、Webサービス(Webアプリケーションサーバーを含む)およびWebDav、RDP over HTTP、ICA over HTTPなどのHTTPおよびHTTPSプロトコルに基づくすべてのアプリケーションプロトコルに適しています。このファームプロファイルを設定するには、仮想IPアドレスと仮想TCPポートが必要になります。
名前で農場を検索する
名前で農場を検索する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/httpFarm
zcli farm get httpFarm
GET /farms/<farmname>
特定のファームに関するすべての構成を表示します。
応答例:
{
"description" : "List farm httpFarm",
"ipds" : {
"blacklists" : [
{
"name" : "outside",
"status" : "down"
}
],
"dos" : [],
"rbl" : [
{
"name" : "protection_ssh",
"status" : "up"
}
],
"waf" : [
{
"name" : "XSSi",
"status" : "down"
},
{
"name" : "SQLi",
"status" : "up"
}
]
},
"params" : {
"addheader" : [
{
"header" : "load-balancer: true",
"id" : 0
}
],
"addresponseheader" : [
{
"header" : "Session: true",
"id" : 0
}
],
"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",
"errorWAF" : "The request was rejected by the server.",
"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.",
"headremove" : [
{
"id" : 0,
"pattern" : "^client"
}
],
"httpverb" : "MSRPCext",
"ignore_100_continue" : "true",
"listener" : "https",
"logs" : "false",
"removeresponseheader" : [
{
"id" : 0,
"pattern" : "Host"
}
],
"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,
"farmguardian" : "check_tcp",
"httpsb" : "false",
"id" : "service3",
"leastresp" : "false",
"redirect" : "http://192.168.101.254/index.html",
"redirect_code" : 302,
"redirecttype" : "default",
"sessionid" : "",
"sts_status" : "false",
"sts_timeout" : 0,
"ttl" : 0,
"urlp" : "",
"vhost" : "",
"pinnedconnection" : 0,
"routingpolicy" : "ROUND_ROBIN"
},
{
"backends" : [
{
"alias" : "http-server",
"id" : 0,
"ip" : "192.168.0.168",
"port" : 80,
"status" : "up",
"timeout" : null,
"weight" : null,
"priority" : null
}
],
"cookiedomain" : "",
"cookieinsert" : "false",
"cookiename" : "",
"cookiepath" : "",
"cookiettl" : 0,
"farmguardian" : null,
"httpsb" : "false",
"id" : "srv",
"leastresp" : "false",
"persistence" : "",
"redirect" : "",
"redirecttype" : "",
"sessionid" : "",
"sts_status" : "false",
"sts_timeout" : 0,
"ttl" : 0,
"urlp" : "",
"vhost" : "",
"pinnedconnection" : 0,
"routingpolicy" : "ROUND_ROBIN"
},
]
}
応答パラメータ
応答は以下の形式のJSONオブジェクトになります。
農場オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
ipds | オブジェクト | このファームに適用されているIPDSルールのリスト。 |
paramsは | オブジェクト | ファーム構成のパラメータ。 |
サービス | オブジェクト[] | このファームで作成されたすべてのサービスとその構成を含む配列。 |
IPDSオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
ブラックリスト | オブジェクト[] | ファームに適用されるブラックリストルール。 |
ドス | オブジェクト[] | ファームに適用されるDoSルール |
rbl | オブジェクト[] | ファームに適用されるRBLルール。 |
WAF | オブジェクト[] | それは一つのキーを持つオブジェクトです。 名. |
ブラックリスト、DoS、およびRBLオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | ルール名 |
status | 文字列 | ルールステータス |
HTTPファームのパラメータオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
addheader | オブジェクト[] | これは、クライアント要求に追加するヘッダーを持つオブジェクトのリストです。 |
addresponseheader(4.0.1から) | オブジェクト[] | これは、バックエンドレスポンスに追加するヘッダーを含むオブジェクトのリストです。 |
証明書リスト | オブジェクト[] | リスナーがHTTPSの場合のみ 証明書リストはファームによって使用され、それらはPEM形式であり、SNIをサポートするために同じファームに複数のPEM証明書を追加することが許可されています。 証明書ストア内の任意の証明書をここで使用できます。 |
暗号 | 文字列 | httpsリスナーのみ これはSSL接続が受け付ける暗号化の許可されたカスタマイズリストです。これはOpenSSL暗号と同じ形式の文字列です。 この属性は次の場合にのみ使用されます。 暗号 フィールドの値は「customsecurity」です。 |
暗号 | 文字列 | リスナーが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が許可されている場合 |
エラーWAF | 文字列 | WAFがリクエストを拒否したときに応答するためのパーソナライズされたメッセージ(4.0.2から). |
error414 | 文字列 | 414 HTTPエラーコードで応答するためのパーソナライズされたメッセージ。 |
error500 | 文字列 | 500 HTTPエラーコードで応答するためのパーソナライズされたメッセージ。 |
error501 | 文字列 | 501 HTTPエラーコードで応答するためのパーソナライズされたメッセージ。 |
error503 | 文字列 | 503 HTTPエラーコードで応答するためのパーソナライズされたメッセージ。 |
ヘッドリムーブ | オブジェクト[] | クライアントのリクエストからヘッダを削除するための正規表現のリストです。 削除されたヘッダはバックエンドに届きません。 |
httpverb | 文字列 | このフィールドは、HTTPクライアント要求に許可される操作を示します。 利用可能な値は以下のとおりです。 標準HTTP、受け入れられたHTTP要求GET、POST、HEAD。 extendedHTTP、以前のHTTPリクエストとPUT、DELETEを受け付けました。 オプションHTTP (4.0.1から)、OPTIONS動詞を前の動詞に追加します。 standardWebDAV、以前のHTTPリクエストに加え、LOCK、UNLOCK、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 保護されたプロトコル用。 |
ログ | 文字列 | ファームはHTTP接続のトレースを記録します。 このパラメータの値が trueログが有効になります。 値があれば falseログは無効になっています。 |
removeresponseheader(4.0.1から) | オブジェクト[] | これは、バックエンドレスポンスからヘッダーを削除するための正規表現のリストです。 削除されたヘッダーはクライアントに到達しません。 |
reqtimeout | 数 | ファームがクライアントの要求を待機する時間(秒単位)。 |
再タイムアウト | 数 | ファームがバックエンドからの応答を秒単位で待機する時間。 |
復活 | 数 | この期間が過ぎると、ロードバランサは、実サーバが稼働しているかどうかをチェックします。 |
書き換え | オブジェクト[] | 有効になっている場合、ファームは仮想ホストを持つクライアントに応答してLocation:およびContent-location:ヘッダーを変更するように強制されます。 オプションは以下のとおりです。 使用可能、アクティブ 無効、不活性化または 有効バックエンド バックエンドアドレスのみが比較されます。 4.0.2から 利用可能な新しいオプション: 有効パス and 有効なバックエンド パス。 RewriteUrlディレクティブがリクエストURLを変更した場合、パスが適用されます。 このフラグは、RewriteUrlが実行したURL変換を強制的に元に戻します。 |
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 フィールドは必須項目です。 |
農家 | 文字列 | バックエンドのステータスをチェックしているのはFarmGuardian名です。 FarmGuardianは、ファームが稼働中の間も稼働しています。 |
httpsb | 文字列 | このパラメータは、バックエンドがHTTPS言語を使用するように設定されていることをファームに示し、その後データは送信される前に暗号化されます。 trueプロファイルはHTTPSプロトコルのトラフィックをバックエンドに送信します。 falseプロファイルはHTTPプロトコルのトラフィックをバックエンドに送信します。 |
id | 文字列 | サービスの名前。サービスの作成後に変更することはできません。 |
leastresp | 文字列 | これは、最小応答バランシング方式を可能にします。 true プロファイルは、どのバックエンドがこの接続により多くの接続を送信するために応答するのにかかる時間が短いかを頻繁にチェックします false プロファイルは、どのバックエンドが応答に時間がかからないかをチェックしません。 |
持続性 | 文字列 | このパラメータは、HTTPサービスがクライアントセッションを管理する方法を定義します。 オプションは以下のとおりです。 "" 空文字列、何もしない IP 持続セッションはクライアントIPに基づいて行われます。 BASIC 永続セッションは、BASICヘッダに基づいて行われます。 URL 永続セッションは、URI内のフィールドに基づいて行われます。 PARM 永続セッションは、URIの末尾の値に基づいて行われます。 COOKIE 永続セッションはCookie名に基づいて行われ、このCookieはバックエンドによって作成される必要があります。 ヘッダ永続セッションは、ヘッダー名に基づいて行われます。 |
リダイレクト | 文字列 | クライアントの要求は新しいURLへのリダイレクトによって自動的に応答されるため、特別なバックエンドのように動作します。 リダイレクトが設定されている場合、リクエストはバックエンドに転送されず、代わりにリダイレクトがクライアントに応答されます。 |
redirect_code | 数 | リダイレクトが設定されたときに返されるHTTPコードです。 可能な値は 301, 302, 307, |
リダイレクト型 | 文字列 | リダイレクトの方法、2つの選択肢 デフォルトURLはリダイレクト先の絶対ホストおよびパスと見なされます。 アペンド元のリクエストパスまたはURIが、デフォルトオプションで指定したホストおよびパスに追加されます。 もし リダイレクト このフィールドは空の文字列になります。 |
セッションID | 文字列 | あれば利用可能です 持続性 fieldがURL、COOKIE、またはHEADERの場合、パラメータ値はHTTPヘッダー内でファームによって検索され、クライアントセッションを管理します。 |
sts_status | 文字列 | Strict Transport Securityヘッダのステータス。 この機能を有効にするには、ファームリスナーをHTTPSとして設定する必要があります。 可能な値は次のとおりです。 true サービスでSTSディレクティブを有効にします。 または false サービスでSTSディレクティブを無効にします。 |
sts_timeout | 数 | サービスがHTTSでのみ利用可能であることをクライアントが記憶している時間(秒)。 |
TTL | 数 | 固執するだけです。 この値は、非アクティブなクライアントセッションの最大存続期間(最大セッション経過時間)を秒単位で示します。 |
urlp | 文字列 | 文法的にチェックされる特定のURLパターンを通して、クライアントが要求しているURLに関するWebサービスを決定することを許可します。 PCRE正規表現がサポートされています。 |
仮想ホスト | 文字列 | これは、HTTPファームで定義されているものと同じ仮想IPおよびポートを介したドメイン名によって決まる条件を指定します。 PCRE正規表現がサポートされています。 |
pinnedconnection(バージョン4.0.2以降) | 数 | すべての接続を固定するかどうかを指定します(デフォルト:0、固定なし)。 Pinnedconnectionが1に設定されている場合、zproxyは解析や編集を行わずにすべてのデータを直接転送します。 |
ルーティングポリシー(バージョン4.0.2以降) | 文字列 | ルーティングポリシーを指定します。 すべてのアルゴリズムは、各バックエンドで設定されたすべての重みで重み付けされます。 XNUMXつのオプションがあります。 ラウンドロビン ルーティングポリシーとしてラウンドロビンアルゴリズムを使用します(デフォルト). LEAST_CONNECTIONS 設定された重みを比率として使用して、確立された接続が最も少ないバックエンドを選択します。 反応時間 設定された重みを比率として使用して、応答時間が最も短いバックエンドを選択します。 PENDING_CONNECTIONS 設定された重みを比率として使用して、保留中の接続が最も少ないバックエンドを選択します。 |
rewriteurl(バージョン4.0.2以降) | オブジェクト[] | URLから文字列を取得して置き換えるために、パターンをチェックします。 いくつかのRewriteUrlディレクティブを追加できます。 URLの書き換えフェーズを終了する最後のフラグが設定されていない限り、それらはすべて着信URLに順番に適用されます。 |
HTTPファーム用のバックエンドオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
id | 数 | 与えられたサービス内のバックエンド識別子。 |
ip | 文字列 | 実際のサービスが実行されているバックエンドのIP。 |
ポート | 数 | 実際のサービスが実行されているバックエンドのポート。 |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
タイムアウト | 数 | それを利用不可とマークするよりも前にバックエンドの応答を待つ最大時間です。 この時間は秒単位です。 |
重量 | 数 | これは現在の実サーバーの重み値であり、重み値が高いバックエンドはより多くの接続を受け取ります。 デフォルト値はnullであり、このバックエンドに使用される特別な重みではありません。 可能な値は 1 〜へ 9. |
優先度 (4.0.1から) | 数 | (プロキシ新世代が機能している場合のみ)これは現在の実サーバーの優先度の値であり、優先度の値が低いバックエンドは、優先度の高い他のバックエンドよりも先に接続を受信できるようになります。 デフォルト値null、優先度値 1 使用されている。 可能な値は 1 〜へ 9 |
connection_limit(4.0.2から) | 数 | (プロキシ新世代が機能している場合のみ)バックエンドごとに確立された接続の最大数。 値が0の場合、バックエンドに制限はありません。 使用可能なバックエンドがない場合、クライアントは503エラーを受け取ります。 |
新しい農場を作る
新しい農場を作る
リクエスト例:
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/v4.0/zapi.cgi/farms
zcli farm create -farmname newHTTPfarm -profile http -vip 192.168.100.23 -vport 80
POST /farms
新しいHTTPファームを作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
農場名 | 文字列 | ファームの説明的な名前。 これは一意の識別子として使用されます。 | true |
プロフィール | 文字列 | 作成されたファームのプロフィール。 HTTPファームの場合 HTTP. | true |
VIP | 文字列 | 仮想サービスを実行する予定のファームのIP。 示されたIPはシステムに構成されていてUPである必要があります | true |
vport | 数 | 仮想サービスが待機しようとしているファームのポート。 同じ仮想ポートと仮想IPを別のファームで使用してはいけません。 | true |
copy_from(4.0.1から) | 文字列 | このパラメーターは、存在するファームの名前を想定しています。 このパラメーターが送信されると、ファームはそのパラメーターで指定されたファームからコピーされます。 の 農場名, VIP and vport 値は上書きされます。 |
応答例:
{
"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", "errorWAF":"Message error WAF",
"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", "logs":"true",
"cipherc":"TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP
zcli farm set FarmHTTP -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 -errorcode414 'Message error 414' -logs true
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を受け付けました。 オプションHTTP (4.0.1から)、OPTIONS動詞を前の動詞に追加します。 standardWebDAV、以前のHTTPリクエストに加え、LOCK、UNLOCK、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続ける ヘッダーが処理されます。 |
エラーWAF | 文字列 | パーソナライズされたメッセージエラーWAF(バージョン4.0.2以降). |
error414 | 文字列 | パーソナライズドメッセージエラー414。 |
error500 | 文字列 | パーソナライズドメッセージエラー500。 |
error501 | 文字列 | パーソナライズドメッセージエラー501。 |
error503 | 文字列 | パーソナライズドメッセージエラー503。 |
リスナー | 文字列 | リスナーは、ファームがクライアントからの要求をどのように処理するかを定義します。 オプションは以下のとおりです。 HTTP 保護されていないプロトコルの場合 HTTPS 保護されたプロトコル用。 |
ログ | 文字列 | ファームはHTTP接続のトレースを記録します。 このパラメータの値が trueログが有効になります。 値があれば falseログは無効になっています。 |
暗号 | 文字列 | https値を持つリスナー内でのみ。 SSL接続を強化するために、SSL接続によって受け入れられる暗号のリストを作成するために使用されます。 オプションは以下のとおりです。 をすべての暗号が受け入れられます。 高セキュリティ高いセキュリティのための暗号だけが受け入れられるでしょう。 カスタムセキュリティ、ロードされた暗号のみ 暗号 分野は受け入れられます。 または ssloffloading暗号化ジョブをプロセスに委ねます。この暗号はプロセッサに依存します。 |
暗号 | 文字列 | httpsリスナーのみ これはSSL接続が受け付ける暗号化の許可されたカスタマイズリストです。これはOpenSSL暗号と同じ形式の文字列です。 この属性は次の場合にのみ使用されます。 暗号 フィールドの値は「customsecurity」です。 |
newfarmname | 文字列 | 新しいファームの名前。 農場を停止する必要があります。 |
vport | 数 | 仮想サービスが待機しているファームのポート。 |
VIP | 文字列 | 仮想サービスがリッスンしているファームのIP。このIPは設定され、システム内で起動している必要があります。 |
証明書名 | 文字列 | 構成されたHttps証明書 |
応答例:
{
"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",
"errorWAF" : "Message error WAF",
"error414" : "Message error 414",
"error500" : "Message error 500",
"error501" : "Message error 501",
"error503" : "Message error 503",
"httpverb" : "standardHTTP",
"ignore_100_continue" : "true",
"listener" : "https",
"logs" : "true",
"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 '{"header":"loadbalancer: true"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/addheader
zcli farm-add-request-header MyHttpFarm -header "loadbalancer: true"
POST /farms/<farmname>/addheader
ファームはバックエンドにヘッダーを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | バックエンドに送信されるヘッダを含む文字列です。 | true |
応答例:
{
"description" : "Add addheader directive.",
"message" : "Added a new item to the addheader list",
"status" : "needed restart",
"success" : "true"
}
リクエストルールにカスタムヘッダーを追加するように変更します
リクエストルールにカスタムヘッダーを追加するように変更します
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"loadbalancer: true"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/addheader/id
zcli farm-add-request-header MyHttpFarm -header "loadbalancer: true"
PUT /farms/<farmname>/addheader/<id>
ファームはバックエンドにヘッダーを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | バックエンドに送信されるヘッダを含む文字列です。 | true |
応答例:
{
"description" : "Modify an addheader directive.",
"message" : "Modified an item from the addheader list",
"success" : "true"
}
リクエストからカスタムヘッダーを削除する
リクエストからカスタムヘッダーを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/addheader/0
zcli farm-add-request-header remove MyHttpFarm 0
DELETE /farms/<farmname>/addheader/<index>
index 削除するaddheader配列のインデックスです。
応答例:
{
"description" : "Delete addheader directive.",
"message" : "The addheader 0 was deleted successfully",
"status" : "needed restart",
"success" : "true"
}
リクエストからヘッダーを削除するルールを追加
リクエストからヘッダーを削除するルールを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/headremove
zcli farm-remove-request-header add MyHttpFarm -pattern "^client:"
POST /farms/<farmname>/headremove
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"description" : "Add headremove directive.",
"message" : "Added a new item to the headremove list",
"status" : "needed restart",
"success" : "true"
}
リクエストルールからヘッダーを削除するを変更する
リクエストルールからヘッダーを削除するを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/headremove/id
zcli farm-remove-request-header add MyHttpFarm -pattern "^client:"
PUT /farms/<farmname>/headremove/<id>
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"description" : "Modify an headremove directive.",
"message" : "Modified an item from the headremove list",
"success" : "true"
}
リクエストからヘッダーを削除するルールを削除する
リクエストからヘッダーを削除するルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/headremove/0
zcli farm-remove-request-header remove MyHttpFarm 0
DELETE /farms/<farmname>/headremove/<index>
index 削除するヘッド削除配列のインデックスです。
応答例:
{
"description" : "Delete headremove directive.",
"message" : "The headremove 0 was deleted successfully",
"status" : "needed restart",
"success" : "true"
}
応答にカスタムヘッダーを追加する
応答にカスタムヘッダーを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"loadbalancer: true"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/addresponseheader
zcli farm-add-response-header add MyHttpFarm -header loadbalancer:true
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/addresponseheader
ファームは、ヘッダーをバックエンド応答に追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | バックエンドに送信されるヘッダを含む文字列です。 | true |
応答例:
{
"description" : "Add a header to the backend repsonse.",
"message" : "Added a new header to the backend response",
"status" : "needed restart",
"success" : "true"
}
応答ルールへのカスタムヘッダーの追加を変更します
応答ルールへのカスタムヘッダーの追加を変更します
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"loadbalancer: true"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/addresponseheader/id
zcli farm-add-response-header add MyHttpFarm -header loadbalancer:true
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/addresponseheader/<id>
ファームは、ヘッダーをバックエンド応答に追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | バックエンドに送信されるヘッダを含む文字列です。 | true |
応答例:
{
"description" : "Modify an addresponseheader directive.",
"message" : "Modified an item from the addresponseheader list",
"success" : "true"
}
応答からカスタムヘッダーを削除する
応答からカスタムヘッダーを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/addresponseheader/0
zcli farm-add-response-header remove torta 0
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/addresponseheader/<index>
index 削除するaddresponseheader配列のインデックスです。
応答例:
{
"description" : "Delete a header previously added to the backend response.",
"message" : "The header 0 was deleted successfully",
"status" : "needed restart",
"success" : "true"
}
応答からヘッダーを削除するルールを追加する
応答からヘッダーを削除するルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/removeresponseheader
zcli farm-remove-response-header add MyHttpFarm -pattern "^client:"
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/removeresponseheader
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"description" : "Remove a header from the backend response.",
"message" : "Added a patter to remove reponse headers",
"status" : "needed restart",
"success" : "true"
}
応答ルールからヘッダーを削除を変更する
応答ルールからヘッダーを削除を変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/removeresponseheader/id
zcli farm-remove-response-header add MyHttpFarm -pattern "^client:"
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/removeresponseheader/<id>
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"description" : "Modify a remove response header directive.",
"message" : "Modified an item from the removeresponseheader list",
"success" : "true"
}
応答からヘッダーを削除するルールを削除する
応答からヘッダーを削除するルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/removeresponseheader/0
zcli farm-remove-response-header remove torta 0
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/removeresponseheader/<index>
index 削除するremoveresponseheader配列のインデックスです。
応答例:
{
"description" : "Delete a pattern to remove response headers.",
"message" : "The pattern 0 was deleted successfully",
"status" : "needed restart",
"success" : "true"
}
リクエストからヘッダーを書き換えるルールを追加する
リクエストからヘッダーを書き換えるルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:","match":"^COOKIESESSION=(.*)","replace":"COOKIEUSER=$1"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replacerequestheader
farm-replace-request-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/replacerequestheader
リクエストからヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Add a Replace Header.",
"message" : "Added a new replace header",
"status" : "needed restart",
"success" : "true"
}
リクエストルールからのリライトヘッダーを変更する
リクエストルールからのリライトヘッダーを変更する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:","match":"^COOKIESESSION=(.*)","replace":"COOKIEUSER=$1"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replacerequestheader/id
farm-replace-request-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/replacerequestheader/<id>
リクエストからヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Modify a replaceHeader directive.",
"message" : "Modified an item from the replaceHeader list",
"success" : "true"
}
リクエストからヘッダーを書き換えるルールを削除する
リクエストからヘッダーを書き換えるルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replacerequestheader/0
zcli farm-replace-request-header remove MyHttpFarm 0
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/replacerequestheader/<index>
index 削除するreplacerequestheader配列のインデックスです。
応答例:
{
"description" : "Delete a replace header directive.",
"message" : "The replace header 0 was deleted successfully",
"status" : "needed restart",
"success" : "true"
}
リクエストルールからリライトヘッダーを移動する
リクエストルールからリライトヘッダーを移動する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":1}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replacerequestheader/id/actions
farm-replace-request-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/replacerequestheader/<id>/actions
ReplaceRequestヘッダーを移動します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 数 | 新しいルールの位置 | true |
応答例:
{
"description" : "Move a replace header directive",
"message" : "Header was moved successfully.",
"params" : {
"position" : "1"
}
}
応答からヘッダーを書き換えるルールを追加する
応答からヘッダーを書き換えるルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:","match":"^COOKIESESSION=(.*)","replace":"COOKIEUSER=$1"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replaceresponseheader
farm-replace-response-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1` -t$
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/replaceresponseheader
応答からヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Add a Replace Header.",
"message" : "Added a new replace header",
"status" : "needed restart",
"success" : "true"
}
応答ルールからの書き換えヘッダーを変更する
応答ルールからの書き換えヘッダーを変更する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:","match":"^COOKIESESSION=(.*)","replace":"COOKIEUSER=$1"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replaceresponseheader/id
farm-replace-response-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1` -t$
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/replaceresponseheader/<id>
応答からヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Modify a replaceHeader directive.",
"message" : "Modified an item from the replaceHeader list",
"success" : "true"
}
応答からヘッダーを書き換えるルールを削除する
応答からヘッダーを書き換えるルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replaceresponseheader/0
zcli farm-replace-response-header remove MyHttpFarm 0
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/replaceresponseheader/<index>
index 削除するreplaceresponseheader配列のインデックスです。
応答例:
{
"description" : "Delete a replace header directive.",
"message" : "The replace header 0 was deleted successfully",
"status" : "needed restart",
"success" : "true"
}
リクエストルールからリライトヘッダーを移動する
応答ルールからリライトヘッダーを移動する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":1}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/replaceresponseheader/id/actions
farm-replace-response-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/replaceresponseheader/<id>/actions
ReplaceRequestヘッダーを移動します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 数 | 新しいルールの位置 | true |
応答例:
{
"description" : "Move a replace header directive",
"message" : "Header was moved successfully.",
"params" : {
"position" : "1"
}
}
証明書を追加する
証明書を追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"file":"example.pem"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/httpFarm/certificates
zcli farm-certificate add httpFarm -file example.pem
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 POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":0}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/newfarm/certificates/certif.pem/actions
zcli farm-certificate move newfarm zertif.pem -position 0
POST /farms/<farmname>/certificates/<file>/actions
URI file
parameterは移動する証明書ファイルの名前です。
この機能により、証明書を移動して確認する順序を変更できます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 整数 | ZAPI呼び出しが処理されるときに証明書がファーム構成内で持つ位置です。 | true |
応答例:
{
"description" : "Move service",
"params" : {
"position" : 0
},
"status" : "needed restart",
"info" : "There\'re changes that need to be applied, stop and start farm to apply them!",
"message" : "certif.pem was moved successfully."
}
証明書を削除する
証明書を削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/certificates/example.pem
zcli farm-certificate remove MyHttpFarm 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/v4.0/zapi.cgi/farms/httpFarm/ipds/blacklists
zcli farm-blacklist add httpFarm -name china
POST /farms/<farmname>/ipds/<dos|blacklists|rbl|waf>
ブラックリスト、DoS、RBL、またはWAFルールをファームに適用します。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | 一意の識別子として使用される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 POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":2}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/ipds/waf/test_waf_ori/rules/0/actions
zcli farm-waf move httpFarm REQUEST-901-INITIALIZATION -position 2
POST /farms/<farmname>/ipds/<waf|blacklists>/<name>/actions
移動IPDSルールは、WAFおよびブラックリストルールでのみ使用できます。 この種のルールでは、チェックされる順序が重要です。
name
URIパラメータは、セットのルールセット名を移動します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 整数 | これは、ZAPI呼び出しが処理されるときに、ファーム構成でIPDSルールが持つ位置です。 | true |
応答例:
{
"message" : "The rule was moved properly to the position 2.",
"description" : "Move a rule in the set test_waf_ori"
}
IPDSルールを削除する
IPDSルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/httpFarm/ipds/blacklists/china
zcli farm-blacklist remove httpFarm china
DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl|waf>/<name>
インジケータを使用して、特定のファームからブラックリスト、DoS、RBL、またはWAFルールを削除します。 名.
応答例:
{
"description" : "Delete a rule form a farm",
"message" : "Blacklist rule china was removed successful from the farm httpFarm.",
"success" : "true"
}
HTTP - サービス
HTTPプロファイルファーム内のサービスは、ファームコアがすべてのクライアント要求に対して正しいサービスを一致させるために使用される決定的な条件を通じて、異なるプロパティ、バックエンド、さらには永続性メソッドを持つ複数のWebサービスを配信するコンテンツ切り替え方法を提供します。 このサービス定義は、クライアントに応答を配信できるバックエンドサーバーを決定するためにファームによって使用されます。
IDでサービスを取得
IDでサービスを取得
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/cookiefarm/services/serv
zcli farm get cookiefarm -filter services
GET /farms/<farmname>/services/<id>
特定のサービスに関するすべての設定を表示します。
応答例:
{
"description" : "Get services of a farm",
"services" : {
"backends" : [
{
"alias" : "http-server",
"id" : 0,
"ip" : "192.168.100.254",
"port" : 80,
"status" : "up",
"timeout" : 20,
"weight" : null,
"priority" : null,
"connection_limit" : null
},
{
"alias" : "http-server",
"id" : 0,
"ip" : "192.168.100.254",
"port" : 80,
"status" : "up",
"timeout" : null,
"weight" : null,
"priority" : null,
"connection_limit" : null
}
],
"cookiedomain" : "zevenet.cpm",
"cookieinsert" : "true",
"cookiename" : "peasocookie",
"cookiepath" : "/patfh",
"cookiettl" : 20,
"farmguardian" : "check_tcp-cut_conns",
"httpsb" : "false",
"id" : "serv",
"leastresp" : "false",
"persistence" : "COOKIE",
"redirect" : "",
"redirect_code" : "",
"redirecttype" : "",
"sessionid" : "JSESSIONID",
"sts_status" : "false",
"sts_timeout" : 0,
"ttl" : 18,
"urlp" : "(?i)^/music$",
"vhost" : "",
"pinnedconnection" : 0,
"routingpolicy" : "ROUND_ROBIN",
"replacerequestheader" : [],
"replaceresponseheader" : [],
"addrequestheader" : [],
"addresponseheader" : [],
"removerequestheader" : [],
"removeresponseheader" : [],
"rewriteurl" : [],
"sessions" : []
}
}
応答パラメータ
応答は以下の形式のJSONオブジェクトになります。
HTTPファーム用のサービスオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
バックエンド | オブジェクト[] | サービスに定義されているバックエンド。 |
調理ドメイン | 文字列 | ドメインがCookieの内容と一致すると、Cookieの挿入が実行されます。 有効にする cookieinsert フィールドは必須項目です。 |
cookieinsert | 文字列 | それはバックエンドスティッキーセッションのためのクッキー挿入を可能にします。 オプションは trueプロファイルは指定されたcookieをフィールドで検索します cookiename、存在しない場合、このCookieが追加されます。 false行動は取られません。 |
cookiename | 文字列 | Cookie名(セッションID)は、バックエンドへの固定プロセスを識別するために使用されます。 有効にする cookieinsert フィールドは必須項目です。 |
cookiepath | 文字列 | それは与えられたクッキーのクッキーパス値を管理します。 有効にする cookieinsert フィールドは必須項目です。 |
調理用具 | 数 | これは、Cookieの最大存続期間(秒)です。 有効にする cookieinsert フィールドは必須項目です。 |
農家 | 文字列 | バックエンドのステータスをチェックしているのはFarmGuardian名です。 FarmGuardianは、ファームが稼働中の間も稼働しています。 |
httpsb | 文字列 | このパラメータは、バックエンドがHTTPSを使用するように構成されていることをファームに示します。その後、データは送信される前に暗号化されます。 trueプロファイルはHTTPSプロトコルのトラフィックをバックエンドに送信します。 falseプロファイルはHTTPプロトコルのトラフィックをバックエンドに送信します。 |
id | 文字列 | サービスの名前。サービスの作成後に変更することはできません。 |
leastresp | 文字列 | これは、最小応答バランシング方式を可能にします。 true プロファイルは、どのバックエンドがこれに応答するのにかかる時間が短いかを頻繁に確認します。 false プロファイルは、どのバックエンドが応答に時間がかからないかをチェックしません。 |
持続性 | 文字列 | このパラメータは、HTTPサービスがクライアントセッションを管理する方法を定義します。 オプションは以下のとおりです。 "" 空文字列、何もしない IP 持続セッションはクライアントIPに基づいて行われます。 BASIC 永続セッションは、BASICヘッダに基づいて行われます。 URL 永続セッションは、URI内のフィールドに基づいて行われます。 PARM 永続セッションは、URIの末尾の値に基づいて行われます。 COOKIE 永続セッションはCookie名に基づいて行われ、このCookieはバックエンドによって作成される必要があります。 ヘッダ永続セッションは、ヘッダー名に基づいて行われます。 |
リダイレクト | 文字列 | クライアントの要求は新しいURLへのリダイレクトによって自動的に応答されるため、特別なバックエンドのように動作します。 リダイレクトが設定されている場合、リクエストはバックエンドに転送されず、代わりにリダイレクトがクライアントに応答されます。 |
redirect_code | 数 | リダイレクトが設定されたときに返されるHTTPコードです。 可能な値は 301, 302, 307. |
リダイレクト型 | 文字列 | リダイレクトの方法、2つの選択肢 デフォルトURLはリダイレクト先の絶対ホストおよびパスと見なされます。 アペンド、元のリクエストパスまたはURIは、デフォルトオプションで指定したホストとパスに追加されます。 もし リダイレクト このフィールドは空の文字列になります。 |
セッションID | 文字列 | あれば利用可能です 持続性 fieldがURL、COOKIE、またはHEADERの場合、パラメータ値はHTTPヘッダー内でファームによって検索され、クライアントセッションを管理します。 |
sts_status | 文字列 | Strict Transport Securityヘッダのステータス。 この機能を有効にするには、ファームリスナーをHTTPSとして設定する必要があります。 可能な値は次のとおりです。 true サービスでSTSディレクティブを有効にします。 または false サービスでSTSディレクティブを無効にします。 |
sts_timeout | 数 | サービスがHTTSでのみ利用可能であることをクライアントが記憶している時間(秒)。 |
TTL | 数 | 固執するだけです。 この値は、非アクティブなクライアントセッションの最大存続期間(最大セッション経過時間)を秒単位で示します。 |
urlp | 文字列 | 文法的にチェックされる特定のURLパターンを通して、クライアントが要求しているURLに関するWebサービスを決定することを許可します。 PCRE正規表現がサポートされています。 |
仮想ホスト | 文字列 | これは、HTTPファームで定義されているものと同じ仮想IPおよびポートを介したドメイン名によって決まる条件を指定します。 PCRE正規表現がサポートされています。 |
pinnedconnection(バージョン4.0.2以降) | 数 | すべての接続を固定するかどうかを指定します(デフォルト:0、固定なし)。 Pinnedconnectionが1に設定されている場合、zproxyは解析や編集を行わずにすべてのデータを直接転送します。 |
ルーティングポリシー(バージョン4.0.2以降) | 文字列 | ルーティングポリシーを指定します。 すべてのアルゴリズムは、各バックエンドで設定されたすべての重みで重み付けされます。 XNUMXつのオプションがあります。 ラウンドロビン ルーティングポリシーとしてラウンドロビンアルゴリズムを使用します(デフォールトン)。 LEAST_CONNECTIONS 設定された重みを比率として使用して、確立された接続が最も少ないバックエンドを選択します。 反応時間 設定された重みを比率として使用して、応答時間が最も短いバックエンドを選択します。 PENDING_CONNECTIONS 設定された重みを比率として使用して、保留中の接続が最も少ないバックエンドを選択します。 |
replacerequestheader(バージョン4.0.2以降) | オブジェクト[] | リクエストのヘッダーを置き換えるルールの配列。 ヘッダーで複数の正規表現が一致する場合は、最初の正規表現のみが適用されます。 サービスのreplaceHeaderディレクティブは、リスナーのものよりも優先されます。 |
replaceresponseheader(バージョン4.0.2以降) | オブジェクト[] | 応答でヘッダーを置き換えるルールの配列。 ヘッダーで複数の正規表現が一致する場合は、最初の正規表現のみが適用されます。 サービスのreplaceHeaderディレクティブは、リスナーのものよりも優先されます。 |
addrequestheader(バージョン4.0.2以降) | オブジェクト[] | クライアントに渡されるリクエストに定義されたヘッダーを追加するためのルールの配列。 ヘッダーは逐語的に追加されます。 |
addresponseheader(バージョン4.0.2以降) | オブジェクト[] | クライアントに渡される応答に定義されたヘッダーを追加するためのルールの配列。 ヘッダーは逐語的に追加されます。 |
removerequestheader(バージョン4.0.2以降) | オブジェクト[] | アウトカミングリクエストから特定のヘッダーを削除するためのルールの配列。バックエンドによって送信されたヘッダーはクライアントに送信されません。 |
removeresponseheader(バージョン4.0.2以降) | オブジェクト[] | アウトカミング応答から特定のヘッダーを削除するためのルールの配列。バックエンドによって送信されたヘッダーはクライアントに送信されません。 |
rewriteurl(バージョン4.0.2以降) | オブジェクト[] | リクエストで送信された仮想ホストを表示するために、応答のLocationヘッダーとContent-Locationヘッダーを変更するルールの配列。 |
セッション(バージョン4.0.2以降) | オブジェクト[] | このファームサービス用に作成された静的セッションと動的セッションのリスト。 |
HTTPファーム用のバックエンドオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
id | 数 | 与えられたサービス内のバックエンド識別子。 |
ip | 文字列 | 実際のサービスが実行されているバックエンドのIP。 |
ポート | 数 | 実際のサービスが実行されているバックエンドのポート。 |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
タイムアウト | 数 | バックエンドの応答を停止するまで待つ最大時間です。 この時間は秒単位です。 |
重量 | 数 | これは現在の実サーバーの重み値であり、重み値が高いバックエンドはより多くの接続を受け取ります。 デフォルト値はnullであり、このバックエンドに使用される特別な重みではありません。 可能な値は 1 〜へ 9. |
優先度 (4.0.1から) | 数 | (プロキシ新世代が機能している場合のみ)これは現在の実サーバーの優先度の値であり、優先度の値が低いバックエンドは、優先度の高い他のバックエンドよりも先に接続を受信できるようになります。 デフォルト値null、優先度値 1 使用されている。 可能な値は 1 〜へ 9. |
connection_limit(4.0.2から) | 数 | (プロキシ新世代が機能している場合のみ)バックエンドごとに確立された接続の最大数。 値が0の場合、バックエンドに制限はありません。 使用可能なバックエンドがない場合、クライアントは503エラーを受け取ります。 |
HTTPファームサービスのreplaceRequestHeaderおよびreplaceResponseHeaderオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現。 |
match | 文字列 | 置き換えたいものと一致する正規表現値。 |
replace | 文字列 | 一致を置き換える値。 |
HTTPファームサービスのaddRequestHeaderおよびaddResponseHeaderオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現。 |
HTTPファームサービスのremoveRequestHeaderおよびremoveResponseHeaderオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
パターン | 文字列 | これは、クライアント要求で検索する正規表現を含む文字列です。 パターン内の一部のヘッダーが一致する場合、ヘッダーは削除されます。 |
HTTPファームサービスのrewriteUrlオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
パターン | 文字列 | これは、URLで検索する正規表現を含む文字列です。 パターン内のURLが一致する場合、一致したテキストが置き換えられます。 |
replace | 文字列 | 一致したテキストを置き換える文字列です。 |
last | 文字列 | 正しいか間違っているか。 trueが設定されている場合、URLの書き換えフェーズが終了します。 |
HTTPファームサービスのセッションオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 「IP」です セッション IPv4またはIPv6である必要があります(例:192.168.42.65)。 |
type | 文字列 | セッションにはXNUMXつのタイプがあります。 ダイナミック ファームロードバランシングアルゴリズムを使用して、バランサーピンをバックエンドにロードする接続です。 静的な ロードバランサの管理者がバックエンドに固定する接続です。 静的セッションは、バックエンドに到達できない場合、別のバックエンドにリダイレクトされません。 |
TTL | 文字列 | 有効期限が切れるセッション時間の文字列です。 の TTL 値は ヌル セッションのタイプが静的でない場合。 |
新しいサービスを作成する
新しいサービスを作成する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"newserv"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/services
zcli farm-service add FarmHTTP -id newserv
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_code":302,
"redirect":"http://zenloadbalancer.com","ttl":125,"sessionid":"sid","sts_status":"true","sts_timeout":21600000,
"leastresp":"true","httpsb":"true","pinnedconnection":0,"routingpolicy":"ROUND_ROBIN"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/services/sev2
zcli farm-service set farmHTTP sev2 -vhost www.mywebserver.com -urlp ^/myapp1$ -persistence URL -redirect_code 302 -redirect http://zenloadbalancer.com -ttl 125 -sessionid sid -sts_status true -sts_timeout 21600000 -pinnedconnection 0 -routingpolicy ROUND_ROBIN
PUT /farms/<farmname>/services/<id>
HTTPプロファイル内のサービスのパラメータを変更します。 id 変更されるサービスの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
仮想ホスト | 文字列 | HTTPプロファイルファームによって定義されたものと同じ仮想IPおよびポートを介したドメイン名によって決定される条件を指定します。 PCRE正規表現がサポートされています。 |
urlp | 文字列 | 文法的にチェックされる特定のURLパターンを通して、クライアントが要求しているURLに関するWebサービスを決定することを許可します。 PCRE正規表現がサポートされています。 |
リダイレクト | 文字列 | これは特別なバックエンドとして機能し、クライアントの要求は新しいURLへのリダイレクトによって自動的に答えられます。 |
redirect_code | 数 | リダイレクトが設定されたときに返されるHTTPコードです。 可能な値は 301, 302, 307, |
リダイレクト型 | 文字列 | リダイレクトの方法、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ヘッダー内のプロファイルによって検索され、クライアントセッションを管理します。 |
sts_status | 文字列 | Strict Transport Securityヘッダのステータス。 この機能を有効にするには、ファームリスナーをHTTPSとして設定する必要があります。 可能な値は次のとおりです。 true サービスでSTSディレクティブを有効にします。 または false サービスでSTSディレクティブを無効にします。 |
sts_timeout | 数 | サービスがHTTSでのみ利用可能であることをクライアントが記憶している時間(秒)。 |
leastresp | 文字列 | これは、最小応答バランシング方式を可能にします。 true多くの場合、プロファイルは、どのバックエンドがこれに応答するのにかかる時間が短いかを確認します。 false、プロファイルは、どのバックエンドが応答に時間がかからないかをチェックしません。 |
httpsb | 文字列 | これは、バックエンドサーバーがHTTPSを使用するように設定されていることをファームに示します。その後、データは送信される前に暗号化されます。 trueプロファイルはHTTPSプロトコルのトラフィックをバックエンドに送信します。 falseプロファイルはHTTPプロトコルのトラフィックをバックエンドに送信します。 |
pinnedconnection(バージョン4.0.2以降) | 数 | すべての接続を固定するかどうかを指定します(デフォルト:0、固定なし)。 Pinnedconnectionが1に設定されている場合、zproxyは解析や編集を行わずにすべてのデータを直接転送します。 |
ルーティングポリシー(バージョン4.0.2以降) | 文字列 | ルーティングポリシーを指定します。 すべてのアルゴリズムは、各バックエンドで設定されたすべての重みで重み付けされます。 XNUMXつのオプションがあります。 ラウンドロビン ルーティングポリシーとしてラウンドロビンアルゴリズムを使用します(デフォルト). LEAST_CONNECTIONS 設定された重みを比率として使用して、確立された接続が最も少ないバックエンドを選択します。 反応時間 設定された重みを比率として使用して、応答時間が最も短いバックエンドを選択します。 PENDING_CONNECTIONS 設定された重みを比率として使用して、保留中の接続が最も少ないバックエンドを選択します。 |
rewritelocation(バージョン4.0.2以降) | 文字列 | 有効になっている場合、ファームは仮想ホストを持つクライアントに応答してLocation:およびContent-location:ヘッダーを変更するように強制されます。 オプションは以下のとおりです。 使用可能、アクティブ 無効、不活性化または 有効バックエンド バックエンドアドレスのみが比較されます。 利用可能な他のオプション: 有効パス and 有効なバックエンド パス。 RewriteUrlディレクティブがリクエストURLを変更した場合、パスが適用されます。 このフラグは、RewriteUrlが実行したURL変換を強制的に元に戻します。 |
応答例:
{
"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,
"httpsb" : "true",
"id" : "newsrv",
"leastresp" : "true",
"persistence" : "",
"redirect" : "http://zenloadbalancer.com",
"redirect_code" : 302,
"redirecttype" : "default",
"sessionid" : "sid",
"sts_status" : "true",
"sts_timeout" : 21600000,
"ttl" : 125,
"urlp" : "^/myapp1$",
"vhost" : "www.mywebserver.com",
"pinnedconnection" : 0,
"routingpolicy" : "ROUND_ROBIN"
},
"status" : "needed restart"
}
応答パラメータ
応答は要求されたパラメータが更新されたJSONとなります。 status ファームの現在のステータスを含むフィールド。 ファームの変更を適用するために再起動アクションを実行する必要がある場合、値は 再起動が必要.
FarmGuardianを追加
FarmGuardianを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"check_tcp-cut_conns"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/services/service1/fg
zcli farm-service-farmguardian add FarmHTTP service1 -name check_tcp-cut_conns
POST /farms/<farmname>/services/<id>/fg
FarmGuardianをサービスに適用します。
URIパラメータはサービスの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | FarmGuardianの固有ID。 FarmGuardiansは監視セクションで作成および修正されます。 |
応答例:
{
"description" : "Add the farm guardian check_tcp-cut_conns to the service service1 in the farm FarmHTTP",
"message" : "Success, The farm guardian check_tcp-cut_conns was added to the service service1 in the farm FarmHTTP"
}
FarmGuardianを削除します。
FarmGuardianを削除します。
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/service/service1/fg/check_tcp-cut_conns
zcli farm-service-farmguardian remove FarmHTTP service1 check_tcp-cut_conns
DELETE /farms/<farmname>/services/<id>/fg/<name>
ファーム内のサービスからFarmGuardianを削除します。
応答例:
{
"description" : "Remove the farm guardian check_tcp-cut_conns from the service service1 in the farm FarmHTTP",
"message" : "Sucess, check_tcp-cut_conns was removed from the service service1 in the farm FarmHTTP"
}
サービスを移動する
サービスを移動する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":0}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/services/service1/actions
zcli farm-service move FarmHTTP service1 -position 0
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/services/service1
zcli farm-service remove FarmHTTP 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"
}
リクエストからヘッダーを書き換えるルールを追加する
リクエストからヘッダーを書き換えるルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:", "match":"^COOKIESESSION=(.*)", "replace":"COOKIEUSER=$1`"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replacerequestheader
zcli farm-service-replacerequestheader add farm1 -header "^Cookie:" -match "^COOKIESESSION=(.*)" -replace "COOKIEUSER=$1`"
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/service/<servicename>/replacerequestheader
リクエストからヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Add a Replace Header.",
"message" : "Added a new replace header"
}
リクエストルールからのリライトヘッダーを変更する
リクエストルールからのリライトヘッダーを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:", "match":"^COOKIESESSION=(.*)", "replace":"COOKIEUSER=$1`"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replacerequestheader/id
zcli farm-service-replacerequestheader add farm1 -header "^Cookie:" -match "^COOKIESESSION=(.*)" -replace "COOKIEUSER=$1`"
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/service/<servicename>/replacerequestheader/<id>
リクエストからヘッダーを書き換えるルールを変更します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Modify replaceHeader directive.",
"message" : "Modified an item from the ReplaceHeader list",
"success" : "true"
}
リクエストルールからのリライトヘッダーを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:", "match":"^COOKIESESSION=(.*)", "replace":"COOKIEUSER=$1`"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replacerequestheader/id
zcli farm-service-replacerequestheader add farm1 -header "^Cookie:" -match "^COOKIESESSION=(.*)" -replace "COOKIEUSER=$1`"
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/service/<servicename>/replacerequestheader/<id>
リクエストからヘッダーを書き換えるルールを変更します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Modify replaceHeader directive.",
"message" : "Modified an item from the ReplaceHeader list",
"success" : "true"
}
リクエストからヘッダーを書き換えるルールを削除する
リクエストからヘッダーを書き換えるルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replacerequestheader/Index
zcli farm-service-replacerequestheader remove MyHttpFarm MyService Index
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/service/<servicename>/replacerequestheader/<index>
index 削除するreplacerequestheader配列のインデックスです。
応答例:
{
"description" : "Add a Replace Header.",
"message" : "Added a new replace header",
"success" : "true"
}
応答からヘッダーを書き換えるルールを追加する
応答からヘッダーを書き換えるルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:", "match":"^COOKIESESSION=(.*)", "replace":"COOKIEUSER=$1`"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replaceresponseheader
zcli farm-service-replaceresponseheader add farm1 -header "^Cookie:" -match "^COOKIESESSION=(.*)" -replace "COOKIEUSER=$1`"
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/service/<servicename>/replaceresponseheader
応答からヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Add a Replace Header.",
"message" : "Added a new replace header",
"success" : "true"
}
リクエストルールからリライトヘッダーを移動する
リクエストルールからリライトヘッダーを移動する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":1}'
https://<zevenet_server>:444/zapi/v4.0/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replacerequestheader/id/actions
farm-replace-response-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/services/<service>/replacerequestheader/<id>/actions
ReplaceRequestヘッダーを移動します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 数 | 新しいルールの位置 | true |
応答例:
{
"description" : "Move a replace header directive",
"message" : "Header was moved successfully.",
"params" : {
"position" : "1"
}
}
応答ルールからの書き換えヘッダーを変更する
応答ルールからの書き換えヘッダーを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"^Cookie:", "match":"^COOKIESESSION=(.*)", "replace":"COOKIEUSER=$1`"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replaceresponseheader/id
zcli farm-service-replaceresponseheader add farm1 -header "^Cookie:" -match "^COOKIESESSION=(.*)" -replace "COOKIEUSER=$1`"
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/service/<servicename>/replaceresponseheader/<id>
応答からヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
match | 文字列 | 置き換えたいものに一致する正規表現値 | true |
replace | 文字列 | 一致を置き換える値 | true |
応答例:
{
"description" : "Modify a replaceHeader directive.",
"message" : "Modified an item from the replaceHeader list",
"success" : "true"
}
応答からヘッダーを書き換えるルールを削除する
応答からヘッダーを書き換えるルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replaceresponseheader/Index
zcli farm-service-replaceresponseheader remove MyHttpFarm MyService Index
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/service/<servicename>/replaceresponseheader/<index>
index 削除するreplaceresponseheader配列のインデックスです。
応答例:
{
"description" : "Delete a replace header directive.",
"message" : "The replace header <index> was deleted successfully"
}
応答ルールからリライトヘッダーを移動する
応答ルールからリライトヘッダーを移動する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":1}'
https://<zevenet_server>:444/zapi/v4.0/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/replaceresponseheader/id/actions
farm-replace-response-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/services/<service>/replaceresponseheader/<id>/actions
ReplaceRequestヘッダーを移動します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 数 | 新しいルールの位置 | true |
応答例:
{
"description" : "Move a replace header directive",
"message" : "Header was moved successfully.",
"params" : {
"position" : "1"
}
}
リクエストにヘッダーを追加するルールを追加する
リクエストにヘッダーを追加するルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"header: value"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/addrequestheader
farm-service-addrequestheader add farm1 -header "header: value"
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/addrequestheader
リクエストからヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
応答例:
{
"description" : "Add a AddHeader.",
"message" : "Added a new add request header",
"success" : "true"
}
リクエストルールへのヘッダーの追加を変更します
リクエストルールへのヘッダーの追加を変更します
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"header: value"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/addrequestheader/id
farm-service-addrequestheader add farm1 -header "header: value"
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/addrequestheader/<id>
リクエストからヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
応答例:
{
"description" : "Add a AddHeader.",
"message" : "Added a new add request header",
"success" : "true"
}
ルールを削除して、リクエストにヘッダーを追加します
ルールを削除して、リクエストにヘッダーを追加します
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/addrequestheader/Index
zcli farm-service-addrequestheader remove MyHttpFarm MyService Index
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/addrequestheader/<index>
index 削除するreplacerequestheader配列のインデックスです。
応答例:
{
"message": "The add request header <index> has been deleted successfully"
}
応答にヘッダーを追加するルールを追加する
応答にヘッダーを追加するルールを追加する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"header: value"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/addresponseheader
zcli farm-service-addresponseheader add farm1 -header "header: value"
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/addresponseheader
応答からヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
応答例:
{
"description" : "Add a AddHeader.",
"message" : "Added a new add request header",
"success" : "true"
}
応答ルールへのヘッダーの追加を変更します
応答ルールへのヘッダーの追加を変更します
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"header: value"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/addresponseheader/id
zcli farm-service-addresponseheader add farm1 -header "header: value"
この呼び出しは、バージョン4.0.2から使用できます。
PUT /farms/<farmname>/addresponseheader/<id>
応答からヘッダーを書き換えるルールを追加します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ヘッダ | 文字列 | 書き換えられるヘッダー名を持つ正規表現 | true |
応答例:
{
"description" : "Modify an addheader directive.",
"message" : "Modified an item from the addheader list",
"success" : "true"
}
ルールを削除して、応答にヘッダーを追加します
ルールを削除して、応答にヘッダーを追加します
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/addresponseheader/Index
zcli farm-service-addresponseheader remove MyHttpFarm MyService Index
この呼び出しは、バージョン4.0.2から使用できます。
DELETE /farms/<farmname>/addrequestheader/<index>
index 削除するreplaceresponseheader配列のインデックスです。
応答例:
{
"message": "The add response header 0 has been deleted successfully"
}
リクエストからヘッダーを削除するルールを追加
リクエストからヘッダーを削除するルールを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/removerequestheader
zcli farm-service-removerequestheader add MyHttpFarm -pattern "^client:""
POST /farms/<farmname>/service/<servicename>/removerequestheader
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"message": "Added a new remove request header"
}
ルールを変更してリクエストからヘッダーを削除する
ルールを変更してリクエストからヘッダーを削除する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/removerequestheader/id
zcli farm-service-removerequestheader add MyHttpFarm -pattern "^client:""
PUT /farms/<farmname>/service/<servicename>/removerequestheader/<id>
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"description" : "Modify RemoveResponseHeader directive.",
"message" : "Modify an item from the removeresponseheader list",
"success" : "true"
}
リクエストからヘッダーを削除するルールを削除する
リクエストからヘッダーを削除するルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/removerequestheader/Index
zcli farm-remove-request-header remove MyHttpFarm Service Index
DELETE /farms/<farmname>/service/<service0>/removerequestheader/<index>
index 削除するremoverequestheader配列のインデックスです。
応答例:
{
"message": "The remove request header <index> has been deleted successfully"
}
応答からヘッダーを削除するルールを追加
応答からヘッダーを削除するルールを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/removeresponseheader
zcli farm-service-removeresponseheader add MyHttpFarm -pattern "^client:""
POST /farms/<farmname>/service/<servicename>/removeresponseheader
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"message": "Added a new remove response header"
}
応答ルールからヘッダーを削除するを変更する
応答ルールからヘッダーを削除するを変更する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/removeresponseheader/id
zcli farm-service-removeresponseheader add MyHttpFarm -pattern "^client:""
PUT /farms/<farmname>/service/<servicename>/removeresponseheader/<id>
着信要求から特定のヘッダーを削除します。 一致する指定ヘッダーのすべての出現箇所が削除されます。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これはクライアントの要求を探すための正規表現付きの文字列です。 一部のヘッダーがパターン内で一致すると、そのヘッダーは削除されます。 | true |
応答例:
{
"description" : "Modify RemoveResponseHeader directive.",
"message" : "Modify an item from the removeresponseheader list",
"success" : "true"
}
応答からヘッダーを削除するルールを削除する
応答からヘッダーを削除するルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/removeresponseheader/Index
zcli farm-remove-request-header remove MyHttpFarm Service Index
DELETE /farms/<farmname>/service/<service0>/removeresponseheader/<index>
index 削除するremoveresponseheader配列のインデックスです。
応答例:
{
"message": "The remove request header <index> has been deleted successfully"
}
チェックにルールを追加し、URLからパターンを書き換えます
チェックにルールを追加し、URLからパターンを書き換えます
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"/media/(.+)$","replace":"/svc1/$1","last":"true"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/rewriteurl
zcli farm-service-rewriteurl add MyHttpFarm MyService -pattern "/media/(.+)$" -replace "/svc1/$1" -last "true"
POST /farms/<farmname>/service/<servicename>/rewriteurl
バージョンから 4.0.2。 URLから文字列を取得して置き換えるために、パターンをチェックします。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これは、URLで検索する正規表現を含む文字列です。 パターン内のURLが一致する場合、一致したテキストが置き換えられます | true |
replace | 文字列 | 一致したテキストを置き換える文字列です | true |
last | 文字列 | 正しいか間違っているか。 trueが設定されている場合、URLの書き換えフェーズが終了します | true |
応答例:
{
"message": "Added a new rewriteurl"
}
チェックのルールを変更し、URLからパターンを書き換えます
チェックのルールを変更し、URLからパターンを書き換えます
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"/media/(.+)$","replace":"/svc1/$1","last":"true"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/rewriteurl/id
zcli farm-service-rewriteurl add MyHttpFarm MyService -pattern "/media/(.+)$" -replace "/svc1/$1" -last "true"
PUT /farms/<farmname>/service/<servicename>/rewriteurl/<id>
バージョンから 4.0.2。 URLから文字列を取得して置き換えるために、パターンをチェックします。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
パターン | 文字列 | これは、URLで検索する正規表現を含む文字列です。 パターン内のURLが一致する場合、一致したテキストが置き換えられます | true |
replace | 文字列 | 一致したテキストを置き換える文字列です | true |
last | 文字列 | 正しいか間違っているか。 trueが設定されている場合、URLの書き換えフェーズが終了します | true |
応答例:
{
"description" : "Modify a RewriteUrl.",
"message" : "Modify a new rewrite url",
"success" : "true"
}
ルールを削除して、URLからパターンをチェックして書き換えます
ルールを削除して、URLからパターンをチェックして書き換えます
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/rewriteurl/Index
zcli arm-service-rewriteurl remove MyHttpFarm Service Index
DELETE /farms/<farmname>/service/<service0>/rewriteurl/<index>
バージョンから 4.0.2. index 削除するrewriteurl配列のインデックスです。
応答例:
{
"message": "The rewriteurl <index> has been deleted successfully"
}
チェックを移動し、URLルールからパターンを書き換えます
チェックを移動し、URLルールからパターンを書き換えます
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":1}'
https://<zevenet_server>:444/zapi/v4.0/zapi/v4.0/zapi.cgi/farms/MyHttpFarm/services/MyService/rewriteurl/id/actions
farm-replace-response-header add farm1 -header ^Cookie: -match ^COOKIESESSION=(.*) -replace COOKIEUSER=$1`
この呼び出しは、バージョン4.0.2から使用できます。
POST /farms/<farmname>/services/<service>/rewriteurl/<id>/actions
ReplaceRequestヘッダーを移動します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
位置 | 数 | 新しいルールの位置 | true |
応答例:
{
"description" : "Move a rewriteurl directive",
"message" : "Header was moved successfully.",
"params" : {
"position" : "1"
}
}
セッションを一覧表示する
セッションを一覧表示する
リクエスト例:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/farm1/services/service0/sessions
zcli farm-service-session list farm1 service0
GET /farms/<farmname>/services/<servicename>/sessions
バージョンから 4.0.2。 farm:serviceのセッションのリストを取得します。 新世代の代理人のみが利用できる物件 プロキシ.
応答例:
{
"description" : "Get farm sessions",
"params": [
{
"id": "0",
"session": "10.0.0.2",
"ttl": null,
"type": "static"
},
{
"id": "0",
"session": "10.0.0.2",
"ttl": "58m28s148ms",
"type": "dynamic"
},
{
"id": "0",
"session": "10.0.0.2",
"ttl": "59m56s496ms",
"type": "dynamic"
}
]
}
応答パラメータ
このリクエストはセッションオブジェクトのリストを返します。各セッションオブジェクトには次のキーが含まれています。
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 「IP」です セッション IPv4またはIPv6である必要があります(例:192.168.42.65)。 |
type | 文字列 | セッションにはXNUMXつのタイプがあります。 ダイナミック ファームロードバランシングアルゴリズムを使用して、バランサーピンをバックエンドにロードする接続です。 静的な ロードバランサの管理者がバックエンドに固定する接続です。 静的セッションは、バックエンドに到達できない場合、別のバックエンドにリダイレクトされません。 |
TTL | 文字列 | 有効期限が切れるセッション時間の文字列です。 の TTL 値は ヌル セッションのタイプが静的でない場合。 |
セッションを追加
セッションを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"session":"10.0.0.2","id":0}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/farm1/services/service0/sessions
zcli farm-service-session add farm1 service0 -backend 0 -session 10.0.0.2
POST /farms/<farmname>/services/<servicename>/sessions
バージョンから 4.0.2。 セッション内にバックエンドを持つ静的セッションを作成します。 と一致する入力接続 セッション 常にそのバックエンドに転送されます。 新世代の代理人のみが利用できる物件 プロキシ.
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 'IP'、 セッション IPv4またはIPv6である必要があります(例:192.168.42.65)。 |
応答例:
{
"description" : "Adding a static session to the farm1",
"message" : "Added a session for the farm 'farm1'",
"params" : {
"id" : "0",
"session" : "10.0.0.1",
"ttl" : null,
"type" : "static"
}
}
応答パラメータ
このリクエストは、次のキーを含むセッションオブジェクトを返します。
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 は 'IP'、 セッション IPv4またはIPv6である必要があります(例:192.168.42.65)。 |
TTL | 文字列 | 有効期限が切れるセッション時間の文字列です。 の TTL 値は ヌル セッションが静的タイプの場合。 |
type | 文字列 | セッションにはXNUMXつのタイプがあります。 ダイナミック ファームロードバランシングアルゴリズムを使用して、バランサーピンをバックエンドにロードする接続です。 静的な ロードバランサの管理者がバックエンドに固定する接続です。 静的セッションは、バックエンドに到達できない場合、別のバックエンドにリダイレクトされません。 |
セッションを削除する
セッションを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/farm1/services/service0/sessions/10.0.0.1
zcli farm-service-session remove farm1 service0 10.0.0.1
DELETE /farms/<farmname>/services/<servicename>/sessions/<session>
静的セッションを削除します。
応答例:
{
"description" : "Delete a 'static' session",
"message" : "The session '10.0.0.1' was deleted properly from the farm 'farm1'.",
"success" : "true"
}
HTTP - サービス - バックエンド
バックエンドを一覧表示する
バックエンドを一覧表示する
リクエスト例:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/httpfarm/services/service1/backends
zcli farm get httpfarm
GET /farms/<farmname>/services/<id>/backends
サービス内のバックエンドのリストを取得します。 id サービスの一意の識別子です。
応答例:
{
"description" : "List service backends",
"params" : [
{
"alias" : null,
"id" : 0,
"ip" : "192.168.0.10",
"port" : 88,
"status" : "up",
"timeout" : 12,
"weight" : 1,
"priority" : null,
"connection_limit" : null
},
{
"alias" : null,
"id" : 1,
"ip" : "192.168.102.245",
"port" : 80,
"status" : "up",
"timeout" : 22,
"weight" : 2,
"priority" : null,
"connection_limit": null
}
]
}
応答パラメータ
この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
id | 数 | サービス内のバックエンドの一意の識別子。 この識別子はシステムによって生成されます。 |
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 |
タイムアウト | 数 | 特定のリクエストに応答するためのバックエンドのタイムアウト(秒単位)です。 |
重量 | 数 | これは、現在のバックエンドの重み値です。 可能な値は 1 〜へ 9. |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
優先度 (4.0.1から) | 数 | (プロキシ新世代が機能している場合のみ)これは、現在の実サーバーの優先度の値です。 優先度の値が低いバックエンドは、優先度の高い他のバックエンドよりも先に接続を受信できるようになります。 デフォルト値null、優先度値 1 使用されている。 可能な値は 1 〜へ 9 |
connection_limit(4.0.2から) | 数 | (プロキシ新世代が機能している場合のみ)バックエンドごとに確立された接続の最大数。 値が0の場合、バックエンドに制限はありません。 使用可能なバックエンドがない場合、クライアントは503エラーを受け取ります。 |
新しいバックエンドを作成する
新しいバックエンドを作成する
リクエスト例:
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,"priority":1,"connection_limit":10}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/httpfarm/services/newsrv/backends
zcli farm-service-backend add httpfarm newsrv -ip 192.168.102.244 -port 80 -timeout 2 -priority 1 -weight 2 -connection_limit 10
POST /farms/<farmname>/services/<id>/backends
特定のHTTPプロファイルに新しいバックエンドを作成します。 id サービスの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 | true |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 | true |
タイムアウト | 数 | 特定のリクエストに応答するためのバックエンドのタイムアウトです。 | |
重量 | 数 | これは、現在のバックエンドの重み値です。 可能な値は 1 〜へ 9. | |
優先度 (4.0.1から) | 数 | (プロキシ新世代が機能している場合のみ)これは、現在の実サーバーの優先度の値です。 優先度の値が低いバックエンドは、優先度の高い他のバックエンドよりも先に接続を受信できるようになります。 デフォルト値null、優先度値 1 使用されている。 可能な値は 1 〜へ 9 | |
connection_limit(4.0.2から) | 数 | (プロキシ新世代が機能している場合のみ)バックエンドごとに確立された接続の最大数。 値が0の場合、バックエンドに制限はありません。 使用可能なバックエンドがない場合、クライアントは503エラーを受け取ります。 |
応答例:
{
"description" : "New service backend",
"message" : "Added backend to service succesfully",
"params" : {
"id" : 0,
"ip" : "192.168.102.244",
"port" : 80,
"timeout" : 2,
"weight" : 2,
"priority" : 1,
"connection_limit" : 10
},
"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,"weight":1,"priority":1,"connection_limit":10}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/FarmHTTP/service/service1/backends/1
zcli farm-service-backend set FarmHTTP service1 1 -ip 192.168.0.10 -port 88 -timeout 12 -weight 1 -priority 1 -connection_limit 10
PUT /farms/<farmname>/services/<id>/backends/<id>
バックエンドHTTPサービスのパラメータを変更します。
名 id サービスの一意の識別子です。 id バックエンドの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 |
タイムアウト | 数 | 特定のリクエストに応答するためのバックエンドのタイムアウト(秒単位)です。 |
重量 | 数 | これは、現在のバックエンドの重み値です。 可能な値は 1 〜へ 9. |
優先度 (4.0.1から) | 数 | (プロキシ新世代が機能している場合のみ)これは、現在の実サーバーの優先度の値です。 優先度の値が低いバックエンドは、優先度の高い他のバックエンドよりも先に接続を受信できるようになります。 デフォルト値null、優先度値 1 使用されている。 可能な値は 1 〜へ 9 |
connection_limit(4.0.2から) | 数 | (プロキシ新世代が機能している場合のみ)バックエンドごとに確立された接続の最大数。 値が0の場合、バックエンドに制限はありません。 使用可能なバックエンドがない場合、クライアントは503エラーを受け取ります。 |
応答例:
{
"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,
"priority" : 4,
"connection_limit" : 10
},
"status" : "needed restart",
"warning" : "Backends with high priority value (4) will not be used."
}
応答パラメータ
応答は要求されたパラメータが更新されたJSONとなります。 status ファームの現在のステータスを含むフィールド。 ファームの変更を適用するために再起動アクションを実行する必要がある場合、値は 再起動が必要。 Priorityパラメータが不整合な値で更新された場合、 警告 フィールドで説明します。
メンテナンス中のバックエンド
メンテナンス中のバックエンド
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"maintenance","mode":"cut"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/httpfarm/services/newsrv/backends/0/maintenance
zcli farm-service-backend maintenance httpfarm newsrv 0 -mode cut
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/newfarmHTTP/services/service1/backends/4
zcli farm-service-backend remove newfarmHTTP service1 4
DELETE /farms/<farmname>/services/<id>/backends/<id>
HTTPサービスから特定のバックエンドを削除します。
名 id サービスの一意の識別子です。 id バックエンドの一意の識別子です。
応答例:
{
"description" : "Delete service backend",
"message" : "Backend removed",
"success" : "true"
}
L4xNATファーム
L4xNATプロファイルファームを使用すると、OSIモデルのレイヤ4で機能するロードバランシングファームを作成できます。HTTPファームプロファイルのようにレイヤ7のロードバランサコアよりも非常に高いパフォーマンスとはるかに多くの同時接続が可能です。 そのレイヤー4パフォーマンスの向上は、レイヤー7プロファイルが管理できる高度なコンテンツ処理を妨げます。
さらに、L4xNATファームは、他のレイヤー7プロファイルで使用される4つの仮想ポートだけでなく、さまざまなポートをバインドできます。 LXNUMXxNATファームで仮想ポートの範囲または特定の仮想ポートを選択できるようにするには、プロトコルタイプを選択する必要があります。 別のケースでは、ファームは仮想IP(文字「*」で示される)からすべてのポートをリッスンします。 TCPまたはUDPプロトコルを選択すると、ポート、「、」の間の複数のポート、「:」の間のポート、または「*」を含むすべてのポートを指定できるようになります。 それらすべての組み合わせも有効になります。
名前で農場を検索する
名前で農場を検索する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4farm
zcli farm get l4farm
GET /farms/<farmname>
特定のファームに関するすべての構成を表示します。
レスポンスボディ:
{
"backends" : [
{
"alias" : null,
"max_conns" : 0,
"id" : 0,
"ip" : "192.168.55.40",
"port" : "88",
"priority" : 2,
"status" : "undefined",
"weight" : 1
},
{
"alias" : "server-1",
"id" : 1,
"max_conns" : 500,
"ip" : "192.168.55.41",
"port" : "88",
"priority" : 3,
"status" : "undefined",
"weight" : 2
}
],
"description" : "List farm l4farm",
"ipds" : {
"blacklists" : [
{
"status" : "down",
"name" : "blacklist"
}
],
"dos" : [
{
"name" : "newlimitconns",
"status" : "down"
}
],
"rbl" : [
{
"name" : "protection_ssh",
"status" : "up"
}
]
},
"params" : {
"algorithm" : "weight",
"farmguardian" : "check_tcp-cut_conns",
"listener" : "l4xnat",
"logs" : "false",
"nattype" : "nat",
"persistence" : "ip",
"protocol" : "tcp",
"status" : "down",
"ttl" : 120,
"vip" : "192.168.100.241",
"vport" : "88",
"sessions": []
}
}
応答パラメータ
応答は以下の形式のJSONオブジェクトになります。
農場オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
ipds | オブジェクト | このファームに適用されているIPDSルールのリスト。 |
paramsは | オブジェクト | ファーム構成のパラメータ。 |
バックエンド | オブジェクト[] | このファームで作成されたすべての実サーバーとその構成。 |
IPDSオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
ブラックリスト | オブジェクト[] | ファームに適用されるブラックリストルール。 |
ドス | オブジェクト[] | ファームに適用されるDoSルール |
rbl | オブジェクト[] | ファームに適用されるRBLルール。 |
ブラックリスト、DoS、およびRBLオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | ルール名 |
status | 文字列 | ルールステータス |
L4xNATファームのパラメータオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
アルゴリズム | 文字列 | バックエンド間でトラフィックをディスパッチするために使用されるロードバランシングスケジューリングのタイプ。 オプションは以下のとおりです。 Leastconn 常に最小接続サーバーに接続を転送します。 重量 バックエンドのウェイトに応じたコネクションの線形ディスパッチ。 ラウンドロビン バックエンドプール間で順次選択を行います。各バックエンドは同じ数の要求を受け取ります。 hash_srcip 同じ送信元IPに一致するパケットを同じバックエンドに分散させます。 hash_srcip_srcport 同じ送信元IPとポートを同じバックエンドに一致させるパケットのバランスを取ります。 シンハシュ 同じ送信元IPとポート、および送信先IPとポートに一致するパケットのバランスをとるため、両方向で(インバウンドおよびアウトバウンドの間に)接続がハッシュされる可能性があります。 |
リスナー | 文字列 | リスナーは、ファームがクライアントからの要求をどのように処理するかを定義します。 情報フィールド、変更できません。 |
ログ | 文字列 | ファームトランスポート層のパケット情報を記録します。利用可能なアプリケーション層情報ではありません。 このパラメータの値が trueログが有効になります。 値があれば falseログは無効になっています。 |
ナタイプ | 文字列 | ロードバランサレイヤ4コアの動作方法 オプションは以下のとおりです。 NAT sNATモードとも呼ばれ、バックエンドはクライアントに応答を送信するためにロードバランサーに応答します。 DNAT バックエンドはクライアントに直接応答します。ロードバランサーはバックエンドサーバーのゲートウェイとして設定する必要があります。 に DSR (Direct Server Return)モードクライアントがVIPに接続すると、ロードバランサーは宛先MACアドレスをバックエンドMACアドレスに変更します(サーバーはロードバランサーと同じリンクメディア上になければなりません)。 ステートレスDNAT に stateless_dnat ロードバランサは、宛先アドレスをバックエンドアドレスに切り替えて、DNATのようにバックエンドに転送しますが、いかなる種類の接続情報も管理しません。 |
持続性 | 文字列 | このパラメータは、選択された永続モードに基づいて、着信要求を同じバックエンドに転送します。 オプションは以下のとおりです。 "" 空の値は永続性を無効にします。各着信パケットはバックエンド間でバランスが取られます。 ip or srcipSource IPは、送信元IPアドレスのみに応じて、すべての着信接続に同じバックエンドを割り当てます。 ポートSource Portは、送信元ポートのみに応じて、すべての着信接続に同じバックエンドを割り当てます。 srcmac、Source MAC、このオプションでは、ファームはパケットのリンク層のMACアドレスに応じてすべての着信接続に同じバックエンドを割り当てます。 srcip_srcportSource IPとSource Portは、送信元IPと送信元ポートの両方に応じて、すべての着信接続に同じバックエンドを割り当てます。 srcip_dstportSource IPとDestination Portは、送信元IPと宛先ポートの両方に応じて、すべての着信接続に同じバックエンドを割り当てます。 |
文字列 | レイヤ4でバランスをとるためのプロトコル。 オプションは以下のとおりです。 を プロファイルはL4プロトコルを負荷分散します。 TCP ロードバランサはTCP L4プロトコルのみのバランスをとります。これもTCPの場合、ヘッダーを解析して適切に配布するために使用するために、次のプロトコルを1回設定することが可能です。 FTP, IRC, PPTPまたは 健全な; UDP ロードバランサはUDP L4プロトコルのバランスをとるだけです。UDPの場合も、ヘッダーを解析して適切に配布するために使用するために、次のプロトコルを1回設定することが可能です。 一口, tftp, アマンダ, NetBIOS-nsまたは SNMP; sctp、ロードバランサはSCTP L4プロトコルのバランスをとるだけです。 もし h323 を選択すると、農場は TCP and UDP バックエンド間のバランスをとるために、ヘッダーを要求して解析します。 | |
status | 文字列 | 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドにアクセスできない、またはメンテナンス中です。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 メンテナンス、ファームは稼働しており、稼働中のバックエンドがありますが、ほとんどのバックエンドはメンテナンスモードです。 up、農場は稼働しており、すべてのバックエンドは成功しています。 |
TTL | 数 | このフィールド値は、クライアントのソースとバックエンドの間の持続性が割り当てられている秒数を秒単位で示します。 固執 設定する必要があります。 |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 |
vport | 文字列 | 仮想サービスが待機しているファームのポート。 一意のポートを指定でき、範囲ポートは区切り文字で指定できます : いくつかのポートは区切り文字で指定できます ,. |
農家 | 文字列 | バックエンドのステータスをチェックしているのはFarmGuardian名です。 FarmGuardianは、ファームが稼働中の間も稼働しています。 |
セッション(バージョン4.0.2以降) | オブジェクト[] | このファーム用に作成された静的セッションと動的セッションのリスト。 |
L4xNATファームのバックエンドオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
id | 数 | ファームバックエンドプール内のバックエンドを識別するためのID。 |
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。 |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
優先順位 | 数 | 現在の実サーバーの優先度の値です。 優先度の値が低いバックエンドは、優先度の高いバックエンドより先に接続を受信する準備ができています。 デフォルト値null、優先値 1 使用されている。 可能な値は 1 〜へ 9. |
重量 | 数 | これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。 可能な値は 1 〜へ 9. |
max_conns | 数 | バックエンドが同時に受信しようとしている最大接続数です。 それが設定されている場合 0 バックエンドが制限を定義していない値。 |
L4xNATファームのセッションオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
クライアント | 数 | これはクライアント識別子です。 |
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 'mac'、 セッション MACである必要があります。例:02:8e:69:38:12:8e; もし 持続性 'ip'または 'srcip'、 セッション IPv4またはIPv6にする必要があります(例:192.168.42.65)。 もし 持続性 'ポート'、 セッション 有効なポートでなければなりません(例:5445)。 もし 持続性 'srcip_srcport'または 'srcip_dstport'; セッション アンダースコープで結合されたIPとポートを持つ文字列である必要があります ''、例:122.36.54.280. Visme |
TTL | 文字列 | 有効期限が切れるセッション時間の文字列です。 の TTL 値は ヌル セッションが静的タイプの場合。 |
type | 文字列 | セッションにはXNUMXつのタイプがあります。 ダイナミック ファームロードバランシングアルゴリズムを使用して、バランサーピンをバックエンドにロードする接続です。 静的な ロードバランサの管理者がバックエンドに固定する接続です。 静的セッションは、バックエンドに到達できない場合、別のバックエンドにリダイレクトされません。 |
新しい農場を作る
新しい農場を作る
リクエスト例:
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/v4.0/zapi.cgi/farms
zcli farm create -farmname newl4farm -vip 192.168.100.241 -vport 88 -profile l4xnat
POST /farms
新しいL4xNATファームを作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
農場名 | 文字列 | ファーム名、一意の識別子 | true |
プロフィール | 文字列 | 作成したファームのプロフィール。 L4xNATファームの場合 l4xnat、情報メッセージ、この値は変更できません | true |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 | true |
vport | 文字列 | 仮想サービスが待機しているファームのポート。 L4xNATファームでは、で区切られたマルチポートが可能です。 , またはで区切られた範囲ポート :. | true |
copy_from(4.0.1から) | 文字列 | このパラメーターは、存在するファームの名前を想定しています。 このパラメーターが送信されると、ファームはそのパラメーターで指定されたファームからコピーされます。 の 農場名, VIP and vport 値は上書きされます。 |
応答例:
{
"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","logs":"true"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/newfarml4
zcli farm set newfarml4 -algorithm weight -newfarmname l4farm -protocol tcp -nattype nat -ttl 125 -vip 178.62.126.152 -vport 81 -logs true
PUT /farms/<farmname>
L4xNATファームの構成を変更します。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
newfarmname | 文字列 | 新しいファームの名前。 農場を停止する必要があります。 |
ログ | 文字列 | ファームトランスポート層のパケット情報を記録します。利用可能なアプリケーション層情報ではありません。 このパラメータの値が trueログが有効になります。 値があれば falseログは無効になっています。 |
TTL | 数 | このフィールド値は、クライアントのソースとバックエンドの間の持続性が割り当てられている秒数を秒単位で示します。 持続性を設定する必要があります。 |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 |
vport | 文字列 | 仮想サービスが待機しているファームのポート。 一意のポートを指定でき、範囲ポートは区切り文字で指定できます : いくつかのポートは区切り文字で指定できます ,. |
持続性 | 文字列 | このパラメータは、選択された永続モードに基づいて、着信要求を同じバックエンドに転送します。 オプションは以下のとおりです。 "" 空の値は永続性を無効にします。各着信パケットはバックエンド間でバランスが取られます。 ip or srcipSource IPは、送信元IPアドレスのみに応じて、すべての着信接続に同じバックエンドを割り当てます。 ポートSource Portは、送信元ポートのみに応じて、すべての着信接続に同じバックエンドを割り当てます。 srcmac、Source MAC、このオプションでは、ファームはパケットのリンク層のMACアドレスに応じてすべての着信接続に同じバックエンドを割り当てます。 srcip_srcportSource IPとSource Portは、送信元IPと送信元ポートの両方に応じて、すべての着信接続に同じバックエンドを割り当てます。 srcip_dstportSource IPとDestination Portは、送信元IPと宛先ポートの両方に応じて、すべての着信接続に同じバックエンドを割り当てます。 |
ナタイプ | 文字列 | ロードバランサレイヤ4コアの動作方法 オプションは以下のとおりです。 NAT sNATモードとも呼ばれ、バックエンドはクライアントに応答を送信するためにロードバランサーに応答します。 DNAT バックエンドはクライアントに直接応答します。ロードバランサーはバックエンドサーバーのゲートウェイとして設定する必要があります。 に DSR (Direct Server Return)モードクライアントがVIPに接続すると、ロードバランサーは宛先MACアドレスをバックエンドMACアドレスに変更します(サーバーはロードバランサーと同じリンクメディア上になければなりません)。 ステートレスDNAT に stateless_dnat ロードバランサは、宛先アドレスをバックエンドアドレスに切り替えて、DNATのようにバックエンドに転送しますが、いかなる種類の接続情報も管理しません。 |
アルゴリズム | 文字列 | バックエンド間でトラフィックをディスパッチするために使用されるロードバランシングスケジューリングのタイプ。 オプションは以下のとおりです。 Leastconn 常に最小接続サーバーに接続を転送します。 重量 バックエンドのウェイトに応じたコネクションの線形ディスパッチ。 ラウンドロビン バックエンドプール間で順次選択を行います。各バックエンドは同じ数の要求を受け取ります。 hash_srcip 同じ送信元IPに一致するパケットを同じバックエンドに分散させます。 hash_srcip_srcport 同じ送信元IPとポートを同じバックエンドに一致させるパケットのバランスを取ります。 シンハシュ 同じ送信元IPとポート、および送信先IPとポートに一致するパケットのバランスをとるため、両方向で(インバウンドおよびアウトバウンドの間に)接続がハッシュされる可能性があります。 |
文字列 | レイヤ4でバランスをとるためのプロトコル。 オプションは以下のとおりです。 を プロファイルはL4プロトコルを負荷分散します。 TCP ロードバランサはTCP L4プロトコルのみのバランスをとります。これもTCPの場合、ヘッダーを解析して適切に配布するために使用するために、次のプロトコルを1回設定することが可能です。 FTP, IRC, PPTPまたは 健全な; UDP ロードバランサはUDP L4プロトコルのバランスをとるだけです。UDPの場合も、ヘッダーを解析して適切に配布するために使用するために、次のプロトコルを1回設定することが可能です。 一口, tftp, アマンダ, NetBIOS-nsまたは SNMP; sctp、ロードバランサはSCTP L4プロトコルのバランスをとるだけです。 もし h323 を選択すると、農場は TCP and UDP バックエンド間のバランスをとるために、ヘッダーを要求して解析します。 |
応答例:
{
"description" : "Modify farm l4farm",
"params" : {
"algorithm" : "weight",
"logs" : "true",
"nattype" : "nat",
"newfarmname" : "l4farm",
"persistence" : "",
"protocol" : "tcp",
"ttl" : 125,
"vip" : "178.62.126.152",
"vport" : "81"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
FarmGuardianを追加
FarmGuardianを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"check_tcp-cut_conns"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4Farm/fg
zcli farm-service-farmguardian add l4Farm default_service -name check_tcp-cut_conns
POST /farms/<farmname>/fg
FarmGuardianを農場に適用します。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | FarmGuardianの固有ID。 FarmGuardiansは監視セクションで作成および修正されます。 |
応答例:
{
"description" : "Add the farm guardian check_tcp-cut_conns to the farm fgl4",
"message" : "Success, The farm guardian check_tcp-cut_conns was added to the farm fgl4"
}
FarmGuardianを削除します。
FarmGuardianを削除します。
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4Farm/fg/check_tcp-cut_conns
zcli farm-service-farmguardian remove l4Farm default_service check_tcp-cut_conns
DELETE /farms/<farmname>/fg/<name>
ファームからFarmGuardianを削除します。
応答例:
{
"description" : "Remove the farm guardian check_tcp-cut_conns from the farm fgl4",
"message" : "Sucess, check_tcp-cut_conns was removed from the farm fgl4"
}
追加 POST /farms/<farmname>/sessions
追加 DELETE /farms/<farmname>/sessions/<session>
セッションを一覧表示する
セッションを一覧表示する
リクエスト例:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/farm1/sessions
zcli farm-session list farm1
GET /farms/<farmname>/sessions
ファーム内のセッションのリストを取得します。
応答例:
{
"description" : "Get farm sessions",
"params": [
{
"client": 0,
"id": "0",
"session": "10.0.0.2_56",
"ttl": null,
"type": "static"
},
{
"client": 1,
"id": "0",
"session": "10.0.0.2_54936",
"ttl": "58m28s148ms",
"type": "dynamic"
},
{
"client": 2,
"id": "0",
"session": "10.0.0.2_54968",
"ttl": "59m56s496ms",
"type": "dynamic"
}
]
}
応答パラメータ
このリクエストは、セッションオブジェクトのリストを返します。各セッションオブジェクトには、次のキーが含まれています。
フィールド | 種類 | 説明 |
---|---|---|
クライアント | 数 | これはクライアント識別子です。 |
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 'mac'、 セッション MACである必要があります。例:02:8e:69:38:12:8e; もし 持続性 'ip'または 'srcip'、 セッション IPv4またはIPv6にする必要があります(例:192.168.42.65)。 もし 持続性 'ポート'、 セッション 有効なポートでなければなりません(例:5445)。 もし 持続性 'srcip_srcport'または 'srcip_dstport'; セッション アンダースコープで結合されたIPとポートを持つ文字列である必要があります ''、例:122.36.54.280. Visme |
TTL | 文字列 | 有効期限が切れるセッション時間の文字列です。 の TTL 値は ヌル セッションが静的タイプの場合。 |
type | 文字列 | セッションにはXNUMXつのタイプがあります。 ダイナミック ファームロードバランシングアルゴリズムを使用して、バランサーピンをバックエンドにロードする接続です。 静的な ロードバランサの管理者がバックエンドに固定する接続です。 静的セッションは、バックエンドに到達できない場合、別のバックエンドにリダイレクトされません。 |
セッションを追加
セッションを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"session":"10.0.0.2_56","id":0}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/farm1/sessions
zcli farm-session add farm1 -id 0 -session 10.0.0.2_56
POST /farms/<farmname>/sessions
バックエンドとの静的セッションを作成します。 と一致する入力接続 セッション 常にそのバックエンドに転送されます。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 'mac'、 セッション MACである必要があります。例:02:8e:69:38:12:8e; もし 持続性 'ip'または 'srcip'、 セッション IPv4またはIPv6にする必要があります(例:192.168.42.65)。 もし 持続性 'ポート'、 セッション 有効なポートでなければなりません(例:5445)。 もし 持続性 'srcip_srcport'または 'srcip_dstport'; セッション アンダースコープで結合されたIPとポートを持つ文字列である必要があります ''、例:122.36.54.280. Visme |
応答例:
{
"description" : "Adding a static session to the farm1",
"message" : "Added a session for the farm 'farm1'",
"params" : {
"client" : 1,
"id" : "0",
"session" : "10.0.0.1_56",
"ttl" : null,
"type" : "static"
}
}
応答パラメータ
このリクエストは、次のキーを含むセッションオブジェクトを返します。
フィールド | 種類 | 説明 |
---|---|---|
クライアント | 数 | これはクライアント識別子です。 |
id | 数 | 接続を受信するバックエンドID。 |
セッション | 文字列 | セッション識別子または接続であり、その値は 持続性 ファームのパラメーター。 もし 持続性 'mac'、 セッション MACである必要があります。例:02:8e:69:38:12:8e; もし 持続性 'ip'または 'srcip'、 セッション IPv4またはIPv6にする必要があります(例:192.168.42.65)。 もし 持続性 'ポート'、 セッション 有効なポートでなければなりません(例:5445)。 もし 持続性 'srcip_srcport'または 'srcip_dstport'; セッション アンダースコープで結合されたIPとポートを持つ文字列である必要があります ''、例:122.36.54.280. Visme |
TTL | 文字列 | 有効期限が切れるセッション時間の文字列です。 の TTL 値は ヌル セッションが静的タイプの場合。 |
type | 文字列 | セッションにはXNUMXつのタイプがあります。 ダイナミック ファームロードバランシングアルゴリズムを使用して、バランサーピンをバックエンドにロードする接続です。 静的な ロードバランサの管理者がバックエンドに固定する接続です。 静的セッションは、バックエンドに到達できない場合、別のバックエンドにリダイレクトされません。 |
セッションを削除する
セッションを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/farm1/sessions/10.0.0.1_56
zcli farm-session remove farm1 10.0.0.1_56
DELETE /farms/<farmname>/sessions/<session>
静的セッションを削除します。
応答例:
{
"description" : "Delete a 'static' session",
"message" : "The session '10.0.0.1_56' was deleted properly from the farm 'farm1'.",
"success" : "true"
}
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/v4.0/zapi.cgi/farms/l4Farm/ipds/blacklists
zcli farm-blacklist add l4Farm -name china
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/v4.0/zapi.cgi/farms/l4Farm/ipds/blacklists/china
zcli farm-blacklist remove l4Farm china
DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>
指標を使用して、特定のファームから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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4farm/backends
zcli farm get l4farm
GET /farms/<farmname>/backends
サービス内のバックエンドのリストを取得します。
応答例:
{
"description" : "List backends",
"params" : [
{
"alias" : null,
"id" : 0,
"ip" : "192.5.1.1",
"max_conns" : 400,
"port" : 787,
"priority" : 1,
"status" : "up",
"weight" : 1
},
{
"alias" : "server-2",
"id" : 1,
"ip" : "192.5.1.3",
"max_conns" : 200,
"port" : 787,
"priority" : 2,
"status" : "up",
"weight" : 1
},
]
}
応答パラメータ
この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
id | 数 | ファームバックエンドプール内のバックエンドを識別するためのID。 |
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。 |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
max_conns | 数 | これは、バックエンドの同時接続の最大数です。 このフィールドの値が0の場合、バックエンドは接続制限を構成していません。 |
優先順位 | 数 | これは現在の実サーバーの優先順位の値です。 1が最も優先順位が高く、9が最も優先順位が低い場合に、常に最も優先順位の高いものに接続します。 |
重量 | 数 | これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。 可能な値は 1 〜へ 9. |
新しいバックエンドを作成する
新しいバックエンドを作成する
リクエスト例:
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4farm/backends
zcli farm-service-backend add l4farm default_service -ip 192.168.5.100 -port 8080 -max_conns 400
POST /farms/<farmname>/backends
所定のL4xNATファームに新しいバックエンドを作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 | true |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。 | |
max_conns | 数 | これは、バックエンドの同時接続の最大数です。 このフィールドの値が0の場合、バックエンドは接続制限を構成していません。 | |
優先順位 | 数 | 現在の実サーバーの優先度の値です。 優先度の値が低いバックエンドは、優先度の高いバックエンドより先に接続を受信する準備ができています。 デフォルト値null、優先値 1 使用されている。 可能な値は 1 〜へ 9. | |
重量 | 数 | これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。 可能な値は 1 〜へ 9. |
応答例:
{
"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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4farm/backends/2
zcli farm-service-backend set l4farm default_service 2 -ip 192.168.5.40 -port 8080 -max_conns 220 -priority 4 -weight 7
PUT /farms/<farmname>/backends/<id>
L4xNATファーム用にバックエンドのパラメータを変更します。 id バックエンドの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 |
ポート | 数 | 実際のサービスがリッスンしているバックエンドのポート。 空の値が受け入れられ、仮想ポートと同じ構成が使用されます。 |
max_conns | 数 | これは、バックエンドの同時接続の最大数です。 このフィールドの値が0の場合、バックエンドは接続制限を構成していません。 |
優先順位 | 数 | 現在の実サーバーの優先度の値です。 優先度の値が低いバックエンドは、優先度の高いバックエンドより先に接続を受信する準備ができています。 デフォルト値null、優先値 1 使用されている。 可能な値は 1 〜へ 9. |
重量 | 数 | これは、現在の実サーバーの重み値です。 重みが大きいバックエンドは、より多くの接続を受け取ります。 可能な値は 1 〜へ 9. |
応答例:
{
"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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4farm/backends/1/maintenance
zcli farm-service-backend maintenance l4farm default_service 1 -mode cut
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/l4farm/backends/4
zcli farm-service-backend remove l4farm default_service 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/v4.0/zapi.cgi/farms/gslbfarm
zcli farm get gslbfarm
GET /farms/<farmname>
特定のファームに関するすべての構成を表示します。
応答例:
{
"description" : "List farm gslbfarm",
"ipds" : {
"blacklists" : [],
"dos" : [],
"rbl" : [
{
"name" : "protection_ssh",
"status" : "up"
}
]
},
"params" : {
"status" : "needed restart",
"vip" : "192.168.100.155",
"vport" : 60
},
"services" : [
{
"algorithm" : "roundrobin",
"backends" : [
{
"alias" : "localhost",
"id" : 1,
"ip" : "127.0.0.1",
"port" : 53,
"status" : "up"
},
{
"alias" : "dns-server",
"id" : 2,
"ip" : "192.168.55.40",
"port" : 53,
"status" : "up"
},
{
"alias" : null,
"id" : 4,
"ip" : "192.135.10.2",
"port" : 53,
"status" : "up"
}
],
"deftcpport" : 53,
"farmguardian" : "dns-request",
"id" : "service1"
},
{
"algorithm" : "prio",
"backends" : [
{
"alias" : "localhost",
"id" : 1,
"ip" : "127.0.0.1",
"port" : 80,
"status" : "up"
},
{
"alias" : "localhost",
"id" : 2,
"ip" : "127.0.0.1",
"port" : 80,
"status" : "up"
}
],
"deftcpport" : 80,
"farmguardian" : null,
"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オブジェクト
フィールド | 種類 | 説明 |
---|---|---|
ブラックリスト | オブジェクト[] | ブラックリストが農場に適用されました。 |
ドス | オブジェクト[] | ファームに適用されるDoSルール |
rbl | オブジェクト[] | ファームに適用されるRBLルール。 |
ブラックリスト、DoS、およびRBLオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | ルール名 |
status | 文字列 | ルールステータス |
GSLBファームのパラメータオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 |
vport | 数 | 仮想サービスが待機しているファームのポート。 |
status | 文字列 | 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドに到達できません。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 up、農場は稼働しており、すべてのバックエンドは成功しています。 |
GSLBファームのサービスオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
バックエンド | オブジェクト[] | サービスに定義されているバックエンド。 |
農家 | 文字列 | バックエンドのステータスをチェックしているのはFarmGuardian名です。 FarmGuardianは、ファームが稼働中の間も稼働しています。 農場の丸太はGSLB農場では利用できません |
id | 文字列 | 一意の識別子として使用されるサービス名。 |
アルゴリズム | 文字列 | サービスで使用されているロードバランシングアルゴリズムのタイプ。 オプションは以下のとおりです。 ラウンドロビンすべてのバックエンド間の接続のバランスを取ります。 プリオ これはすべての接続を最初の利用可能なバックエンドに送ります。 |
deftcpport | 数 | デフォルトのTCPポートヘルスチェック これは、バックエンドサービスが稼働していることを確認するためにサービスがチェックしようとしているヘルスチェックTCPポートです。 空の値は無効になります。 |
GSLBファームのバックエンドオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
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/v4.0/zapi.cgi/farms
zcli farm create -farmname gslbfarm -vip 192.168.100.241 -vport 53 -profile gslb
POST /farms
新しいGSLBファームを作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
農場名 | 文字列 | ファーム名は、ファームの一意の識別子として使用されます。 | true |
プロフィール | 文字列 | 作成したファームのプロフィール。 GSLB農場にとっては gslb. | true |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 | true |
vport | 数 | 仮想サービスが待機しているファームのポート。 | true |
copy_from(4.0.1から) | 文字列 | このパラメーターは、存在するファームの名前を想定しています。 このパラメーターが送信されると、ファームはそのパラメーターで指定されたファームからコピーされます。 の 農場名, VIP and vport 値は上書きされます。 |
応答例:
{
"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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm
zcli farm set gslbfarm -newfarmname gslbnewname -vip 192.168.100.155 -vport 60
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/v4.0/zapi.cgi/farms/gslbFarm/ipds/blacklists
zcli farm farm-blacklist add gslbFarm -name china
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/v4.0/zapi.cgi/farms/gslbFarm/ipds/blacklists/china
zcli farm-blacklist remove gslbFarm china
DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>
特定のファームからそのIDを使用してブラックリスト、DoS、またはRBLルールを削除します。 名.
応答例:
{
"description" : "Delete a rule form a farm",
"message" : "Blacklist rule china was removed successful from the farm gslbFarm.",
"success" : "true"
}
GSLB - サービス
GSLBサービスは、実サーバーのグループとそれらに使用される関連アルゴリズムを表します。 新しいサービスを作成するには、有効な識別名と使用する目的のアルゴリズムを設定します。
利用可能なサービスは次のとおりです。
ラウンドロビン:平等な共有。 すべてのアクティブな実サーバへのトラフィックの均等なバランス。 着信接続ごとに、バランサは次のラウンドロビン実サーバーを割り当てて要求を配信します。
優先順位:常に利用可能な最も優先順位の高いものへの接続。 同じ最高優先順位のサーバーへのすべての接続のバランスをとります。 このサーバーが停止している場合、接続は次に高いサーバーに切り替わります。 このアルゴリズムを使用すると、複数の実サーバーでアクティブ - パッシブクラスタサービスを構築できます。
GSLBファーム用のサービスオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
バックエンド | オブジェクト[] | サービスに定義されているバックエンド。 |
農家 | 文字列 | バックエンドのステータスをチェックしているのはFarmGuardian名です。 FarmGuardianは、ファームが稼働中の間も稼働しています。 |
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services
zcli farm-service add gslbfarm -id service1 -algorithm roundrobin
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services/service1
zcli farm-service set gslbfarm service1 -deftcpport 53
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になります。 詳しくは、応答の例を参照してください。
FarmGuardianを追加
FarmGuardianを追加
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"dns-request"}' https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/service/service1/fg
zcli farm-service-farmguardian add gslbfarm service1 -name dns-request
POST /farms/<farmname>/services/<id>/fg
FarmGuardianをサービスに適用します。
URIパラメータはサービスの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | FarmGuardianの固有ID。 FarmGuardiansは監視セクションで作成および修正されます。 FarmGuardianログは、gslbファームには使用できません。 |
応答例:
{
"description" : "Add the farm guardian dns-request to the service service1 in the farm gslbfarm",
"message" : "Success, The farm guardian dns-request was added to the service service1 in the farm gslbfarm"
}
FarmGuardianを削除します。
FarmGuardianを削除します。
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/service/service1/fg/dns-request
zcli farm-service-farmguardian remove gslbfarm service1 dns-request
DELETE /farms/<farmname>/fg/<name>
GSLBサービスからFarmGuardianを削除します。
応答例:
{
"description" : "Remove the farm guardian dns-request from the service service1 in the farm gslbfarm",
"message" : "Sucess, dns-request was removed from the service service1 in the farm gslbfarm"
}
サービスを削除する
サービスを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services/service1
zcli farm-service remove gslbfarm 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services/service1/backends
zcli farm get gslbfarm
GET /farms/<farmname>/services/<id>/backends
サービス内のバックエンドのリストを取得します。 id サービスの一意の識別子です。
応答例:
{
"description" : "List service backends",
"params" : [
{
"alias" : "localhost",
"id" : 1,
"ip" : "127.0.0.1",
"port":53,
"status":"up"
},
{
"alias" : "dns-server",
"id" : 2,
"ip" : "192.168.55.40",
"port":53,
"status":"up"
}
]
}
応答パラメータ
この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services/service1/backends
zcli farm-service-backend add gslbfarm service1 -ip 192.135.10.2
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services/service1/backends/1
zcli farm-service-backend set gslbfarm service1 1 -ip 192.168.2.30
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/services/service1/backends/3
zcli farm-service-backend remove gslbfarm service1 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.com"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones
zcli farm-zone add gslbfarm -id global.com
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones/global.com
zcli farm-zone set gslbfarm global.com -defnamesv ns3
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones/dom.com
zcli farm-zone remove gslbfarm 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リソースは次のとおりです。
- NS。 ネームサーバタイプレコード。指定された信頼できるネームサーバを使用するようにDNSゾーンを委任します。
- A。 アドレスタイプレコード、ホストのIPv6アドレスを返します。
- CNAME。 正規名型レコード。指定された名前の別名を表します。
- DYNA。 動的アドレスタイプレコード。このサービス用に選択されたアルゴリズムに従って、ファーム構成内にすでに作成されているGSLBサービスによって指定された動的アドレスを返します。
- AAAA。 アドレスタイプレコード、ホストのIPv6アドレスを返します。
- MX。 メール交換タイプレコード。ドメイン名をそのドメインのメッセージ転送エージェントのリストにマップします。
- SRV。 MXなどのプロトコル固有のレコードを作成する代わりに、より新しいプロトコルに使用されるサービスロケータタイプレコード、一般化されたサービスロケーションレコード。
- TXT。 テキスト型レコード。必要に応じて取得できるテキストベースの情報を格納するために使用されます。 TXFレコードがSPFデータを保持し、ドメインの所有権を検証するために使用されるのが最も一般的です。
- PTR。 ポインタレコード。正規名へのポインタ。 CNAMEとは異なり、DNS処理は停止し、名前だけが返されます。 最も一般的な用途は、DNS逆引き参照の実装です。
- NAPTR。 Naming Authority Pointer、URIとして使用することができるドメイン名の正規表現ベースの書き換え、ルックアップのためのさらなるドメイン名などを許可します。
リソースを一覧表示する
リソースを一覧表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones/global.com/resources
zcli farm-zone-resource list gslbfarm global.com
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones/global.com/resources
zcli farm-zone-resource add gslbfarm global.com -rname resource2 -rdata 192.168.0.9 -ttl 10 -type A
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones/global.com/resources/1
zcli farm-zone-resource set gslbfarm global.com 1 -rname resource2 -rdata 192.168.200.30 -type A
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/gslbfarm/zones/global.com/resources/3
zcli farm-zone-resource remove gslbfarm global.com 3
DELETE /farms/<farmname>/zones/<id>/resources/<id>
GSLB農場のゾーンにある特定のリソースを削除する
に注意してください DELETE
最初の上のURI id ゾーンの一意の識別子です。 id リソースの一意の識別子です。
応答例:
{
"description" : "Delete zone resource",
"message" : "Resource removed",
"success" : "true"
}
データリンクファーム
The datalink farm profile or DSLB (Datalink Service Load Balancing) allows creating a routes based farm where the backends are uplink routers or gateways.データリンクファームプロファイルまたはDSLB(Datalink Service Load Balancing)を使用すると、バックエンドがアップリンクルーターまたはゲートウェイであるルートベースのファームを作成できます。 This kind of farm profile is ready to share several uplink WAN router accesses using the load balancer as an uplink channel multiplexor (1 input and several router line outputs).この種のファームプロファイルは、ロードバランサーをアップリンクチャネルマルチプレクサー(XNUMXつの入力と複数のルーターライン出力)として使用して、いくつかのアップリンクWANルーターアクセスを共有する準備ができています。 Therefore, the datalink farms could be used as high available communication links and additionally could be used as bandwidth increase joining the amount of bandwidth between the routers backends links.したがって、データリンクファームは、利用可能な通信リンクとして使用でき、さらに、ルーターのバックエンドリンク間の帯域幅の量に加わる帯域幅の増加として使用できます。
名前で農場を検索する
名前で農場を検索する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/dlink
zcli farm get dlink
GET /farms/<farmname>
ファームに関するすべての構成を表示します。
応答例:
{
"backends" : [
{
"alias" : "main-gateway",
"id" : 0,
"interface" : "eth0",
"ip" : "192.168.100.10",
"priority" : 2,
"status" : "undefined",
"weight" : 2
},
{
"alias" : "secondary-gateway",
"id" : 1,
"interface" : "eth0",
"ip" : "192.168.100.11",
"priority" : 2,
"status" : "undefined",
"weight" : 1
}
],
"description" : "List farm dlink",
"ipds" : {
"blacklists" : []
},
"params" : {
"algorithm" : "weight",
"status" : "down",
"vip" : "192.168.100.199"
}
}
応答パラメータ
応答は以下の形式のJSONオブジェクトになります。
農場オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
ipds | オブジェクト | このファームに適用されているIPDSルールのリスト。 |
paramsは | オブジェクト | ファーム構成のパラメータ。 |
バックエンド | オブジェクト[] | このファームで作成された実サーバーとその構成。 |
IPDSオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
ブラックリスト | String [] | ブラックリストが農場に適用されました。 |
データリンクファームのパラメータオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
アルゴリズム | 文字列 | ファームで使用されている負荷分散アルゴリズムの種類。 オプションは以下のとおりです。 重量より高いウェイト属性を持つより多くのチャージバックエンドが与えられた場合、バランサはすべての利用可能なバックエンドの間で分配します。 プリオこれは、すべての接続をマイナー値でバックエンドに送信します。 優先順位. |
status | 文字列 | 農場の状況 使用可能な状況値は以下のとおりです。 ダウンファームが稼働していません。 再起動が必要ファームは稼働していますが、再起動アクションが保留中です。 重大なファームが稼働しており、すべてのバックエンドに到達できません。 問題ファームは稼働しており、到達不能なバックエンドがいくつかありますが、ほとんどのバックエンドが稼働中です。 up、農場は稼働しており、すべてのバックエンドは成功しています。 |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 |
データリンクファームのバックエンドオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
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/v4.0/zapi.cgi/farms
zcli farm create -profile datalink -farmname dlink -vip 192.168.100.241
POST /farms
新しいデータリンクファームを作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
農場名 | 文字列 | ファーム名、一意の識別子 | true |
プロフィール | 文字列 | 作成されたファームのプロフィール。 タイプdatalinkのファームを作成するための鍵は データリンク | true |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 | true |
copy_from(4.0.1から) | 文字列 | このパラメーターは、存在するファームの名前を想定しています。 このパラメーターが送信されると、ファームはそのパラメーターで指定されたファームからコピーされます。 の 農場名 and VIP 値は上書きされます。 |
応答例:
{
"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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/dlink
zcli farm set dlink -newfarmname dlink2 -vip 192.168.100.199 -algorithm weight
PUT /farms/<farmname>
データリンクファームの構成を変更します。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
newfarmname | 文字列 | 新しい農場の名前 このフィールドを変更するには、ファームを停止する必要があります。 |
アルゴリズム | 文字列 | ファームで使用されている負荷分散アルゴリズムの種類。 オプションは以下のとおりです。 重量より高いウェイト属性を持つより多くのチャージバックエンドが与えられた場合、バランサはすべての利用可能なバックエンドの間で分配します。 プリオこれは、すべての接続をマイナー値でバックエンドに送信します。 優先順位. |
VIP | 文字列 | 仮想サービスが待機しているファームのIP。 |
応答例:
{
"description" : "Modify farm dlink",
"params" : {
"algorithm" : "weight",
"vip" : "192.168.100.199",
"newfarmname" : "dlink2"
}
}
応答パラメータ
応答はすべての要求された値が更新された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/v4.0/zapi.cgi/farms/dlink2/ipds/blacklists
zcli farm-blacklist add dlink2 -name china
POST /farms/<farmname>/ipds/<blacklists>
ブラックリストルールをファームに適用します。 データリンクプロファイルはブラックリストルールのみを受け入れます。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | 一意の識別子として使用されるIPDSルール名。 |
応答例:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm dlink2.",
"success" : "true"
}
IPDSルールを削除する
IPDSルールを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/dlink2/ipds/blacklists/china
zcli farm-blacklist remove dlink -name china
DELETE /farms/<farmname>/ipds/<blacklists>/<name>
指標を使用して、特定のファームからIPDSモジュールのブラックリストルールを削除します。 名.
応答例:
{
"description" : "Delete a rule from a farm",
"message" : "Blacklist rule china was removed successful from the farm dlink2.",
"success" : "true"
}
データリンク - バックエンド
データリンクファームのバックエンドは、サービスをルーティングするためのゲートウェイです。 サービスはこれらのゲートウェイ間で多重化され、それらのうちのいくつかは利用できません、サービスは他を使用します。
バックエンドを一覧表示する
バックエンドを一覧表示する
リクエスト例:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/dlink/backends
zcli farm get dlink
GET /farms/<farmname>/backends
サービス内のバックエンドのリストを取得します。
応答例:
[
{
"alias" : "main-gateway",
"id" : 6,
"interface" : "eth0",
"ip" : "192.168.100.10",
"priority" : 2,
"status" : "undefined",
"weight" : 2
},
{
"alias" : "secondary-gateway",
"id" : 7,
"interface" : "eth0",
"ip" : "192.168.100.11",
"priority" : 2,
"status" : "undefined",
"weight" : 1
}
]
応答パラメータ
この呼び出しは、以下のパラメータを持つバックエンドオブジェクトの配列を返します。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | バックエンドを識別するのを助けることはニックネームです。 エイリアス |
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/dlink/backends
zcli farm-service-backend add dlink default_service -ip 192.168.100.10 -interface eth0 -priority 2 -weight 2
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,"priority":1}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/datalink/backends/2
zcli farm-service-backend set datalink default_service 2 -ip 192.168.102.50 -interface eth0 -weight 1 -priority 1
PUT /farms/<farmname>/backends/<id>
データリンクファームのサービスでバックエンドのパラメータを変更します。 id バックエンドの一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
ip | 文字列 | 実際のサービスがリッスンしているバックエンドのIP。 |
インタフェース | 文字列 | バックエンドが接続されているローカルネットワークインターフェースです。 |
優先順位 | 数 | 特定のリクエストに応答することがバックエンドの優先順位です。 |
重量 | 数 | これは、現在のバックエンドの重み値です。 |
応答例:
{
"description" : "Modify backend",
"message" : "Backend modified",
"params" : {
"interface" : "eth0",
"ip" : "192.168.102.50",
"priority" : 1,
"weight" : 1
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
バックエンドを削除する
バックエンドを削除する
リクエスト例:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/farms/dlink/backends/4
zcli farm-service-backend remove dlink default_service 4
DELETE /farms/<farmname>/backends/<id>
データリンクファームから特定のバックエンドを削除します。 id バックエンドの一意の識別子です。
応答例:
{
"description" : "Delete backend",
"message" : "Backend removed",
"success" : "true"
}
ネットワーク
Zevenetはさまざまな種類のネットワークインターフェースで動作します。
このセクションでは、NIC、VLAN、仮想、およびボンディングインターフェースでアクションを一覧表示、作成、設定、削除、および設定できます。
NIC:またはネットワークインタフェースカード、それはコンピュータのハードウェアコンポーネントです。 残りのインタフェースはNICに基づいています。
VLAN仮想LANカードは、ネットワークセグメンテーションサービスを提供する一種のネットワークインタフェースです。 nicインタフェースを介して複数のVLANを作成できます。
ボンディング:他のベンダーからトランクインターフェースとも呼ばれていますが、この種のNICは複数のNICインターフェースで作成することができます。 Zevenetは7の異なるタイプのボンディングインターフェースをサポートします。
バーチャル注:この種のインタフェースは、上で説明した任意の種類のインタフェース上に作成でき、それらはその親インタフェースのルーティングテーブルを使用するので、その親と同じネットワークセグメントに設定されている必要があります。 この種のインタフェースは、農場で使用する必要があります。
すべてのインターフェースを一覧表示する
すべてのインターフェースを一覧表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/nic
zcli network list
GET /interfaces
システム内のインターフェースとその構成のリストを入手してください。
応答例:
{
"description" : "List interfaces",
"interfaces" : [
{
"alias" : null,
"gateway" : "",
"ip" : "",
"mac" : "66:eb:31:0e:07:71",
"name" : "bond2",
"netmask" : "",
"status" : "down",
"dhcp" : "false",
"type" : "bond"
},
{
"alias" : null,
"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",
"dhcp" : "false",
"type" : "bond"
},
{
"alias" : null,
"gateway" : "192.168.100.5",
"has_vlan" : "true",
"ip" : "192.168.100.241",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0",
"netmask" : "255.255.255.0",
"status" : "up",
"dhcp" : "false",
"type" : "nic",
"is_slave" : "false"
},
{
"alias" : null,
"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",
"dhcp" : "false",
"type" : "vlan"
},
{
"alias" : null,
"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"
},
{
"alias" : "gestion",
"gateway" : "192.168.100.5",
"has_vlan" : "false",
"ip" : "192.168.100.102",
"mac" : "62:30:43:36:29:ac",
"name" : "eth1",
"netmask" : "255.255.255.0",
"status" : "up",
"dhcp" : "false",
"type" : "nic",
"is_slave" : "false"
},
{
"alias" : null,
"gateway" : "",
"has_vlan" : "false",
"ip" : "",
"mac" : "66:eb:31:0e:07:71",
"name" : "eth2",
"netmask" : "",
"status" : "up",
"dhcp" : "false",
"type" : "nic",
"is_slave" : "true"
},
{
"alias" : null,
"gateway" : "",
"has_vlan" : "false",
"ip" : "",
"mac" : "a2:6d:80:29:87:c6",
"name" : "eth3",
"netmask" : "",
"status" : "up",
"type" : "nic",
"dhcp" : "false",
"is_slave" : "true"
}
]
}
応答パラメータ
応答は、インターフェースオブジェクト配列を持つJSONオブジェクトになります。
インタフェースオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP IPは、仮想インターフェース内のその親インターフェースと同じネットワークセグメント内になければなりません。 |
has_vlan | 文字列 | trueそれがVLANインタフェースの親であるインタフェース。 または false、インターフェイスはそれを追加するVLANインターフェイスを持っていません。 このフィールドはNICインターフェイス専用です。 |
ネットマスク | 文字列 | インターフェイスのネットマスク。 この値は仮想インターフェースでは変更できませんでした。親インターフェースから継承されます。 |
ゲートウェイ | 文字列 | インタフェースのゲートウェイ この値は仮想インターフェースでは変更できませんでした。親インターフェースから継承されます。 |
MAC | 文字列 | インターフェイスのMAC この値は、ボンディングインターフェイスの最初のNICスレーブから継承されます。 仮想インターフェイスとVLANインターフェイスでは、親インターフェイスから継承されます。 |
名 | 文字列 | インターフェイスの名前。 一意の識別子として使用されます。 |
status | 文字列 | 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェースはパケットを受信できません。 |
type | 文字列 | 異なる種類のインタフェースは次のとおりです。 NIC, VLAN, バーチャル or 債券. |
is_slave | 文字列 | NICインタフェースでのみ利用可能 trueインターフェイスはボンディングインターフェイスの一部です。 false インターフェースは、ボンディングインターフェースの一部ではありません。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
デフォルトゲートウェイを取得する
デフォルトゲートウェイを取得する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/gateway/ipv4
zcli network-default-gateway-ipv4 get
GET /interfaces/gateway/<ip_version>
デフォルトゲートウェイは、ロードバランサのどのインタフェースからもローカルに到達できないすべての宛先トラフィックを送信するノードです。
デフォルトゲートウェイインタフェースのパラメータを取得します。
システムは2つのゲートウェイを構成しました。1つはIPv64をルーティングするため、もう1つはIPv66をルーティングするためです。 URIはIPバージョンを想定しています ipv4 or ipv6.
応答例:
{
"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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/gateway/ipv4
zcli network-default-gateway-ipv4 set -interface eth0 -address 192.168.100.5
PUT /interfaces/gateway/<ip_version>
ゲートウェイインターフェイスの設定を変更します。
URIはアドレスフィールドで使用されるIPバージョンを期待します。 可能な値は ipv4 and ipv6.
応答例:
{
"description" : "Modify default gateway",
"message" : "The default gateway has been changed successfully",
"success" : "true"
}
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
住所 | 文字列 | ゲートウェイのIPです。 |
インタフェース | 文字列 | ゲートウェイのインターフェイス名 |
ゲートウェイ構成を削除する
DELETE /interfaces/gateway/<ip_version>
デフォルトゲートウェイ設定の設定を削除します。
URIは、デフォルトゲートウェイの1つのIPバージョンを削除することを期待しています。 可能な値は ipv4 and ipv6.
警告:ゲートウェイが設定されていない場合、Zevenetは外部ネットワークセグメントから到達可能にはなりません。
ゲートウェイ構成を削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/gateway/ipv4
zcli network-default-gateway-ipv4 delete
応答メッセージ
ゲートウェイが同じネットワークセグメントから設定解除されている場合、このメッセージが表示されます。それ以外の場合、接続は失われます。
応答例:
{
"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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/nic
zcli network-nic list
応答例:
{
"description" : "List NIC interfaces",
"interfaces" : [
{
"alias" : null,
"gateway" : "192.168.100.5",
"has_vlan" : "true",
"ip" : "192.168.100.241",
"is_slave" : "false",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0",
"netmask" : "255.255.255.0",
"dhcp" : "false",
"status" : "up"
},
{
"alias" : "gestion",
"gateway" : "192.168.100.5",
"has_vlan" : "false",
"ip" : "192.168.100.102",
"is_slave" : "false",
"mac" : "62:30:43:36:29:ac",
"name" : "eth1",
"netmask" : "255.255.255.0",
"dhcp" : "false",
"status" : "up"
},
{
"alias" : null,
"gateway" : "",
"has_vlan" : "false",
"ip" : "",
"is_slave" : "false",
"mac" : "a2:6d:80:29:87:c6",
"name" : "eth3",
"netmask" : "",
"dhcp" : "false",
"status" : "down"
}
]
}
応答パラメータ
応答は、NICインターフェースオブジェクトの配列を持つJSONオブジェクトになります。
NICインタフェースオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP |
has_vlan | 文字列 | trueそれがVLANインタフェースの親であるインタフェース。 または false、インターフェイスはそれを追加するVLANインターフェイスを持っていません。 |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | パケットを別のネットワークセグメントに送信するために使用されるIP。 |
MAC | 文字列 | リンク層の一意の識別子。 修正不可能です。 |
名 | 文字列 | インターフェイスの名前。 これは、インターフェイスの一意の識別子として使用されます。 |
status | 文字列 | 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェースはパケットを受信できません。 |
is_slave | 文字列 | true インターフェースはボンディングインターフェースの一部です。 false インターフェースは、ボンディングインターフェースの一部ではありません。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
NICインターフェースを取得する
NICインターフェースを取得する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/nic/eth1
zcli network-nic get eth1
GET /interfaces/nic/<name>
NICインターフェースのすべてのパラメーターを入手してください。 名 インターフェースの固有IDです。
応答例:
{
"description" : "Show NIC interface",
"interface" : {
"alias" : "gestion",
"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",
"dhcp" : "false",
"status" : "up"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | パケットを別のネットワークセグメントに送信するために使用されるIP。 |
MAC | 文字列 | リンク層の一意の識別子。 修正不可能です。 |
名 | 文字列 | インターフェイスの名前。 これは、インターフェイスの一意の識別子として使用されます。 |
status | 文字列 | 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェースはパケットを受信できません。 |
type | 文字列 | 異なる種類のインターフェイスは次のとおりです。 NIC, VLAN, バーチャル or 債券。 それぞれがネットワークサブメニューで定義されています。 |
is_slave | 文字列 | true インターフェースはボンディングインターフェースの一部です。 false インターフェースは、ボンディングインターフェースの一部ではありません。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/nic/eth1
zcli network-nic set eth0 -ip 192.168.100.102 -netmask 255.255.255.0 -gateway 192.168.100.5
PUT /interfaces/nic/<name>
NICインターフェースのパラメーターを変更します。 名 インターフェースの固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
ip | 文字列 | インターフェイスのIP |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
力 | 文字列 | ファームがインターフェイスを使用している場合、インターフェイスを変更することはできません。 次に、このパラメータが値とともに送信された場合 trueインターフェイスが新しい設定を使用するように強制され、インターフェイスを使用しているすべてのファームが再起動されます。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
応答例:
{
"description" : "Configure NIC interface",
"params" : {
"alias" : null,
"dhcp" : "false",
"gateway" : "192.168.100.5",
"ip" : "192.168.100.102",
"is_slave" : "false",
"mac" : "4a:4f:3c:d7:dd:70",
"name" : "eth1",
"netmask" : "255.255.255.0",
"status" : "down"
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
NIC設定を削除する
NIC設定を削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/nic/eth3
zcli network-nic unset 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/nic/eth1/actions
zcli network-nic stop eth1
POST /interfaces/nic/<name>/actions
NICインターフェースにアクションを適用します。 この呼び出しはネットワークインターフェースを有効または無効にします。
名 インターフェースの固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
アクション | 文字列 | インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 upインターフェイスを有効にして使用できるように準備します。 ダウンパケットを送受信しないようにインターフェイスを無効にします。 | true |
応答例:
{
"description" : "Action on nic interface",
"params" : {
"action" : "up"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
ネットワーク - VLANインタフェース
VLANインタフェースは、NICまたはボンディングインタフェースが別のネットワークで機能するようにします。IP, ゲートウェイ、 ネットマスク)別のネットワークセグメントに属している必要があります。 VLANインターフェイスは、その親インターフェイスからMACアドレスを継承します。
VLANインターフェースフィールド 名 VLANインターフェイスのIDタグを確立するために使用されるドット「。」文字が表示されます。
VLANインタフェースの一覧表示
VLANインタフェースの一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/vlan
zcli network-vlan list
GET /interfaces/vlan
VLANインタフェースの全パラメータを取得します。
応答例:
{
"description" : "List VLAN interfaces",
"interfaces" : [
{
"alias" : null,
"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",
"dhcp" : "false",
"status" : "down"
}
]
}
応答パラメータ
応答は、VLANインターフェースオブジェクト配列を持つJSONオブジェクトになります。
VLANパラメータは次のとおりです。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP それは親インターフェイスIPと異なる場合があります。 |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
MAC | 文字列 | インターフェイスのMAC この値は親インターフェースから継承されます。 |
名 | 文字列 | インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス名であるドット文字「。」でフォーマットされたチェーンです。 およびVLANネットワークインターフェイスまたはVLANタグの番号。 |
親 | 文字列 | これを作成するために使用されるインタフェースです。 |
status | 文字列 | 値は up インターフェイスはパケットを受信できます。 ダウン インターフェイスはパケットを受信できません。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
VLANインタフェースを取得する
VLANインタフェースを取得する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/vlan/eth0.1
zcli network-vlan get eth0.1
GET /interfaces/vlan/<name>
VLANインタフェースのすべてのパラメータを取得します。 名 インターフェースの固有IDです。
応答例:
{
"description" : "Show VLAN interface",
"interface" : {
"alias" : null,
"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",
"dhcp" : "false",
"status" : "up"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
MAC | 文字列 | インターフェイスのMAC この値は親インターフェースから継承されます。 |
名 | 文字列 | インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス名であるドット文字「。」でフォーマットされたチェーンです。 およびVLANネットワークインターフェイスの番号。 |
status | 文字列 | 値は up インターフェイスはパケットを受信できます。 ダウン インターフェイスはパケットを受信できません。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
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","mac":"52:98:19:6a:c9:18","dhcp":"false"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/vlan
zcli network-vlan create -name eth0.1 -ip 192.168.120.120 -netmask 255.255.255.0 -gateway 192.168.120.1 -mac 52:98:19:61:c9:18 -dhcp false
POST /interfaces/vlan
NICまたはボンディングインターフェースからVLANインターフェースを作成します。 次のネットワークパラメータは異なる必要がありますが、新しいVLANインタフェースはMACを共有します。 ipそして、以下が変わる可能性があります。 ゲートウェイ, ネットマスク.
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
ip | 文字列 | インターフェイスのIP。 親インターフェースIPとは異なる必要があります。 | true |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 | true |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 | true |
名 | 文字列 | インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス名であるドット文字「。」でフォーマットされたチェーンです。 およびVLANネットワークインターフェイスの番号。 | true |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 | |
MAC | 文字列 | インターフェイスのMACを書き換えます。 |
応答例:
{
"description" : "Add a vlan interface",
"params" : {
"gateway" : "192.168.120.1",
"ip" : "192.168.120.120",
"mac" : "52:98:19:6a:c9:18",
"name" : "eth0.1",
"dhcp" : "false",
"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","mac":"96:23:25:8b:d4:af"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/vlan/eth0.1
zcli network-vlan set eth0.1 -ip 192.168.131.151 -netmask 255.255.255.0 -gateway 192.168.131.1 -mac 96:23:25:8b:d4:af
PUT /interfaces/vlan/<name>
VLANインタフェースのパラメータを変更します。 名 インターフェースの固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
ip | 文字列 | インターフェイスのIP それは親インターフェイスIPと異なる場合があります。 |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
MAC | 文字列 | インターフェイスのMACを書き換えます。 |
力 | 文字列 | ファームがインターフェイスを使用している場合、インターフェイスを変更することはできません。 次に、このパラメータが値とともに送信された場合 trueインターフェイスが新しい設定を使用するように強制され、インターフェイスを使用しているすべてのファームが再起動されます。 |
応答例:
{
"description" : "Modify VLAN interface",
"params" : {
"gateway" : "192.168.131.1",
"ip" : "192.168.131.155",
"netmask" : "255.255.255.0",
"mac" : "96:23:25:8b:d4:af",
"dhcp" : "false",
"force" : "true"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
VLANインタフェースを削除
VLANインタフェースを削除
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/vlan/eth0.1
zcli network-vlan delete 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/vlan/eth0.1/actions
zcli network-vlan stop eth0.1
POST /interfaces/vlan/<name>/actions
VLANインターフェイスにアクションを適用します。 この呼び出しはネットワークインターフェースを有効または無効にします。
名 名前の一意の識別子です。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
アクション | 文字列 | インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 upインターフェイスを有効にして使用できるように準備します。 ダウンパケットを送受信しないようにインターフェイスを無効にします。 | true |
応答例:
{
"description" : "Action on vlan interface",
"params" : {
"action" : "down"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
ネットワーク - 仮想インタフェース
ネットワークインターフェイスを使用すると、ユーザーは親と同じネットワークセグメントに別のネットワークインターフェイスを設定できるため、仮想インターフェイスは常にその親からネットワーク構成を継承します。 別のパラメータは ip。 仮想インターフェイスは、NIC、ボンディング、またはVLANから作成できます。 新しい仮想インターフェイスを作成すると、仮想インターフェイスのIDを確立するために使用されるコロン「:」文字を含むフィールドが表示されます。
仮想インタフェースの一覧表示
仮想インタフェースの一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/virtual
zcli network-virtual list
GET /interfaces/virtual
仮想インターフェースのすべてのパラメーターを入手してください。
応答例:
{
"description" : "List virtual interfaces",
"interfaces" : [
{
"alias" : null,
"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"
},
{
"alias" : null,
"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"
}
]
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメント内になければなりません。 |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 親インターフェースから継承します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 親インターフェースから継承します。 |
MAC | 文字列 | インターフェイスのMAC 親インターフェースから継承します。 |
名 | 文字列 | インターフェイスの名前。 一意の識別子として使用されます。 この名前は、親インターフェイス、コロン文字「:」、および仮想ネットワークインターフェイスの名前でフォーマットされたチェーンであり、英数字を使用できます。 |
親 | 文字列 | これを作成するために使用されるインタフェースです。 |
status | 文字列 | 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェースはパケットを受信できません。 |
仮想インターフェースを取得する
仮想インターフェースを取得する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/virtual/eth0:virtiface
zcli network-virtual get eth0:vip1
GET /interfaces/virtual/<name>
仮想インタフェースのすべてのパラメータを取得します。 名 インターフェースの固有IDです。
応答例:
{
"description" : "Show virtual interface",
"interface" : {
"alias" : null,
"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"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/virtual
zcli network-virtual create -name eth0:virtiface -ip 192.168.100.41
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/virtual/eth0:virtiface
zcli network-virtual set eth0:virtiface -ip 192.168.131.155
PUT /interfaces/virtual/<name>
仮想インタフェースのパラメータを変更します。 名 インターフェースの固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 | の提出が必要です |
---|---|---|---|
ip | 文字列 | インターフェイスのIP IPは、親インターフェイスと同じネットワークセグメント内になければなりません。 | true |
力 | 文字列 | ファームがインターフェイスを使用している場合、インターフェイスを変更することはできません。 次に、このパラメータが値とともに送信された場合 trueインターフェイスが新しい設定を使用するように強制され、インターフェイスを使用しているすべてのファームが再起動されます。 |
応答例:
{
"description" : "Modify virtual interface",
"params" : {
"ip" : "192.168.100.10",
"force" : "true"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
仮想インタフェースを削除
仮想インタフェースを削除
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/virtual/eth0:virtiface
zcli network-virtual delete 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/virtual/eth0:virtiface/actions
zcli network-virtual stop eth0:virtiface
POST /interfaces/virtual/<name>/actions
仮想インターフェースにアクションを適用します。 この呼び出しはネットワークインターフェースを有効または無効にします。
名 インターフェースの固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
アクション | 文字列 | インターフェイスに適用するアクション 利用可能な値は以下のとおりです。 upインターフェイスを有効にして使用できるように準備します。 ダウンパケットを送受信しないようにインターフェイスを無効にします。 | true |
応答例:
{
"description" : "Action on virtual interface",
"params" : {
"action" : "down"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
ネットワーク - ボンディングインターフェース
Linuxボンディングインタフェース、またはトランクとして他のベンダーからも呼ばれているものは、複数のネットワークインタフェースを単一の論理的な「ボンディングされた」インタフェースに集約するための方法を提供します。 結合インターフェースの動作はモードによって異なります。ZevenetLoad Balancerは次のメソッドをサポートしています。
ラウンドロビンポリシー:利用可能な最初のスレーブから最後のパケットまで順番にパケットを送信します。 このモードは負荷分散とフォールトトレランスを提供します。
アクティブバックアップポリシー:結合内の1つのスレーブのみがアクティブです。 アクティブなスレーブが失敗した場合に限り、別のスレーブがアクティブになります。 スイッチの混乱を避けるために、ボンドのMACアドレスは1つのポート(ネットワークアダプタ)でのみ外部から見えます。 このモードはフォールトトレランスを提供します。 主なオプションはその動作に影響します。
XORポリシー:送信元MACアドレスと送信先MACアドレスとのXORをとって送信します。 これにより、各宛先MACアドレスに同じスレーブが選択されます。 このモードは負荷分散とフォールトトレランスを提供します。
放送ポリシー:すべてのスレーブインタフェース上のすべてのものを送信します。 このモードはフォールトトレランスを提供します。
IEEE 802.3ad LACP:同じ速度と二重設定を共有するアグリゲーショングループを作成します。 802.3ad仕様に従って、アクティブアグリゲーター内のすべてのスレーブを利用します。
前提条件:
各スレーブの速度とデュプレックスを取得するためのベースドライバでのネットワークインタフェースのサポート。
IEEE 802.3adダイナミックリンクアグリゲーションをサポートするスイッチ。 ほとんどのスイッチは、802.3adモードを有効にするためにある種の設定を必要とします。
適応送信ロードバランシング:特別なスイッチサポートを必要としないチャネルボンディング。 発信トラフィックは、各スレーブの現在の負荷(速度に対して計算されたもの)に従って分配されます。 着信トラフィックは現在のスレーブによって受信されます。 受信側スレーブに障害が発生した場合、別のスレーブが障害のある受信側スレーブのMACアドレスを引き継ぎます。
前提条件:
各スレーブの速度を取得するためのベースドライバのサポート。
適応型ロードバランシング:IPV4トラフィック用のアダプティブ送信ロードバランシングと受信ロードバランシングを含み、特別なスイッチサポートを必要としません。 受信ロードバランシングはARPネゴシエーションによって実現されます。 ボンディングドライバは、ローカルシステムから送信されたARP応答を途中で傍受して、ボンディング内の1つのスレーブの一意のハードウェアアドレスで送信元ハードウェアアドレスを上書きするため、異なるピアがサーバーに異なるハードウェアアドレスを使用します。
ボンディングインターフェースの一覧表示
ボンディングインターフェースの一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding
zcli network-bonding list
GET /interfaces/bonding
システム内のすべてのボンディングインターフェースに関する設定を取得します。
応答例:
{
"description" : "List bonding interfaces",
"interfaces" : [
{
"alias" : null,
"gateway" : "",
"ip" : "",
"mac" : "66:eb:31:0e:07:71",
"mode" : "broadcast",
"name" : "bond2",
"netmask" : "",
"dhcp" : "false",
"slaves" : [
{
"name" : "eth2"
}
],
"status" : "down"
},
{
"alias" : null,
"gateway" : "192.168.100.1",
"ip" : "192.168.100.121",
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"dhcp" : "false",
"netmask" : "255.255.255.0",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth4"
}
],
"status" : "up"
}
]
}
応答パラメータ
応答は、ボンディングインターフェースオブジェクト配列を持つJSONオブジェクトになります。
結合パラメータは次のとおりです。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
MAC | 文字列 | リンク層の一意の識別子。 それは MAC 最初のNICインタフェーススレーブの。 |
名 | 文字列 | インターフェイスの名前。 これは、インターフェイスの一意の識別子として使用されます。 |
status | 文字列 | 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。 |
奴隷 | オブジェクト[] | ボンディングインターフェースのNICインターフェースメンバー。 |
モード | 文字列 | これはボンディングインターフェースの作業モードです。 オプションは以下のとおりです。 残高ラウンドロビンポリシー。 アクティブバックアップ、アクティブバックアップポリシー。 バランスxorXORポリシー 放送放送ポリシー。 802.3ad、IEEE XNUMXad LACP; balance-tlb適応送信負荷分散。 balance-alb、適応型ロードバランシング。 これらの値はsectionで定義されています ネットワーク - ボンディングインターフェース. |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
スレーブオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | お名前 NICスレーブのインタフェース固有の識別子です。 |
ボンディングインタフェースの取得
ボンディングインタフェースの取得
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding/bondiface
zcli network-bonding get bondiface
GET /interfaces/bonding/<name>
インターフェースのすべてのパラメーターを取得してください。 名 インターフェースの固有IDです。
応答例:
{
"description" : "Show bonding interface",
"interface" : {
"alias" : null,
"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",
"dhcp" : "false",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth2"
}
],
"status" : "up"
}
}
応答パラメータ
応答は、ボンディングインターフェースオブジェクトを含むJSONオブジェクトになります。
結合パラメータは次のとおりです。
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
ip | 文字列 | インターフェイスのIP |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
MAC | 文字列 | リンク層の一意の識別子。 それは MAC 最初のNICインタフェーススレーブの。 |
名 | 文字列 | インターフェイスの名前。 これは、インターフェイスの一意の識別子として使用されます。 |
status | 文字列 | 値は upインターフェイスはパケットを受信できます。 ダウン、インターフェイスはパケットを受信できません。 |
奴隷 | オブジェクト[] | ボンディングインターフェースのNICインターフェースメンバー。 |
モード | 文字列 | これはボンディングインターフェースの作業モードです。 オプションは以下のとおりです。 残高ラウンドロビンポリシー。 アクティブバックアップ、アクティブバックアップポリシー。 バランスxorXORポリシー 放送放送ポリシー。 802.3ad、IEEE XNUMXad LACP; balance-tlb適応送信負荷分散。 balance-alb、適応型ロードバランシング。 それらの値はで定義されています。 ネットワーク>ボンディングインターフェース. |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
スレーブ オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
名 | 文字列 | お名前 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding
zcli network-bonding create -slave eth3,eth2 -name bondiface -mode balance-rr
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","mac":"86:2f:0e:9a:30:14"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding/bondiface
zcli network-bonding set bondiface -ip 192.168.100.121 -netmask 255.255.255.0 -gateway 192.168.100.1 -mac 86:2f:0e:9a:30:14
PUT /interfaces/bonding/<name>
ボンディングインターフェースのパラメータを変更します。 名 インターフェースの固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
ip | 文字列 | インターフェイスのIP |
ネットマスク | 文字列 | インターフェイスが機能しているネットワークセグメントを定義します。 |
ゲートウェイ | 文字列 | 異なるネットワークセグメントのパケットを送信するために使用されるIP。 |
力 | 文字列 | ファームがインターフェイスを使用している場合、インターフェイスを変更することはできません。 次に、このパラメータが値とともに送信された場合 trueインターフェイスが新しい設定を使用するように強制され、インターフェイスを使用しているすべてのファームが再起動されます。 |
dhcp | 文字列 | DHCPサービスがDHCPサーバからインターフェイスのネットワーク設定を取得できるようにします。 このパラメータは以下のものを受け入れます。 trueサービスを有効にするために、DHCPサービスが有効になっている間、インタフェース設定はブロックされます。 false サービスを停止すると、インターフェイスはすべてのネットワーク設定を失います。 |
MAC | 文字列 | インターフェイスのMACを書き換えます。 |
応答例:
{
"description" : "Modify bond address",
"params" : {
"gateway" : "192.168.100.1",
"ip" : "192.168.100.121",
"netmask" : "255.255.255.0",
"mac" : "86:2f:0e:9a:30:14",
"dhcp" : "false",
"force" : "true"
}
}
応答パラメータ
応答はすべての要求された値が更新されたJSONになります。 詳しくは、応答の例を参照してください。
ボンディング設定を削除
ボンディング設定を削除
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding/bondiface
zcli network-bonding delete 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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding/bondiface/actions
zcli network-bond start bondiface
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding/bondiface/slaves
zcli network-bonding-slave add bondiface -name eth4
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/bonding/bondiface/slaves/eth2
zcli network-bonding-slave remove bondiface 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"
}
ネットワーク - フローティングインタフェース
この種のインタフェースは、定義済みの仮想インタフェースを使用して、送信トラフィックを隠します。 NIC, ボンディング or VLAN 子供とのインターフェース バーチャル インタフェース。 このインターフェースは、クラスターが構成されている場合にl4xnatプロファイルのステートフルフェールオーバー動作に使用されます。
フローティングインタフェースの一覧表示
フローティングインタフェースの一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/floating
zcli network-floating list
GET /interfaces/floating
フローティングIPが作成されているすべての使用可能または構成済みのインターフェースを表示します。
応答例:
{
"description" : "List floating interfaces",
"params" : [
{
"alias" : null,
"floating_alias" : null,
"floating_ip" : null,
"interface" : "bondiface",
"interface_virtual" : null
},
{
"alias" : null,
"floating_alias" : null,
"floating_ip" : "192.168.100.41",
"interface" : "eth0",
"interface_virtual" : "eth0:virtiface"
},
{
"alias" : null,
"floating_alias" : null,
"floating_ip" : null,
"interface" : "eth0.1",
"interface_virtual" : null
},
{
"alias" : "gestion",
"floating_alias" : null,
"floating_ip" : null,
"interface" : "eth1",
"interface_virtual" : null
}
]
}
応答パラメータ
応答は、浮動インターフェースオブジェクト配列を持つJSONオブジェクトになります。
フローティング オブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
floating_alias | 文字列 | これは仮想インタフェースのエイリアスです。 |
floating_ip | 文字列 | で使用されているフローティングIP インタフェース. floating_ip 仮想インターフェースの子として存在する必要があります。 インタフェース. |
インタフェース | 文字列 | フローティングIPによってマスクされたインターフェイス。 |
interface_virtual | 文字列 | インターフェースをマスクするために使用されるフローティングIPの仮想インターフェース名です。 |
フローティングインタフェースの取得
フローティングインタフェースの取得
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/floating/eth0
zcli network-floating get eth0
GET /interfaces/floating/<name>
インターフェイスにフローティングIPが設定されているかどうかを示します。 設定されているものがあれば、ここに表示されます。
名 NIC、ボンディング、またはVLANのいずれかのタイプのインターフェース固有IDです。
応答例:
{
"description" : "Show floating interface",
"params" : {
"alias" : null,
"floating_alias" : null,
"floating_ip" : "192.168.100.41",
"interface" : "eth0",
"interface_virtual" : "eth0:virtiface"
}
}
応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
alias | 文字列 | インターフェースを識別するのを助けることはニックネームです。 エイリアス |
floating_alias | 文字列 | これは仮想インタフェースのエイリアスです。 |
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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/floating/eth0
zcli network-floating set eth0 -floating_ip 192.168.100.199
PUT /interfaces/floating/<name>
NIC、ボンディング、またはVLANインタフェースにフローティングIPを設定します。
名 NIC、ボンディング、または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://<zevenet_server>:444/zapi/v4.0/zapi.cgi/interfaces/floating/eth0
zcli network-floating delete eth0
DELETE /interfaces/floating/<name>
インターフェイスからフローティングIP設定を削除します。
名 NIC、ボンディング、またはVLANのいずれかのタイプのインターフェース固有IDです。
応答例:
{
"description" : "Remove floating interface",
"message" : "The floating interface has been removed.",
"success" : "true"
}
ネットワーク - エイリアス
すばやく識別するために、インターフェースまたはバックエンドに別名を付けます。
2種類のエイリアスが存在し、インターフェイスエイリアスはすべてのタイプのインターフェイスに適用できます。NIC、ボンディング、VLAN、または仮想です。 これは、インターフェース名をより分かりやすい名前に関連付けるための簡単な方法です。
他のタイプのエイリアスはバックエンド用です。 これはバックエンドIPをエイリアスと関連付けます。
エイリアスは視覚的な情報にすぎず、ZAPIリクエストのバックエンドIPやインタフェース名を置き換えるものではありません。
エイリアスの一覧表示
エイリアスの一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/aliases/backends
zcli network-alias-backend list
GET /aliases/<backends|interfaces>
システム内のインターフェースまたはバックエンドの別名をリストします。
応答例:
{
"description" : "List the aliases",
"params" : [
{
"id" : "192.168.11.13",
"alias" : "http-backend"
},
{
"id" : "127.0.0.1",
"alias" : "localhost"
}
]
}
応答パラメータ
ZAPIは、キーがバックエンドIPまたはインターフェース名で、値がその別名であるハッシュを返します。
エイリアスを作成する
エイリアスを作成する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"eth0","alias":"management"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/aliases/interfaces
zcli network-alias-interface set eth0 -alias management
POST /aliases/<backends|interfaces>
エイリアスを受け取るバックエンドまたはインターフェイスの種類のオブジェクト。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
alias | 文字列 | 要素のニックネームです id URIで送信されます。 | true |
id | 文字列 | これは、バックエンドIPまたはインターフェイス名です。 | true |
応答例:
{
"description" : "Set an alias",
"message" : "Alias for eth0 has been updated successfully",
"success" : "true"
}
応答パラメータ
プロセスが正しければ、ZAPIは成功メッセージを返します。
エイリアスを変更する
エイリアスを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"alias":"gateway"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/aliases/interfaces/eth0
zcli network-alias-interface set eth0 -alias gateway
PUT /aliases/<backends|interfaces>/<id>
オブジェクトにエイリアスがある場合は置き換えられます。それ以外の場合は、オブジェクトのエイリアスが作成されます。
id URIパラメータはバックエンドIPまたはインタフェース名です。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
alias | 文字列 | 要素のニックネームです id URIで送信されます。 | true |
応答例:
{
"description" : "Set an alias",
"message" : "Alias for eth0 has been updated successfully",
"success" : "true"
}
応答パラメータ
プロセスが正しければ、ZAPIは成功メッセージを返します。
エイリアスを削除する
エイリアスを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/aliases/interfaces/eth0
zli network-alias-interface delete eth0
DELETE /aliases/<backends|interfaces>/<id>
それはインターフェースまたはバックエンドのエイリアスを削除します。
id URIパラメータはバックエンドIPまたはインタフェース名です。
応答例:
{
"description" : "Delete an alias",
"message" : "The alias has been deleted.",
"success" : "true"
}
応答パラメータ
プロセスが正しければ、ZAPIは成功メッセージを返します。
ネットワーク-ルーティング
このモジュールはzapiバージョン4.0.1から利用可能です.
このモジュールは、ロードバランサーを通過または通過するトラフィックのルートを管理します。 このプロセスでは、出力インターフェイスがパケットの送信元と宛先に依存して計算されます。 このタスクでは、ロードバランサーはXNUMX種類のオブジェクトを使用します。 ルール and テーブル.
最初のステップは、 ルール パケットソースが一致する場合、ルールが見つかると、パケット送信インターフェイスは テーブル それ ルール 定義された。 インターフェースは、パケットの宛先と一致するルートのトークンです。
ルーティングルールのリスト
ルーティングルールのリスト
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/rules
zcli network-routing-rule list
GET /routing/rules
ロードバランサーのルーティングルールを一覧表示します。 ルーティングルールは、インターフェイステーブルを取得するために使用され、ソースパケットIPに依存します。
応答例:
{
"description" : "List routing rules",
"params" : [
{
"id" : 1024,
"not" : "true",
"from" : "10.10.10.0/24",
"priority" : 30000,
"table" : "table_eth1",
"type" : "user"
},
{
"table" : "local",
"type" : "system",
"id" : 0,
"priority" : 0,
"from" : "all"
},
{
"id" : 0,
"priority" : 31000,
"from" : "10.3.0.0/24",
"table" : "205",
"type" : "system"
},
{
"type" : "system",
"table" : "table_eth1",
"priority" : 31000,
"from" : "4.4.4.0/24",
"id" : 0
},
{
"type" : "system",
"table" : "main",
"priority" : 32766,
"from" : "all",
"id" : 0
}
]
}
応答パラメータ
応答は、システム内のすべてのルーティングルールを含むJSONリストになります。 各ルールは、次のパラメーターを持つオブジェクトです。
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | これは、ルーティングルールに使用される一意の識別子です。 |
Studio上ではサポートされていません。 | 文字列 | このフィールドは、パラメーターと組み合わせて使用されます from 一致結果を無効にします。 このパラメーターは、値を持つブール文字列です true それを有効にするか、値で false 一致結果が否定されない場合。 |
from | 文字列 | パケットの送信元IPとの照合に使用される送信元IPまたはネットワークセグメントです。 |
優先順位 | 数 | これはルールの優先度であり、優先度のマイナー値は高い優先度です。 |
テーブル | 文字列 | パケットソースIPがパラメータと一致する場合にルーティングに使用されるインターフェイステーブルです from. |
type | 文字列 | これはルールの一種であり、このフィールドには次の値を含めることができます。 ファーム l4xnatファームのトラフィックをルーティングするために使用されるルートです。 user ロードバランサの管理者が作成したルールまたは システム システムに対して自動的に生成されるルールです。 |
ルーティングルールの作成
ルーティングルールの作成
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"table":"table_eth1","not":"true","priority":"30000","from":"192.168.0.0/16"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/rules
zcli network-routing-rule -table table_eth1 -not true -priority 30000 -from 192.168.0.0/16
POST /routing/rules
ルーティングルールを作成します。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
Studio上ではサポートされていません。 | 文字列 | このフィールドは、パラメーターと組み合わせて使用されます from 一致結果を無効にします。 このパラメーターは、値を持つブール文字列です true それを有効にするか、値で false 一致結果が否定されない場合。 | |
from | 文字列 | パケットの送信元IPとの照合に使用される送信元IPまたはネットワークセグメントです。 | true |
優先順位 | 数 | これはルールの優先度であり、優先度のマイナー値は高い優先度です。 作成されたルールは、 29000 and 30999 | |
テーブル | 文字列 | パケットソースIPがパラメータと一致する場合にルーティングに使用されるインターフェイステーブルです from. | true |
応答例:
{
"description" : "Create a routing rule",
"params" : [
{
"not" : "true",
"id" : 1024,
"from" : "192.168.0.0/16",
"priority" : 30000,
"table" : "table_eth1",
"type" : "user"
},
{
"table" : "table_eth0",
"type" : "system",
"id" : 0,
"priority" : 32765,
"from" : "192.168.100.0/24"
},
{
"from" : "all",
"priority" : 32766,
"id" : 0,
"type" : "system",
"table" : "main"
},
{
"id" : 0,
"priority" : 32767,
"from" : "all",
"table" : "default",
"type" : "system"
}
]
}
応答パラメータ
応答は、システムのすべてのルートルールを含むJSONオブジェクトになります。 各ルートは、次のパラメーターを持つオブジェクトです。
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | これは、ルーティングルールに使用される一意の識別子です。 |
Studio上ではサポートされていません。 | 文字列 | このフィールドは、パラメーターと組み合わせて使用されます from 一致結果を無効にします。 このパラメーターは、値を持つブール文字列です true それを有効にするか、値で false 一致結果が否定されない場合。 |
from | 文字列 | パケットの送信元IPとの照合に使用される送信元IPまたはネットワークセグメントです。 |
優先順位 | 数 | これはルールの優先度であり、優先度のマイナー値は高い優先度です。 |
テーブル | 文字列 | パケットソースIPがパラメータと一致する場合にルーティングに使用されるインターフェイステーブルです from. |
type | 文字列 | これはルールの一種であり、このフィールドには次の値を含めることができます。 ファーム l4xnatファームのトラフィックをルーティングするために使用されるルートです。 user ロードバランサの管理者が作成したルールまたは システム システムに対して自動的に生成されるルールです。 |
ルーティングルールの変更
ルーティングルールの変更
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"table":"table_eth1","from":"10.10.10.0/24","priority":"30000","not":"false"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/rules/1024
zcli network-routing-rule set 1024 -table table_eth1 -from 10.10.10.0/24 -priority 30000 -not false
PUT /routing/rules/<id>
ルーティングルールのパラメータを変更します。
id URIパラメータは、ルールの一意の識別子です。
のルール type user 変更できるユニークなものです
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
Studio上ではサポートされていません。 | 文字列 | このフィールドは、パラメーターと組み合わせて使用されます from 一致結果を無効にします。 | |
from | 文字列 | パケットの送信元IPとの照合に使用される送信元IPまたはネットワークセグメントです。 このパラメーターは、値を持つブール文字列です true それを有効にするか、値で false 一致結果が否定されない場合。 | true |
優先順位 | 数 | これはルールの優先度であり、優先度のマイナー値は高い優先度です。 作成されたルールは、 29000 and 30999 | |
テーブル | 文字列 | パケットソースIPがパラメータと一致する場合にルーティングに使用されるインターフェイステーブルです from. | true |
応答例:
{
"description" : "Modify a routing rule",
"params" : [
{
"not" : "true",
"id" : 1024,
"priority" : 30000,
"from" : "10.10.10.0/24",
"table" : "table_eth1",
"type" : "user"
},
{
"id" : 0,
"from" : "4.4.4.0/24",
"priority" : 31000,
"table" : "table_eth1",
"type" : "system"
},
{
"table" : "table_eth2",
"type" : "system",
"id" : 0,
"from" : "5.5.5.0/24",
"priority" : 31000
},
{
"type" : "system",
"table" : "table_eth0",
"from" : "192.168.100.0/24",
"priority" : 32765,
"id" : 0
},
]
}
応答パラメータ
応答は、システムのすべてのルートルールを含むJSONオブジェクトになります。 各ルートは、次のパラメーターを持つオブジェクトです。
フィールド | 種類 | 説明 |
---|---|---|
id | 数 | これは、ルーティングルールに使用される一意の識別子です。 |
Studio上ではサポートされていません。 | 文字列 | このフィールドは、パラメーターと組み合わせて使用されます from 一致結果を無効にします。 このパラメーターは、値を持つブール文字列です true それを有効にするか、値で false 一致結果が否定されない場合。 |
from | 文字列 | パケットの送信元IPとの照合に使用される送信元IPまたはネットワークセグメントです。 |
優先順位 | 数 | これはルールの優先度であり、優先度のマイナー値は高い優先度です。 |
テーブル | 文字列 | パケットソースIPがパラメータと一致する場合にルーティングに使用されるインターフェイステーブルです from. |
type | 文字列 | これはルールの一種であり、このフィールドには次の値を含めることができます。 ファーム l4xnatファームのトラフィックをルーティングするために使用されるルートです。 user ロードバランサの管理者が作成したルールまたは システム システムに対して自動的に生成されるルールです。 |
ルーティングルールの削除
ルーティングルールの削除
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/rules/1024
zcli network-routing-rule remove 1024
DELETE /routing/rules/<id>
ルーティングルールを削除します。
id URIパラメータは、ルールの一意の識別子です。
応答例:
{
"message" : "The routing rule '1024' has been deleted successfully.",
"description" : "Delete the routing rule '1024'"
}
ルーティングテーブルの一覧表示
ルーティングテーブルの一覧表示
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables
zcli network-routing-table list
GET /routing/tables
ロードバランサーが管理するルーティングテーブルを一覧表示します。
メインテーブルは、すべてのインターフェイスに対してグローバルです。 ルールがパケットと一致しない場合に使用されるすべてのインターフェースのデフォルトルートが含まれています。 各インターフェイステーブルは、そのインターフェイスの送信トラフィックのルートを管理します。
応答例:
{
"description" : "List routing tables",
"params" : [
"main",
"table_eth0",
"table_eth1",
"table_eth2",
"table_eth3"
]
}
応答パラメータ
応答はJSONオブジェクトになります。 paramsは システムに存在するテーブルのリストを含むキー。
テーブルのルートを一覧表示する
ルーティングルールのリスト
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth2
zcli network-routing-table get table_eth2
GET /routing/tables/<table>
インターフェイステーブルが管理するルートエントリを一覧表示します。 これらのエントリは、パケットの宛先IPを照合するために使用されます。 パケットの出力インターフェイスは、テーブルのエントリと一致する最初のインターフェイスになります。
応答例:
{
"description" : "Get the routing table 'table_eth2'",
"params" : [
{
"to" : "84.1.21.5",
"via" : "4.4.4.45",
"priority" : 2,
"raw" : "84.1.21.5 dev eth1 src 4.4.4.4 via 4.4.4.45 metric 2 table table_eth2",
"id" : 1024,
"source" : "4.4.4.4",
"type" : "user",
"interface" : "eth1"
},
{
"priority" : 10,
"raw" : "5.5.5.0/24 dev eth2 scope link src 5.5.5.5 initcwnd 10 initrwnd 10 table table_eth2",
"interface" : "eth2",
"source" : "5.5.5.5",
"type" : "system",
"to" : "5.5.5.0/24",
"via" : ""
},
{
"via" : "",
"to" : "192.168.100.0/24",
"interface" : "eth0",
"type" : "system",
"source" : "192.168.100.241",
"raw" : "192.168.100.0/24 dev eth0 scope link src 192.168.100.241 initcwnd 10 initrwnd 10 table table_eth2",
"priority" : 10
}
]
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは テーブルを含むルートのリスト。
フィールド | 種類 | 説明 |
---|---|---|
生 | 文字列 | これは、 IPルート フォーマット。 |
優先順位 | 数 | これは、ルートが検査される優先順位です。 値が小さいほど優先度が高くなります。 このフィールドには、 1 and 10. |
インタフェース | 文字列 | これは、ルートが一致した場合に使用される出力インターフェースです。 |
source | 文字列 | パケットを偽装するために使用されるIPです。 このソースは、仮想インターフェイスとしてロードバランサーに存在する必要があります。 |
type | 文字列 | ルートの種類です。 ルートのタイプを指定できます システム システムによって自動的に作成および管理されるもの、または user ルートがロードバランサーユーザーによって作成されたとき。 のチェック 管理しない 削除する機能 システム ルートのようにリストされたキーがあります。 |
〜へ | 文字列 | デマッチ状態です。 パケットの宛先IPがそれと一致する場合、ルートは成功です。 |
、 | 文字列 | パケットのネクストホップです。 ゲートウェイとして使用されます。 このIPは、インターフェースネットワークセグメントから到達する必要があります。 |
id | 数 | ルートの一意の識別子です。 このパラメーターは、ルートを変更または削除するために使用され、タイプのルートでのみ使用できます user. |
ルーティングエントリの作成
ルーティングエントリの作成
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"source":"4.4.4.4","via":"4.4.4.45","interface":"eth1","priority":2,"to":"84.1.21.5"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth2/routes
zcli network-routing-table add table_eth2 -source 4.4.4.4 -via 4.4.4.45 -interface eth1 -priority 2 -to 84.1.21.5
POST /routing/tables/<table>/routes
インターフェイスのルートを作成します。
テーブル URIパラメータは、ルートが追加されるインターフェーステーブルです。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
生 | 文字列 | これは、 IPルート フォーマット。 このパラメーターを使用すると、他のパラメーターは回避されます。 | |
〜へ | 文字列 | デマッチ状態です。 パケットの宛先IPがそれと一致する場合、ルートは成功です。 | いつ必要か 生 送信されません |
優先順位 | 数 | これは、ルートが検査される優先順位です。 値が小さいほど優先度が高くなります。 このフィールドには、 1 and 10. | |
インタフェース | 文字列 | これは、ルートが一致した場合に使用される出力インターフェースです。 | |
source | 文字列 | パケットを偽装するために使用されるIPです。 このソースは、仮想インターフェイスとしてロードバランサーに存在する必要があります。 | |
、 | 文字列 | パケットのネクストホップです。 ゲートウェイとして使用されます。 このIPは、インターフェースネットワークセグメントから到達する必要があります。 |
応答例:
{
"description" : "Create a routing entry in the table 'table_eth2'",
"params" : [
{
"to" : "84.1.21.5",
"via" : "4.4.4.45",
"priority" : 2,
"raw" : "84.1.21.5 dev eth1 src 4.4.4.4 via 4.4.4.45 metric 2 table table_eth2",
"id" : 1024,
"source" : "4.4.4.4",
"type" : "user",
"interface" : "eth1"
},
{
"raw" : "default via 5.5.5.1 dev eth2 initcwnd 10 initrwnd 10 table table_eth2",
"priority" : 10,
"source" : "",
"type" : "system",
"interface" : "eth2",
"to" : "default",
"via" : "5.5.5.1"
},
{
"priority" : 10,
"raw" : "4.4.4.0/24 dev eth1 scope link src 4.4.4.4 initcwnd 10 initrwnd 10 table table_eth2",
"source" : "4.4.4.4",
"type" : "system",
"interface" : "eth1",
"to" : "4.4.4.0/24",
"via" : ""
},
]
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは テーブルを含むルートのリスト。
フィールド | 種類 | 説明 |
---|---|---|
優先順位 | 数 | これは、ルートが検査される優先順位です。 値が小さいほど優先度が高くなります。 このフィールドには、 1 and 10. |
生 | 文字列 | これは、 IPルート フォーマット。 |
インタフェース | 文字列 | これは、ルートが一致した場合に使用される出力インターフェースです。 |
source | 文字列 | パケットを偽装するために使用されるIPです。 このソースは、仮想インターフェイスとしてロードバランサーに存在する必要があります。 |
type | 文字列 | ルートの種類です。 ルートのタイプを指定できます システム システムによって自動的に作成および管理されるもの、または user ルートがロードバランサーユーザーによって作成されたとき。 のチェック 管理しない 削除する機能 システム ルートのようにリストされたキーがあります。 |
〜へ | 文字列 | デマッチ状態です。 パケットの宛先IPがそれと一致する場合、ルートは成功です。 |
、 | 文字列 | パケットのネクストホップです。 ゲートウェイとして使用されます。 このIPは、インターフェースネットワークセグメントから到達する必要があります。 |
id | 数 | ルートの一意の識別子です。 このパラメーターは、ルートを変更または削除するために使用され、タイプのルートでのみ使用できます user. |
ルートエントリを変更する
ルートエントリを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"priority":2,"source":"4.4.4.4","interface":"eth1","to":"71.71.71.0/24","via":"4.4.4.45"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth2/routes/1024
zcli network-routing-table -id 1024 -priority 2 -source 4.4.4.4 -interface eth1 -to 71.71.71.0/24 -via 4.4.4.45
PUT /routing/tables/<table>/routes/<id>
ルートエントリのパラメータを変更します。
テーブル URIパラメータは、変更されるルートのインターフェーステーブルです。 の id URIパラメーターは、変更されるルートのルート固有IDです。
リクエストパラメータ
フィールド | 種類 | 説明 |
---|---|---|
生 | 文字列 | これは、 IPルート フォーマット。 このパラメーターを使用すると、他のパラメーターは回避されます。 |
優先順位 | 数 | これは、ルートが検査される優先順位です。 値が小さいほど優先度が高くなります。 このフィールドには、 1 and 10. |
インタフェース | 文字列 | これは、ルートが一致した場合に使用される出力インターフェースです。 |
source | 文字列 | パケットを偽装するために使用されるIPです。 このソースは、仮想インターフェイスとしてロードバランサーに存在する必要があります。 |
〜へ | 文字列 | デマッチ状態です。 パケットの宛先IPがそれと一致する場合、ルートは成功です。 |
、 | 文字列 | パケットのネクストホップです。 ゲートウェイとして使用されます。 このIPは、インターフェースネットワークセグメントから到達する必要があります。 |
応答例:
{
"description" : "Modify a routing entry in the table 'table_eth2'",
"params" : [
{
"to" : "71.71.71.0/24",
"via" : "4.4.4.45",
"raw" : "71.71.71.0/24 dev eth1 src 4.4.4.4 via 4.4.4.45 metric 2 table table_eth2",
"priority" : 2,
"id" : 1024,
"type" : "user",
"source" : "4.4.4.4",
"interface" : "eth1"
},
{
"raw" : "default via 5.5.5.1 dev eth2 initcwnd 10 initrwnd 10 table table_eth2",
"priority" : 10,
"interface" : "eth2",
"source" : "",
"type" : "system",
"to" : "default",
"via" : "5.5.5.1"
},
{
"via" : "",
"to" : "4.4.4.0/24",
"interface" : "eth1",
"source" : "4.4.4.4",
"type" : "system",
"priority" : 10,
"raw" : "4.4.4.0/24 dev eth1 scope link src 4.4.4.4 initcwnd 10 initrwnd 10 table table_eth2"
},
]
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは テーブルを含むルートのリスト。
フィールド | 種類 | 説明 |
---|---|---|
優先順位 | 数 | これは、ルートが検査される優先順位です。 値が小さいほど優先度が高くなります。 このフィールドには、 1 and 10. |
生 | 文字列 | これは、 IPルート フォーマット。 |
インタフェース | 文字列 | これは、ルートが一致した場合に使用される出力インターフェースです。 |
source | 文字列 | パケットを偽装するために使用されるIPです。 このソースは、仮想インターフェイスとしてロードバランサーに存在する必要があります。 |
type | 文字列 | ルートの種類です。 ルートのタイプを指定できます システム システムによって自動的に作成および管理されるもの、または user ルートがロードバランサーユーザーによって作成されたとき。 のチェック 管理しない 削除する機能 システム ルートのようにリストされたキーがあります。 |
〜へ | 文字列 | デマッチ状態です。 パケットの宛先IPがそれと一致する場合、ルートは成功です。 |
、 | 文字列 | パケットのネクストホップです。 ゲートウェイとして使用されます。 このIPは、インターフェースネットワークセグメントから到達する必要があります。 |
id | 数 | ルートの一意の識別子です。 このパラメーターは、ルートを変更または削除するために使用され、タイプのルートでのみ使用できます user. |
ルートエントリを削除する
ルートエントリを削除する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth2/routes/1024
zcli network-routing-table remove table_eth2 1024
DELETE /routing/tables/<table>/routes/<id>
インターフェイステーブルのルートを削除します。
テーブル URIパラメータは、ルートが削除されるインターフェーステーブルです。 の id URIパラメータは、削除されるルートの一意の識別子です。
応答例:
{
"description" : "Delete the routing entry '1024' from the table 'table_eth2'",
"message" : "The routing rule '1024' has been deleted successfully."
}
テーブルで管理されていないインターフェースのリスト
テーブル内の管理されていないインターフェースのリスト
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth1/unmanaged
zcli network-routing-table-unmanaged get table_eth1
GET /routing/tables/<table>/unmanaged
この機能は、別のインターフェースに送信される可能性のあるインターフェースからのトラフィックを回避するために使用されます。
テーブル 着信インターフェイスのルーティングテーブルです。
インターフェースと、それらがトラフィックの送信に使用できるかどうかをリストします。
応答例:
{
"params" : [
{
"unmanaged" : "false",
"interface" : "eth3"
},
{
"unmanaged" : "false",
"interface" : "eth0"
}
],
"description" : "Get the list of interfaces that cannot manage traffic when traffic incoming through the table 'table_eth1'"
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは これには、次のパラメータを持つオブジェクトのリストが含まれています。
フィールド | 種類 | 説明 |
---|---|---|
インタフェース | 文字列 | これは、出力インターフェースの名前です。 |
管理されていない | 文字列 | インターフェースのルーティング状態です。 値がある場合 false、このインターフェイスにはテーブルからアクセスできます。 値がある場合 true、テーブルからのトラフィックは送信されません。 |
アンマネージドのリストにインターフェースを追加する
インターフェースの管理を解除する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"interface":"eth2"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth1/unmanaged
zcli network-routing-table-unmanaged add table_eth1 interface eth0
POST /routing/tables/<table>/unmanaged
送信トラフィックのインターフェースを無効にします。
テーブル URIパラメータは、ルートに到達できないルーティングテーブルの名前です。 もし テーブル 値は「*」(アスタリスク)、 インタフェース どのテーブルからもアクセスできません。
リクエストパラメータ
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
インタフェース | 文字列 | からルーティングできないインターフェイスです テーブル. | true |
応答例:
{
"description" : "Do not route traffic through an interface for the table 'table_eth1'",
"message" : "The interface 'eth2' is not accesible from the table 'table_eth1'"
}
アンマネージドのリストからインターフェイスを削除します
ルーティングテーブルを管理する
リクエスト例:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/routing/tables/table_eth1/unmanaged/eth2
zcli network-routing-table-unmanaged remove table_eth1 eth2
DELETE /routing/tables/<table>/unmanaged/<interface>
インターフェースが別のインターフェーステーブルから見えるようにする
テーブル URIパラメーターは、変更されるインターフェーステーブルです。 もし テーブル 値は「*」(アスタリスク)、 インタフェース すべてのテーブルから管理されます。 の インタフェース URIパラメータは、許可されるインターフェースです テーブル テーブル。
応答例:
{
"description" : "Enable an interface as possible route path from the table 'table_eth1'",
"message" : "The interface 'eth2' is now accesible from the table 'table_eth1'"
}
モニタリング - FarmGuardian
FarmGuardianはバックエンドの状態を詳細に監視するために使用されます。 FarmGuardianによって問題が検出されると、自動的に実サーバーが無効になり、ブラックリストに登録されます。
FarmGuardiansのリスト
FarmGuardiansのリスト
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/monitoring/fg
zcli farmguardian list
GET /monitoring/fg
FarmGuardiansをリストしてください。 テンプレートとカスタムFarmGuardianがこのリストに表示されます。
応答例:
{
"description" : "List farm guardian checks and templates",
"params" : [
{
"command" : "check_tcp -p PORT -H HOST",
"cut_conns" : "false",
"description" : "It does a TCP connection to test if the backend is alive",
"farms" : [],
"interval" : 5,
"log" : "false",
"name" : "check_tcp-cut_conns",
"template" : "true",
"backend_alias" : "false"
},
{
"command" : "check_tcp -p 80 -H HOST",
"cut_conns" : "false",
"description" : "TCP check to the port 80",
"farms" : [
"web_service",
"my_welcome_web"
],
"interval" : 7,
"log" : "true",
"name" : "custom-tcp",
"template" : "false",
"backend_alias" : "true"
},
{
"command" : "check_tcp -p PORT -H HOST",
"cut_conns" : "false",
"description" : "It does a TCP connection to test if the backend is alive",
"farms" : [],
"interval" : 5,
"log" : "false",
"name" : "check_tcp",
"template" : "true",
"backend_alias" : "false"
}
]
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは そして以下のフォーマット:
フィールド | 種類 | 説明 |
---|---|---|
command | 文字列 | バックエンドでサービスの状態を確認するためのコマンド。 利用可能なコマンドはlibexecパスにあります。 |
cut_conns | 文字列 | 可能な値は次のとおりです。 trueバックエンドが利用できない場合、FarmGuardianは現在の接続を切断します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
説明 | 文字列 | チェックの簡単な説明 |
農場 | ストリング[ ] | FarmGuardianが適用されている農場。 |
インターバル | 数 | チェック間の時間 |
ログ | 文字列 | 可能な値は次のとおりです。 trueFarmGuardianは各小切手を記録します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
名 | 文字列 | 一意の識別子 |
template | 文字列 | FarmGuardianがテンプレートの場合、どのファームにも適用されません。 テンプレートは、新しいFarmGuardianを作成するのに役立ちます。 |
backend_alias(4.0.1から) | 文字列 | このパラメータの値が false、バックエンドホストがバックエンドIPになります。 このパラメータに値がある場合、バックエンドのエイリアスがホストとして使用されます true、エイリアスを定義する必要があり、ロードバランサーがエイリアスを解決できる必要があります。 |
FarmGuardianを取得する
FarmGuardianを取得する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/monitoring/fg/check_tcp
zcli farmguardian get check_tcp
GET /monitoring/fg/<name>
FarmGuardianの構成を表示します。
URIパラメータ 名 FarmGuardianの固有IDです。
応答例:
{
"description" : "Retrive the farm guardian check_tcp",
"params" : {
"command" : "check_tcp -p PORT -H HOST",
"cut_conns" : "false",
"description" : "It does a TCP connection to test if the backend is alive",
"farms" : [],
"interval" : 10,
"log" : "false",
"name" : "check_tcp",
"template" : "true",
"backend_alias" : "false",
"timeout" : 5
}
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは そして以下のフォーマット:
フィールド | 種類 | 説明 |
---|---|---|
command | 文字列 | バックエンドでサービスの状態を確認するためのコマンド。 利用可能なコマンドはlibexecパスにあります。 |
cut_conns | 文字列 | 可能な値は次のとおりです。 trueバックエンドが利用できない場合、FarmGuardianは現在の接続を切断します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
説明 | 文字列 | チェックの簡単な説明 |
農場 | ストリング[ ] | FarmGuardianが適用されている農場。 |
インターバル | 数 | チェック間の時間。 これは、リストの最後のバックエンドがテストされてから最初のバックエンドが再度テストされるまでの時間です。 |
ログ | 文字列 | 可能な値は次のとおりです。 trueFarmGuardianは各小切手を記録します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
名 | 文字列 | 一意の識別子 |
template | 文字列 | FarmGuardianがテンプレートの場合、変更されません。 テンプレートは、新しいFarmGuardianを作成したり、ファームに直接適用したりするのに役立ちます。 |
backend_alias(4.0.1から) | 文字列 | このパラメータの値が false、バックエンドホストがバックエンドIPになります。 このパラメータに値がある場合、バックエンドのエイリアスがホストとして使用されます true、エイリアスを定義する必要があり、ロードバランサーがエイリアスを解決できる必要があります。 |
タイムアウト (4.0.2から) | 数 | 各バックエンドのタイムアウト。 バックエンドテスト中のこの時間の後、ダウンしていると見なされます。 デフォルトでは、タイムアウトは間隔と同じです。 |
FarmGuardianを作成する
FarmGuardianを作成する
リクエスト例:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"check_tcp-cut_conns", "copy_from":"check_tcp"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/monitoring/fg
zcli farmguardian create -name check_tcp-cut_conns -copy_from check_tcp
POST /monitoring/fg
新しいFarmGuardianを作成します。
リクエストパラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは そして以下のフォーマット:
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
名 | 文字列 | 一意の識別子 | true |
copy_from | 文字列 | これは、新しいFarmGuardianを作成するためのテンプレートとして使用されるFarmGuardianです。 このフィールドが送信されない場合は、新しいFarmGuardianが設定なしで作成されます。 |
応答例:
{
"description" : "Create a farm guardian check_tcp-cut_conns",
"message" : "The farm guardian check_tcp-cut_conns has been created successfully",
"params" : {
"command" : "check_tcp -p PORT -H HOST",
"cut_conns" : "false",
"description" : "It does a TCP connection to test if the backend is alive",
"farms" : [],
"interval" : 5,
"log" : "false",
"name" : "check_tcp-cut_conns",
"template" : "true",
"backend_alias" : "false",
"timeout" : 5
}
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは そして以下のフォーマット:
フィールド | 種類 | 説明 |
---|---|---|
command | 文字列 | バックエンドでサービスの状態を確認するためのコマンド。 利用可能なコマンドはlibexecパスにあります。 |
cut_conns | 文字列 | 可能な値は次のとおりです。 trueバックエンドが利用できない場合、FarmGuardianは現在の接続を切断します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
説明 | 文字列 | チェックの簡単な説明 |
農場 | ストリング[ ] | FarmGuardianが適用されている農場。 |
インターバル | 数 | チェック間の時間。 これは、リストの最後のバックエンドがテストされてから最初のバックエンドが再度テストされるまでの時間です。 |
ログ | 文字列 | 可能な値は次のとおりです。 trueFarmGuardianは各小切手を記録します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
名 | 文字列 | 一意の識別子 |
template | 文字列 | FarmGuardianがテンプレートの場合、変更されません。 テンプレートは、新しいFarmGuardianを作成したり、ファームに直接適用したりするのに役立ちます。 |
backend_alias(4.0.1から) | 文字列 | このパラメータの値が false、バックエンドホストがバックエンドIPになります。 このパラメータに値がある場合、バックエンドのエイリアスがホストとして使用されます true、エイリアスを定義する必要があり、ロードバランサーがエイリアスを解決できる必要があります。 |
タイムアウト (4.0.2から) | 数 | 各バックエンドのタイムアウト。 バックエンドテスト中のこの時間の後、ダウンしていると見なされます。 デフォルトでは、タイムアウトは間隔と同じです。 |
FarmGuardianを変更する
FarmGuardianを変更する
リクエスト例:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"interval":7,"log":"true","description":"TCP check to the port 80","command":"check_tcp -p 80 -H HOST","cut_conns":"false"}'
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/monitoring/fg/custom-tcp
zcli farmguardian set custom-tcp -interval 7 -log true -description 'TCP check to the port 80' -command 'check_tcp -p 80 -H HOST' -cut_conns false
PUT /monitoring/fg/<name>
FarmGuardianを変更します。
URIパラメータ 名 FarmGuardianの固有IDです。
リクエストパラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは そして以下のフォーマット:
フィールド | 種類 | 説明 | 必須 |
---|---|---|---|
command | 文字列 | バックエンドでサービスの状態を確認するためのコマンド。 利用可能なコマンドはlibexecパスにあります。 | |
cut_conns | 文字列 | 可能な値は次のとおりです。 trueバックエンドが利用できない場合、FarmGuardianは現在の接続を切断します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 | |
説明 | 文字列 | チェックの簡単な説明 | |
インターバル | 数 | チェック間の時間。 これは、リストの最後のバックエンドがテストされてから最初のバックエンドが再度テストされるまでの時間です。 | |
ログ | 文字列 | 可能な値は次のとおりです。 trueFarmGuardianは各小切手を記録します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 | |
力 | 文字列 | 実行中のファームがFarmGuardianを使用している場合、FarmGuardianを変更することはできません。 次に、このパラメータが値とともに送信された場合 trueこれにより、FarmGuardianは新しい構成を採用することを余儀なくされます。 | |
backend_alias(4.0.1から) | 文字列 | このパラメータの値が false、バックエンドホストがバックエンドIPになります。 このパラメータに値がある場合、バックエンドのエイリアスがホストとして使用されます true、エイリアスを定義する必要があり、ロードバランサーがエイリアスを解決できる必要があります。 | |
タイムアウト (4.0.2から) | 数 | 各バックエンドのタイムアウト。 バックエンドテスト中のこの時間の後、ダウンしていると見なされます。 デフォルトでは、タイムアウトは間隔と同じです。 |
応答例:
{
"description" : "Modify farm guardian custom-tcp",
"message" : "Success, some parameters have been changed in farm guardian custom-tcp.",
"params" : {
"command" : "check_tcp -p 80 -H HOST",
"cut_conns" : "false",
"description" : "TCP check to the port 80",
"farms" : [],
"interval" : 7,
"log" : "true",
"name" : "custom-tcp",
"template" : "false",
"backend_alias" : "false",
"timeout" : 7
}
}
応答パラメータ
応答はキーを持つJSONオブジェクトになります。 paramsは そして以下のフォーマット:
フィールド | 種類 | 説明 |
---|---|---|
command | 文字列 | バックエンドでサービスの状態を確認するためのコマンド。 利用可能なコマンドはlibexecパスにあります。 |
cut_conns | 文字列 | 可能な値は次のとおりです。 trueバックエンドが利用できない場合、FarmGuardianは現在の接続を切断します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
説明 | 文字列 | チェックの簡単な説明 |
農場 | ストリング[ ] | FarmGuardianが適用されている農場。 |
インターバル | 数 | チェック間の時間。 これは、リストの最後のバックエンドがテストされてから最初のバックエンドが再度テストされるまでの時間です。 |
ログ | 文字列 | 可能な値は次のとおりです。 trueFarmGuardianは各小切手を記録します。 または falseバックエンドが利用できない場合は無効になりますが、生存セッションは継続します。 |
名 | 文字列 | 一意の識別子 |
template | 文字列 | FarmGuardianがテンプレートの場合、どのファームにも適用されません。 テンプレートは、新しいFarmGuardianを作成するのに役立ちます。 |
backend_alias(4.0.1から) | 文字列 | このパラメータの値が false、バックエンドホストがバックエンドIPになります。 このパラメータに値がある場合、バックエンドのエイリアスがホストとして使用されます true、エイリアスを定義する必要があり、ロードバランサーがエイリアスを解決できる必要があります。 |
タイムアウト (4.0.2から) | 数 | 各バックエンドのタイムアウト。 バックエンドテスト中のこの時間の後、ダウンしていると見なされます。 デフォルトでは、タイムアウトは間隔と同じです。 |
FarmGuardianを削除する
FarmGuardianを削除する
リクエスト例:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/monitoring/fg/custom-tcp
zcli farmguardian delete custom-tcp
DELETE /monitoring/fg/<name>
FarmGuardianを削除します。
URIパラメータ 名 FarmGuardianの固有IDです。
応答例:
{
"description" : "Delete the farm guardian custom-tcp",
"message" : "custom-tcp has been deleted successful.",
"success" : "true"
}
モニタリング - 統計
システムと農場に関する情報を表示します。 この情報はZevenetロードバランサーの状態を監視するのに役立ちます。
システム統計を表示する
システム統計を表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/zapi.cgi/stats
zcli statistics-system get
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/v4.0/zapi.cgi/stats/system/network
zcli statistic-network get
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/v4.0/zapi.cgi/stats/system/network/interfaces
zcli statistics-network get
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/v4.0/zapi.cgi/stats/system/memory
zcli statistics-system get -filter 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/v4.0/zapi.cgi/stats/system/load
zcli statistics-system get -filter 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/v4.0/zapi.cgi/stats/system/cpu
zcli statistics-system get -filter 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/v4.0/zapi.cgi/stats/system/connections
zcli statistics-network-connections get
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/v4.0/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/v4.0/zapi.cgi/stats/farms
statistics-farm list
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/v4.0/zapi.cgi/stats/farms/farmname
zcli statistic-farm list
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"
"backend_ip" : "192.168.0.168"
"backend_port" : 80
"service" : "srv1",
"session" : "192.168.0.186",
"ttl" : "1m28s0ms"
}
],
"total_sessions" : 1
}
HTTPファームの応答パラメータ
フィールド | 種類 | 説明 |
---|---|---|
バックエンド | オブジェクト[] | バックエンドに関する情報を表示します。 |
セッション | オブジェクト[] | セッションに関する情報を表示します。 |
合計_セッション | 数 | バージョン4.0.2以降。 登録されているセッションの総数を表示します。 |
バックエンドオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
設立 | 数 | 確立された接続の総数 |
id | 数 | バックエンドの一意の識別子。 |
ip | 文字列 | 実際のサービスがリッスンしているIP。 |
ペンディング | 数 | 保留中の接続数 |
ポート | 数 | 実際のサービスがリッスンしているポート。 |
サービス | 文字列 | 一意の識別子として使用されるサービス名。 |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
セッションオブジェクト
フィールド | 種類 | 説明 |
---|---|---|
クライアント | 文字列 | クライアントの一意の識別子 |
id | 文字列 | クライアントに割り当てられたバックエンドの一意の識別子。 |
サービス | 文字列 | クライアントに割り当てられたサービスの一意の識別子。 |
セッション | 文字列 | セッションの一意の識別子 この値は永続化タイプによって異なります。 |
TTL | 文字列 | バージョン4.0.2以降。 セッションが終了するまでの残り時間 |
バックエンド_ip | 文字列 | バージョン4.0.2以降。 クライアントに割り当てられたバックエンドIP。 |
バックエンドポート | 文字列 | バージョン4.0.2以降。 クライアントに割り当てられたバックエンドポート。 |
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" : 1,
"id" : 5,
"ip" : "192.168.5.100",
"pending" : 0,
"port" : "8080",
"status" : "up"
}
],
"description" : "List farm stats",
"sessions" : [
{
"client": 0,
"id" : 5,
"backend_ip" : "192.168.5.100",
"backend_port" : "8080",
"session" : "192.168.5.100",
"ttl" : "1m51s564ms",
"type" : "dynamic"
}
],
"total_sessions" : 1
}
L4xNATファームの応答パラメータ
応答はオブジェクト付きのJSONになります バックエンド and セッション:
バックエンドオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
設立 | 数 | 現在確立されている接続の総数。 |
id | 数 | バックエンドの一意の識別子。 |
ip | 文字列 | 実際のサービスがリッスンしているIP。 |
ペンディング | 数 | 保留中の接続数 |
ポート | 数 | 実際のサービスがリッスンしているポート。 |
status | 文字列 | バックエンドのステータス 可能な値は次のとおりです。 upファームが実行されており、バックエンドは接続を受信する準備ができています。 ダウンファームが実行中で、サービスはバックエンドが機能していないことを検出しました。 メンテナンス、バックエンドは管理者によって接続を受信する準備ができていないものとしてマークされています。このオプションはバックエンドのメンテナンスタスクに役立ちます。 未定義バックエンドのステータスはチェックされていません。 |
セッションオブジェクト:
フィールド | 種類 | 説明 |
---|---|---|
クライアント | 数 | セッションの秘密の識別子。 |
id | 数 | クライアントが割り当てられているバックエンドの一意の識別子。 |
セッション | 文字列 | セッションの一意の識別子 それはクライアントIPです。 |
type | 文字列 | 値は、静的または動的です。 セッションが手動で行われた場合は静的、セッションが自動的に行われた場合は動的。 |
TTL | 文字列 | バージョン4.0.2以降。 セッションが終了するまでの残り時間 |
バックエンド_ip | 文字列 | バージョン4.0.2以降。 クライアントに割り当てられたバックエンドIP。 |
バックエンドポート | 数 | バージョン4.0.2以降。 クライアントに割り当てられたバックエンドポート。 |
データリンクファームの応答パラメータ
データリンクファーム統計は実際には利用できません。
モジュールの状態を表示する
モジュールの状態を表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/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 | 数 | 稼働中のファームの数 ここに表示されるのはメンテナンスで、ファームの状態を再起動する必要があります。 |
モジュール統計を表示する
モジュール統計を表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/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、設定されているすべてのネットワークインタフェース、負荷、およびハードディスクストレージのパラメータを使用して問題を検出するのに役立ちます。
また、あなたは毎週、毎月、そして毎年の歴史にアクセスすることができるでしょう。
情報を含むグラフはbase64形式で応答されます。
利用可能なグラフを一覧表示する
利用可能なグラフを一覧表示する
リクエスト例:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v4.0/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",