OpsRamp の名前に「+」などの半角記号を使用しない
OpsRamp で登録する名前(Client、Integration、リソース、デバイスグループ、タグなど)に「+」などの半角記号を含めると、API や外部連携で名前が正しく扱われないことがあります。名前に使う文字は、英数字・ハイフン・アンダースコアに限定してください。
対象
OpsRamp の全テナントで、ユーザーが任意に名前を付けるすべてのオブジェクト
現象
- 画面上は問題なく登録・表示される。
- REST API で名前を条件に検索すると、対象が見つからない(0件が返る)。
- 自動化ツール(Terraform、Ansible、スクリプトなど)や、チケット・通知の連携で、名前が一致しない、または誤って解釈される。
- CSV のエクスポートやインポートで、列がずれる。
例:Tenant-A_API_Key_for_Log+Metrics
原因
半角記号の多くは、URL・シェル・正規表現・CSV などで特別な意味を持ちます。たとえば URL のクエリ文字列では「+」がスペースとして扱われるため、Log+Metrics は Log Metrics として検索されます。
| 記号 | 主な影響 |
|---|---|
+ |
URL ではスペースとして扱われる。正規表現では繰り返しの指定になる。IIS の既定設定では拒否される |
& ? # = % |
URL のパラメータ区切りやエンコード文字として解釈され、値が途中で切れる |
/ \ : |
パスやドライブの区切り、検索式の区切りとして解釈される |
* ? [ ] $ ` | ; < > |
シェルや PowerShell で、ワイルドカード・変数展開・コマンドとして解釈される |
, " ' |
CSV・JSON・SQL で、区切りや文字列の終わりとして解釈される |
| スペース、全角文字 | コマンドの引数が分かれる。エンコードの不一致が起きる |
推奨事項
- 名前に使う文字は
A-Za-z0-9-_のみにする。 - 区切りの役割を統一する(例:項目の区切りは
_、単語の区切りは-)。 - 先頭に記号を使わない。
- 日本語の名称や製品名の正式表記は、説明欄(Description)に記載する。
| 避けたい例 | 推奨例 |
|---|---|
Tenant-A_API_Key_for_Log+Metrics |
Tenant-A_API-Key_Log-Metrics |
Web/APサーバ #1 |
web-ap_tokyo_01 |
env: Prod & DR |
env: prod-dr |
既存の名前を変更する場合
- 変更する前に、その名前を参照している API スクリプト、アラートポリシー、エスカレーション、チケット連携、レポートのフィルタを確認してください。
- Integration のように作り直しが必要なものは、新しい名前で作成して動作を確認してから、旧設定を削除してください。
回避策(名前を変更できない場合)
API や URL で名前を指定するときは、記号をパーセントエンコードしてください(例:+ → %2B)。
ブログと同じく、API 検索の動作は公開前に実際の環境で確認することをおすすめします。