Download PDF
Download page 層の命名規則の管理.
層の命名規則の管理
層の命名規則機能を使用して、管理対象の Java プロセスの層名をカスタマイズできます。各層のルールは、特定のサーバータイプにマップされます。層の命名規則を使用すると、エージェントインストーラが層名を検出できるように Rego ポリシーを作成できます。これを行うには、階層の命名形式またはルール条件に有効な Rego 式が含まれている必要があります。Splunk AppDynamics では、階層の命名規則を使用して Rego ポリシーを再作成することを推奨しています。Rego のポリシー言語を参照してください。
エージェントインストーラはメンテナンスモードです。エージェント管理 を使用します。
エージェントインストーラ API の詳細については、「Agent Installer Platform Service API」を参照してください。
層の命名形式
フォーマット | 説明 | 例 |
---|---|---|
tier-name-format | 形式には literals のみが含まれ、層名は形式と同じように表示されます。 |
|
tier-<AppServerType>-format | literals と attributes の混在。層名は、属性を渡した後に評価され、属性の値を置き換えます。属性は、角括弧内で定義されます <AppServerType> 。 |
|
| ` ` の中に式が入ります。これは属性を持たず、式に変化はありません。 |
CODE
コマンドラインが上記の値であると仮定すると、層名の形式は |
`<CmdlineArray>[count(<CmdlineArray>) - 1]` | ` ` の中に式が入ります。属性が解析されます。 |
CODE
コマンドラインが上記の値であると仮定すると、層名の形式は |
フィルタ層の命名規則
- [Tier Naming Rules] タブに移動します。
Filter Panel をクリックします。
- 層の命名規則を除外する方法を選択します。オプション:Status、 Enabled、Disabled。
Application Scope を選択するか入力します。
Application Server Type を選択します。
Apply をクリックします。
形式:
POST /customNaming/rules/query
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/query' --header 'Authorization: Bearer {AuthToken}'
--header 'Content-Type: application/json' \
--data-raw
{
"enabled": true,
"appServerTypes": [
"TOMCAT"
],
"applicationNames": [
"EcommerceApplication"
]
}
応答の例:
{
"total": 2,
"customConfigFocusedDtoList": [
{
"id": "56112e75-6308-4d04-b9fa-e336b967bc59",
"ruleName": "TomcatRule1",
"priority": 1,
"version": 1,
"enabled": true,
"appServerTypes": [
"TOMCAT"
],
"applicationNames": [
"EcommerceApplication"
]
},
{
"id": "6b8701db-b7d3-4017-8001-ba9de952cd82",
"ruleName": "TomcatRule2",
"priority": 2,
"version": 1,
"enabled": true,
"appServerTypes": [
"TOMCAT"
],
"applicationNames": [
"EcommerceApplication"
]
}
]
}
新しい層の命名規則の追加
- [Tier Naming Rules] タブに移動します。
+ Add New Rule をクリックします。
次を入力します。
Rule Name
Tier Naming Format: 任意の文字、単語、および変数を使用して、命名形式を定義します。
Application Server Types: 命名規則を適用するアプリケーション サーバー タイプを選択します。
Conditions: 層に追加する条件に一致する値を選択します。
すべての文字列の比較では、大文字と小文字が区別されます。
Application Scope: 選択したアプリケーションの層のみが条件に対して評価されます。
Create rule をクリックします。
Scenario 1:既存の層名(Tier 1)が無効になっていて、新しい層名(New Tier 1)が層ルールによって検出された場合、新しい層(New Tier 1)はデフォルトで無効になります。
Scenario 2:既存の層名(Tier 1)が無効になっていて、既存の層名(Tier 2)に変更された場合、層ルールの変更によって、層名(Tier 2)のステータスは変更されません。
形式:
POST /customNaming/rules
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules' --header 'Authorization: Bearer {AuthToken}' \
--header 'Content-Type: application/json' \
--data-raw
{
"ruleName": "TomcatRule",
"tierNamingFormat": "tomcat-tier-prod",
"processType": "JAVA",
"appServerTypes": [
"tomcat"
],
"priority": 1,
"ruleConditions": [
{
"keyName": "<cmdlineArray[_]>",
"conditionType": "contains",
"value": "-Dcatalina.home=/staging/apache-tomcat-9.0.6"
}
],
"applicationNames": [
"ALL"
]
}
応答の例:
{
"id": "9a7dfb82-480f-4beb-b72c-a3692b54fdec",
"ruleName": "TomcatRule",
"tierNamingFormat": "tomcat-tier-prod",
"processType": "JAVA",
"version": 1,
"appServerTypes": [
"tomcat"
],
"priority": 1,
"enabled": true,
"ruleConditions": [
{
"keyName": "<cmdlineArray[_]>",
"conditionType": "CONTAINS",
"value": "-Dcatalina.home=/staging/apache-tomcat-9.0.6",
"sequence": 0
}
],
"applicationNames": [
"ALL"
]
}
層の命名規則の詳細を取得する
形式:
GET /customNaming/rules/{Id}/details
リクエストの例:
curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/0c328c2e-d6ab-4343-bcff-792a77c45413/details' \
--header 'Authorization: Bearer {AuthToken}'
応答の例:
{
"id": "56112e75-6308-4d04-b9fa-e336b967bc59",
"ruleName": "TomcatRule1",
"tierNamingFormat": "tomcat-tier-prod",
"processType": "JAVA",
"version": 1,
"appServerTypes": [
"TOMCAT"
],
"priority": 1,
"enabled": true,
"ruleConditions": [
{
"keyName": "<CmdlineArrya[_]>",
"conditionType": "CONTAINS",
"value": "-Dcatalina.home",
"sequence": 1
},
{
"keyName": "<envVarMap.HOSTNAME>",
"conditionType": "EQUAL",
"value": "localhost",
"sequence": 2
}
],
"applicationNames": [
"EcommerceApplication"
]
}
層の命名規則を編集する
- [Tier Naming Rules] タブに移動します。
編集する [Rule Name] を選択します。
- Edit rule をクリックします。
- 次を編集します。
- Tier Naming Format
Application Server Types
Conditions
すべての文字列の比較では、大文字と小文字が区別されます。
Application Scope
- Update rule をクリックします。
形式:
PUT /customNaming/rules/{Id}
リクエストの例:
curl --location --request PUT 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/9a7dfb82-480f-4beb-b72c-a3692b54fdec' --header 'Authorization: Bearer {AuthToken}' \
--header 'Content-Type: application/json' \
--data-raw
{
"id": "9a7dfb82-480f-4beb-b72c-a3692b54fdec",
"ruleName": "TomcatRule",
"tierNamingFormat": "tomcat-tier-prod",
"processType": "JAVA",
"version": 1,
"appServerTypes": [
"tomcat"
],
"priority": 1,
"enabled": true,
"ruleConditions": [
{
"keyName": "<cmdlineArray[_]>",
"conditionType": "CONTAINS",
"value": "-Dcatalina.home=/staging/apache-tomcat-9.0.6",
"sequence": 0
},
{
"keyName": "<envVarMap.HOSTNAME>",
"conditionType": "EQUAL",
"value": "localhost",
"sequence": 0
}
],
"applicationNames": [
"ALL"
]
}
応答の例:
{
"id": "9a7dfb82-480f-4beb-b72c-a3692b54fdec",
"ruleName": "TomcatRule",
"tierNamingFormat": "tomcat-tier-prod",
"processType": "JAVA",
"version": 2,
"appServerTypes": [
"tomcat"
],
"priority": 1,
"enabled": true,
"ruleConditions": [
{
"keyName": "<cmdlineArray[_]>",
"conditionType": "CONTAINS",
"value": "-Dcatalina.home=/staging/apache-tomcat-9.0.6",
"sequence": 0
},
{
"keyName": "<envVarMap.HOSTNAME>",
"conditionType": "EQUAL",
"value": "localhost",
"sequence": 0
}
],
"applicationNames": [
"ALL"
]
}
層の命名規則を削除する
- [Tier Naming Rules] タブに移動します。
- 削除する [Rule Name] を選択します。
- [Delete Confirmation] をクリックします。
形式:
DELETE /customNaming/rules/{Id}
リクエストの例:
curl --location --request DELETE 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/9a7dfb82-480f-4beb-b72c-a3692b54fdec' --header 'Authorization: Bearer {AuthToken}'
応答の例:
No response
層の命名規則を有効にする
- [Tier Naming Rules] タブに移動します。
- 有効にする [Rule Name] を選択します。
Enable rule をクリックします。
形式:
POST /customNaming/rules/{Id}/enable
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/9a7dfb82-480f-4beb-b72c-a3692b54fdec/enable' --header 'Authorization: Bearer {AuthToken}'
応答の例:
No response
層の命名規則を無効にする
- [Tier Naming Rules] タブに移動します。
- 無効にする [Rule Name] を選択します。
- Disable rule をクリックします。
形式:
POST /customNaming/rules/{Id}/disable
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/9a7dfb82-480f-4beb-b72c-a3692b54fdec/disable' --header 'Authorization: Bearer {AuthToken}'
応答の例:
No response
層の命名規則の優先度を編集する
- [Tier Naming Rules] タブに移動します。
- Priority をクリックします。
- 行をドラッグアンドドロップして、層の命名規則の優先順位を再配置します。
Save priority order をクリックします。
層名の評価は、定義された構成ルールの優先順位に従います。一致するルールがない場合、デフォルトの層名がエージェントインストーラによって設定されます。
形式:
PATCH /customNaming/rules/bulk
リクエストの例:
curl --location --request PATCH 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/bulk' --header 'Authorization: Bearer {AuthToken}'
--header 'Content-Type: application/json' \
--data-raw
{
"total": 1,
"items": [
{
"id": "79962b2d-9afb-40e8-9529-428c5077e702",
"priority": 1,
"version": 1
},
{
"id": "9a7dfb82-480f-4beb-b72c-a3692b54fdec",
"priority": 2,
"version": 1
}
]
}
応答の例:
{
"total": 2,
"items": [
{
"ruleName": "TomcatRule1",
"status": "SUCCESS",
"description": null
},
{
"ruleName": "TomcatRule2",
"status": "SUCCESS",
"description": null
}
]
}
層の命名規則をインポートする
- [Tier Naming Rules] タブに移動します。
Import をクリックします。
インポートする JSON ファイルを選択します。
Upload をクリックします。
ファイルが正常にアップロードされたら、[ Done ] をクリックします。
形式:
POST /customNaming/templates/import
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/templates/import' --header 'Authorization: Bearer {AuthToken}' --header 'Content-Type: application/json' --form 'file=@"<filePath>"
応答の例:
{
"total": 2,
"items": [
{
"ruleName": "TomcatRule3",
"status": "SUCCESS",
"description": null
},
{
"ruleName": "TomcatRule4",
"status": "SUCCESS",
"description": null
}
]
}
層の命名規則をエクスポートする
- [Tier Naming Rules ] タブに移動します。
- Export をクリックします。
- [Allow] をクリックして、ローカルシステムにファイルをダウンロードします。
形式:
POST /customNaming/rules/export
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/rules/export' --header 'Authorization: Bearer {AuthToken}' --header 'Content-Type: application/json'
応答の例:
The response is a file in JSON format
層の命名規則のステータスをプレビューする
- [Tier Naming Rules] タブに移動します。
- Naming Rules Preview をクリックします。
各ルールのステータスをプレビューします:Impacted processes、 In progress、および No changes。
- Done をクリックします。
形式:
POST /customNaming/preview
リクエストの例:
curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/customNaming/preview' --header 'Authorization: Bearer {AuthToken}'
--header 'Content-Type: application/json' \
--data-raw
{
"applicationNames" : [
"ECommerceApp"
],
"curTierInformation": [
{
"tierName": "tier1",
"ruleName": "rul1e1"
}
],
"expectedTierInformation": [
{
"tierName": "tier1",
"ruleName": "rul1e1"
}
],
"previewStatus" : false
}
応答例 1:
{
"total": 1,
"items": [
{
"nodeName": "Node1",
"applicationName": "EcommerceApp",
"curTierInformation": {
"tierName": "Tier1",
"ruleName": "Rule1"
},
"expectedTierInformation": {
"tierName": "NewTier1",
"ruleName": "NewRule1"
},
"previewStatus": true,
"previewMessage": "Restart to Apply"
}
]
}
応答例 2:
{
“total”: 2,
“items”: [
{
“nodeName”: “Node1",
“applicationName”: “EcommerceApp”,
“curTierInformation”: {
“tierName”: “Tier1”,
“ruleName”: “Rule1”
},
“expectedTierInformation”: {
“tierName”: “NewTier1",
“ruleName”: “NewRule1"
},
“previewStatus”: true,
“previewMessage”: “Restart to Apply”
},
{
“nodeName”: “Node2”,
“applicationName”: “EcommerceApp”,
“curTierInformation”: {
“tierName”: “Tier1",
“ruleName”: “Rule1"
},
“previewStatus”: true,
“previewMessage”: “No Change”
}
]
}
構成が変更されたら、Java プロセスを再起動する前に、プレビュー API を使用して既存の層名の影響を特定できます。プレビューステータスは、バージョン 22.4 以降でのみサポートされます。エージェントの古いバージョンは、サポートされていないので、Failure ステータスで表示されます。
デフォルトルール
以下の表は、層の命名規則のデフォルト値を示しています。
AppServerType | サブ カテゴリ | デフォルト名(Default Name) | 例 |
---|---|---|---|
tomcat |
| tomcat,<JavaUniquePath> | tomcat,/staging/apache*.* |
| tomee,<JavaUniquePath> |
| |
jboss |
| jboss,standalone,<JavaUniquePath> | jboss,standalone,/staging/jboss*.* |
| jboss,domain,<JBossServerGroupName>,<JavaUniquePath> | jboss,domain,defaultServer,/staging/jboss*.* | |
glassfish |
| glassfish,<GlassfishDomainName>,<GlassfishInstanceName>,<JavaUniquePath> | glassfish,domain1,domain1,/staging/glassfish*.* |
weblogic | weblogic | weblogic,<WeblogicDomainName>,<WeblogicInstanceName>,<JavaUniquePath> | weblogic,domain,weblogic1,/staging/weblogic*.* |
websphere |
| webspherewas,<WebSphereCellName>, <WebSphereServerName>,<JavaUniquePath> | webspherewas,wascell,wasServer,/staging/websphere*.* |
| websphereliberty,<WebSphereLibertyServerName>, <JavaUniquePath> | websphereliberty,liberty,/staging/websphere*.* | |
java |
| java,<JavaMainJar> | java,ECommerceApp.jar |
| java,<JavaMainClass>,<JavaUniquePath> | java,EcommerceApplicaton,/staging/EcommerceApplicaton/** |