Hardware
ハードウェア・ゾーン設定
📚 情報ソース
このドキュメントは以下の情報源を基に作成されています:
主要ソース
補足ソース
- データセンター管理のベストプラクティス: ゾーン設計とタグ戦略
- 実運用環境の設定例: マルチデータセンター/マルチクラウド環境での統一的な管理
📚 公式ドキュメント: ハードウェア・ゾーン設定 (com.instana.plugin.generic.hardware)
物理ハードウェア情報とアベイラビリティゾーン(可用性ゾーン)の設定を行います。データセンター、ラック、フロアなどの物理的な配置情報を記録し、障害発生時の影響範囲を把握しやすくします。
基本設定
| com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo DC / Rack 42'
|
設定項目の詳細
| 項目 |
説明 |
デフォルト値 |
推奨値 |
取得方法 |
enabled |
ハードウェア監視の有効化 |
false |
true |
- |
availability-zone |
アベイラビリティゾーン名 |
- |
データセンター/ラック情報 |
データセンター管理者から取得 |
実践的な使用例
1. データセンター別設定
| # 東京データセンター - ラック単位
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15'
# 大阪データセンター - ラック単位
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Osaka-DC2/Floor-2/Rack-B08'
# 福岡データセンター - ラック単位
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Fukuoka-DC3/Floor-1/Rack-C05'
|
2. クラウド環境のアベイラビリティゾーン
| # AWS東京リージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'ap-northeast-1a'
# AWS大阪リージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'ap-northeast-3a'
# Azure東日本リージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'japaneast-1'
# GCP東京リージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'asia-northeast1-a'
|
3. ハイブリッドクラウド環境
| # オンプレミス
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'OnPrem/Tokyo-DC1/Rack-A15'
# AWS
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'AWS/ap-northeast-1a'
# Azure
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Azure/japaneast-1'
|
4. 詳細な物理配置情報
| # データセンター、フロア、ラック、ユニット位置まで記録
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/Unit-10-15'
# 電源系統情報も含める
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/PowerA'
# ネットワークセグメント情報も含める
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/VLAN-100'
|
5. マルチリージョン構成
| # プライマリリージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Primary/Tokyo-DC1/Rack-A15'
# セカンダリリージョン(DR)
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Secondary/Osaka-DC2/Rack-B08'
# バックアップリージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Backup/Fukuoka-DC3/Rack-C05'
|
ベストプラクティス
命名規則
-
階層的な命名
| # 推奨: 階層構造を明確に
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Region/DataCenter/Floor/Rack/Unit'
# 例
availability-zone: 'APAC/Tokyo-DC1/Floor-3/Rack-A15/Unit-10'
|
-
一貫性のある命名
| # 全環境で統一されたフォーマットを使用
# フォーマット: [環境]/[リージョン]/[データセンター]/[詳細]
# 本番環境
availability-zone: 'Production/Tokyo/DC1/Rack-A15'
# ステージング環境
availability-zone: 'Staging/Tokyo/DC1/Rack-B20'
# 開発環境
availability-zone: 'Development/Tokyo/DC1/Rack-C30'
|
-
クラウドプロバイダー別の命名
| # AWS
availability-zone: 'AWS/ap-northeast-1a'
# Azure
availability-zone: 'Azure/japaneast-1'
# GCP
availability-zone: 'GCP/asia-northeast1-a'
# オンプレミス
availability-zone: 'OnPrem/Tokyo-DC1/Rack-A15'
|
障害影響範囲の把握
-
ラック単位での管理
| # 同じラック内のサーバーは同じゾーンに設定
# Rack-A15内のサーバー1
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15'
# Rack-A15内のサーバー2
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15'
# これにより、ラック障害時の影響範囲を即座に把握可能
|
-
電源系統の管理
| # 電源系統Aに接続されたサーバー
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/PowerA'
# 電源系統Bに接続されたサーバー
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/PowerB'
# 電源障害時の影響範囲を把握
|
-
ネットワークセグメントの管理
| # VLAN-100に接続されたサーバー
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/VLAN-100'
# VLAN-200に接続されたサーバー
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/VLAN-200'
# ネットワーク障害時の影響範囲を把握
|
高可用性構成
-
冗長化構成の可視化
| # プライマリサーバー
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Primary/Tokyo-DC1/Rack-A15'
# セカンダリサーバー(別ラック)
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Secondary/Tokyo-DC1/Rack-B20'
# 異なるラックに配置することで、単一障害点を回避
|
-
マルチAZ構成
| # AZ-1
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'AWS/ap-northeast-1a'
# AZ-2
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'AWS/ap-northeast-1c'
# AZ-3
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'AWS/ap-northeast-1d'
|
-
マルチリージョン構成
| # 東京リージョン
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Primary/Tokyo/ap-northeast-1a'
# 大阪リージョン(DR)
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'DR/Osaka/ap-northeast-3a'
|
パフォーマンスチューニング
1. 適切な粒度の選択
| # 粗い粒度(データセンターレベル)
# メリット: シンプル、管理が容易
# デメリット: 詳細な影響範囲が不明
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1'
# 中程度の粒度(ラックレベル)- 推奨
# メリット: 適度な詳細度、障害影響範囲の把握が容易
# デメリット: 管理の手間が増える
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15'
# 細かい粒度(ユニットレベル)
# メリット: 非常に詳細な情報
# デメリット: 管理が複雑、オーバーヘッド
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15/Unit-10-15'
|
2. 自動化による設定
| #!/bin/bash
# 自動的にアベイラビリティゾーンを設定するスクリプト
# AWSの場合
if [ -f /sys/hypervisor/uuid ] && [ `head -c 3 /sys/hypervisor/uuid` == "ec2" ]; then
AZ=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)
sed -i "s/availability-zone: .*/availability-zone: 'AWS\/$AZ'/" /opt/instana/agent/etc/instana/configuration.yaml
fi
# Azureの場合
if [ -f /var/lib/waagent/ovf-env.xml ]; then
REGION=$(curl -s -H Metadata:true "http://169.254.169.254/metadata/instance/compute/location?api-version=2021-02-01&format=text")
ZONE=$(curl -s -H Metadata:true "http://169.254.169.254/metadata/instance/compute/zone?api-version=2021-02-01&format=text")
sed -i "s/availability-zone: .*/availability-zone: 'Azure\/$REGION-$ZONE'/" /opt/instana/agent/etc/instana/configuration.yaml
fi
# GCPの場合
if [ -f /sys/class/dmi/id/product_name ] && grep -q "Google" /sys/class/dmi/id/product_name; then
ZONE=$(curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/zone | cut -d'/' -f4)
sed -i "s/availability-zone: .*/availability-zone: 'GCP\/$ZONE'/" /opt/instana/agent/etc/instana/configuration.yaml
fi
# オンプレミスの場合(ホスト名から推測)
HOSTNAME=$(hostname)
if [[ $HOSTNAME == *"dc1"* ]]; then
RACK=$(echo $HOSTNAME | grep -oP 'rack\d+')
sed -i "s/availability-zone: .*/availability-zone: 'OnPrem\/Tokyo-DC1\/$RACK'/" /opt/instana/agent/etc/instana/configuration.yaml
fi
# Agentを再起動
systemctl restart instana-agent
|
| # Ansible Playbook例
---
- name: Configure Instana Agent Availability Zone
hosts: all
vars:
datacenter: "{{ datacenter_name }}"
floor: "{{ floor_number }}"
rack: "{{ rack_id }}"
tasks:
- name: Set availability zone
lineinfile:
path: /opt/instana/agent/etc/instana/configuration.yaml
regexp: '^ availability-zone:'
line: " availability-zone: '{{ datacenter }}/Floor-{{ floor }}/{{ rack }}'"
state: present
notify: restart instana-agent
handlers:
- name: restart instana-agent
systemd:
name: instana-agent
state: restarted
|
| # Terraform例(AWS)
resource "null_resource" "instana_agent_config" {
count = length(aws_instance.app_server)
provisioner "remote-exec" {
inline = [
"sudo sed -i 's/availability-zone: .*/availability-zone: \"AWS\\/${aws_instance.app_server[count.index].availability_zone}\"/' /opt/instana/agent/etc/instana/configuration.yaml",
"sudo systemctl restart instana-agent"
]
connection {
type = "ssh"
user = "ubuntu"
private_key = file("~/.ssh/id_rsa")
host = aws_instance.app_server[count.index].public_ip
}
}
}
|
トラブルシューティング
問題1: アベイラビリティゾーンが表示されない
症状:
- Instana UIでアベイラビリティゾーン情報が表示されない
原因と解決策:
-
設定の確認
| # 設定ファイルを確認
cat /opt/instana/agent/etc/instana/configuration.yaml | grep -A 2 "generic.hardware"
# enabledがtrueになっているか確認
|
-
設定の修正
| # enabledをtrueに設定
com.instana.plugin.generic.hardware:
enabled: true # falseになっていないか確認
availability-zone: 'Tokyo-DC1/Rack-A15'
|
-
Agent再起動
| # 設定変更後は必ず再起動
sudo systemctl restart instana-agent
# ログで確認
sudo journalctl -u instana-agent -f
|
問題2: 設定が反映されない
症状:
- 設定を変更したが、Instana UIに反映されない
原因と解決策:
-
YAMLフォーマットの確認
| # ❌ インデントが間違っている
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Rack-A15'
# ✅ 正しいインデント(2スペース)
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Rack-A15'
|
-
特殊文字のエスケープ
| # ❌ 特殊文字がエスケープされていない
availability-zone: Tokyo-DC1/Rack-A15
# ✅ クォートで囲む
availability-zone: 'Tokyo-DC1/Rack-A15'
|
-
設定ファイルの検証
| # YAMLの構文チェック
python3 -c "import yaml; yaml.safe_load(open('/opt/instana/agent/etc/instana/configuration.yaml'))"
# エラーがあれば表示される
|
問題3: 複数のゾーン情報が混在
症状:
- 同じホストに複数のアベイラビリティゾーンが設定されている
原因と解決策:
-
重複設定の確認
| # 設定ファイル内の重複を確認
grep -n "com.instana.plugin.generic.hardware" /opt/instana/agent/etc/instana/configuration.yaml
|
-
重複の削除
| # ❌ 重複している
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Rack-A15'
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Rack-B20'
# ✅ 1つだけ設定
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Rack-A15'
|
問題4: クラウド環境で自動検出されない
症状:
- クラウド環境でアベイラビリティゾーンが自動的に設定されない
原因と解決策:
-
メタデータサービスの確認
| # AWS
curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone
# Azure
curl -s -H Metadata:true "http://169.254.169.254/metadata/instance/compute/location?api-version=2021-02-01&format=text"
# GCP
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/zone
|
-
手動設定
| # メタデータサービスが利用できない場合は手動設定
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'AWS/ap-northeast-1a'
|
問題5: 命名規則の不統一
症状:
- 環境によってアベイラビリティゾーンの命名規則が異なる
原因と解決策:
-
標準化された命名規則の策定
| # 標準フォーマット: [環境]/[プロバイダー]/[リージョン]/[ゾーン]
# 本番環境
availability-zone: 'Production/AWS/ap-northeast-1/1a'
# ステージング環境
availability-zone: 'Staging/AWS/ap-northeast-1/1c'
# 開発環境
availability-zone: 'Development/AWS/ap-northeast-1/1d'
|
-
ドキュメント化
| # アベイラビリティゾーン命名規則
## フォーマット
[環境]/[プロバイダー]/[リージョン]/[詳細]
## 例
- Production/AWS/ap-northeast-1/1a
- Staging/Azure/japaneast/1
- Development/GCP/asia-northeast1/a
- Production/OnPrem/Tokyo-DC1/Rack-A15
|
FAQ
Q1: アベイラビリティゾーンは必須ですか?
A: 必須ではありませんが、強く推奨されます。特に以下の場合は設定すべきです:
- マルチAZ/マルチリージョン構成
- 高可用性が求められる環境
- 障害影響範囲の迅速な把握が必要な環境
- 複数のデータセンターを運用している場合
| # 最低限の設定
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1'
|
Q2: 動的に変更できますか?
A: はい、設定ファイルを変更してAgentを再起動すれば変更できます。
| # 設定変更
sudo vi /opt/instana/agent/etc/instana/configuration.yaml
# Agent再起動
sudo systemctl restart instana-agent
|
ただし、頻繁な変更は推奨されません。物理的な配置が変わる場合のみ変更してください。
Q3: クラウドとオンプレミスで命名規則を統一すべきですか?
A: はい、統一することを強く推奨します。
| # 統一されたフォーマット
# [環境]/[プロバイダー]/[リージョン]/[詳細]
# AWS
availability-zone: 'Production/AWS/ap-northeast-1/1a'
# オンプレミス
availability-zone: 'Production/OnPrem/Tokyo-DC1/Rack-A15'
# Azure
availability-zone: 'Production/Azure/japaneast/1'
|
Q4: 複数のラックにまたがるサーバーはどう設定しますか?
A: 各サーバーは1つのアベイラビリティゾーンのみ設定できます。物理的な主要配置場所を設定してください。
| # サーバーAはRack-A15に主に配置
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-A15'
# サーバーBはRack-B20に主に配置
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Floor-3/Rack-B20'
|
Q5: コンテナ環境ではどう設定しますか?
A: コンテナのホストマシンのアベイラビリティゾーンを設定します。
| # Kubernetesノード
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'AWS/ap-northeast-1a'
# Dockerホスト
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/Rack-A15'
|
コンテナ自体には個別に設定する必要はありません。ホストの設定が継承されます。
Q6: 仮想マシンではどう設定しますか?
A: 仮想マシンが稼働している物理ホストのアベイラビリティゾーンを設定します。
| # VMware vSphere
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/ESXi-Host-01/Rack-A15'
# Hyper-V
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Tokyo-DC1/HyperV-Host-02/Rack-B20'
|
Q7: 障害時にアベイラビリティゾーン情報はどう活用されますか?
A: Instana UIで以下のように活用できます:
- 影響範囲の特定
- 同じゾーン内のすべてのホスト/サービスを一覧表示
-
ラック障害時の影響を即座に把握
-
フィルタリング
- 特定のゾーンのみを表示
-
ゾーン間の比較
-
アラート設定
- ゾーン単位でのアラート設定
- ゾーン障害の検知
| # 例: 本番環境の東京DC1のみ監視
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Production/Tokyo-DC1/Rack-A15'
|
関連ドキュメント:
- ホスト監視設定
- クラウド監視設定
- ベストプラクティス