「Windowsサーバーの監視を自動化したい」 「Zabbix Agentのインストール手順が分からない」 「ファイアウォールの設定でつまずいている」
その悩み、この記事で完全解決します!
Zabbix Agentは、サーバー監視の定番ツール「Zabbix」のエージェントソフトウェア。 CPU使用率、メモリ、ディスク容量、サービス状態など、Windows サーバーのあらゆる情報を自動収集してくれます。
でも、Windows版のインストールは意外と落とし穴が多いんです。 サービス登録、ファイアウォール設定、設定ファイルの書き方…
この記事では、Zabbix Agent 6.0/6.4のインストールから監視開始まで、画像付きで完全解説! 15分後には、あなたのWindowsサーバーが完璧に監視できるようになりますよ。
1. Zabbix Agentの基礎知識と事前準備

Zabbix Agentとは?
Zabbix Agentの役割:
- 監視対象サーバーにインストールするエージェント
- 監視データを収集してZabbixサーバーに送信
- CPU、メモリ、ディスク、プロセス、ログなどを監視
- プッシュ型(Agent → Server)とプル型(Server → Agent)の両方対応
動作要件の確認
対応OS:
- Windows Server 2012/2012 R2
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Windows 10/11(テスト環境)
必要なリソース:
- メモリ:最小64MB(推奨128MB以上)
- ディスク:100MB以上
- ネットワーク:Zabbixサーバーとの通信可能
バージョンの選択
2024年現在の推奨バージョン:
- Zabbix 6.0 LTS(長期サポート版)安定重視
- Zabbix 6.4(最新機能版)
- Zabbix 5.0 LTS(旧環境との互換性)
重要: Zabbixサーバーとエージェントのメジャーバージョンは合わせる!
2. Zabbix Agentのダウンロードとインストール
公式サイトからダウンロード
ダウンロード手順:
- 公式サイトにアクセス https://www.zabbix.com/download_agents
- 条件を選択:
- Zabbix Version: 6.0 LTS または 6.4
- OS Distribution: Windows
- OS Version: Any
- Hardware: amd64(64bit)または i386(32bit)
- ダウンロードリンクをクリック 例:
zabbix_agent-6.0.0-windows-amd64-openssl.msi
MSIインストーラーでインストール
インストール手順:
- MSIファイルを実行(管理者権限で)
- インストールウィザード:
- Welcome → Next
- License Agreement → I accept → Next
- Host name: Windowsサーバーのホスト名
- Zabbix server IP/DNS: ZabbixサーバーのIPアドレス
- Agent listen port: 10050(デフォルト)
- Server or Proxy for active checks: Zabbixサーバーと同じ
- Enable PSK: セキュアな環境では有効化
- インストール先: デフォルト:
C:\Program Files\Zabbix Agent
- Install → Finish
サイレントインストール(自動化)
コマンドラインでの一括インストール:
msiexec /i zabbix_agent-6.0.0-windows-amd64-openssl.msi ^
/qn ^
SERVER=192.168.1.100 ^
SERVERACTIVE=192.168.1.100 ^
HOSTNAME=WIN-SERVER01 ^
ENABLEPSK=1 ^
TLSPSKIDENTITY=PSK001 ^
TLSPSKVALUE=1234567890abcdef
複数サーバーへの展開に便利!
3. 設定ファイル(zabbix_agentd.conf)の編集
設定ファイルの場所
デフォルトパス:
C:\Program Files\Zabbix Agent\zabbix_agentd.conf
バックアップを取る:
copy "C:\Program Files\Zabbix Agent\zabbix_agentd.conf" ^
"C:\Program Files\Zabbix Agent\zabbix_agentd.conf.bak"
基本設定項目
最小限の設定:
# Zabbixサーバーのアドレス(パッシブチェック用)
Server=192.168.1.100
# アクティブチェック用サーバー
ServerActive=192.168.1.100
# ホスト名(Zabbixサーバーに登録する名前と一致させる)
Hostname=WIN-SERVER01
# ログファイル
LogFile=C:\Program Files\Zabbix Agent\zabbix_agentd.log
# ログサイズ(MB)
LogFileSize=10
詳細設定
パフォーマンスチューニング:
# タイムアウト(秒)
Timeout=30
# 同時実行数
StartAgents=3
# バッファサイズ
BufferSize=100
BufferSend=5
# デバッグレベル(0-5)
DebugLevel=3
セキュリティ設定:
# 特定のコマンドを許可
EnableRemoteCommands=1
LogRemoteCommands=1
# アクセス制限
AllowKey=system.run[*]
DenyKey=system.run[rm *]
# PSK暗号化(推奨)
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK001
TLSPSKFile=C:\Program Files\Zabbix Agent\zabbix_agentd.psk
4. Windowsサービスの設定と起動
サービスの確認と起動
サービス管理画面から:
- services.msc を実行
- 「Zabbix Agent」を探す
- 右クリック → 「開始」
コマンドラインから:
# サービス状態確認
sc query "Zabbix Agent"
# サービス開始
net start "Zabbix Agent"
# サービス停止
net stop "Zabbix Agent"
# サービス再起動
net stop "Zabbix Agent" && net start "Zabbix Agent"
スタートアップの種類設定
自動起動の設定:
sc config "Zabbix Agent" start=auto
遅延開始の設定(推奨):
sc config "Zabbix Agent" start=delayed-auto
サービスアカウントの変更
特権が必要な監視項目がある場合:
- services.msc → Zabbix Agent → プロパティ
- 「ログオン」タブ
- 「このアカウント」を選択
- 管理者権限のあるアカウントを指定
5. Windows ファイアウォールの設定
インバウンドルールの追加
GUIから設定:
- Windows Defender ファイアウォール → 詳細設定
- 「受信の規則」→ 「新しい規則」
- ポート → TCP → 10050
- 「接続を許可する」
- すべてのプロファイルにチェック
- 名前:「Zabbix Agent」
PowerShellで設定:
New-NetFirewallRule -DisplayName "Zabbix Agent" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 10050 `
-Action Allow `
-Profile Any
アウトバウンドルール(アクティブチェック用)
New-NetFirewallRule -DisplayName "Zabbix Agent Active" `
-Direction Outbound `
-Protocol TCP `
-RemotePort 10051 `
-Action Allow `
-Profile Any
特定IPからのみ許可(セキュア設定)
New-NetFirewallRule -DisplayName "Zabbix Agent Secure" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 10050 `
-RemoteAddress 192.168.1.100 `
-Action Allow
6. 動作確認とテスト

ローカルでの動作確認
エージェントの状態確認:
"C:\Program Files\Zabbix Agent\zabbix_agentd.exe" -t "agent.ping"
正常な応答:
agent.ping [u|1]
基本的な監視項目のテスト
よく使うテストコマンド:
# ホスト名確認
zabbix_agentd.exe -t "agent.hostname"
# CPU使用率
zabbix_agentd.exe -t "system.cpu.util"
# メモリ情報
zabbix_agentd.exe -t "vm.memory.size[available]"
# ディスク容量
zabbix_agentd.exe -t "vfs.fs.size[C:,free]"
# サービス状態
zabbix_agentd.exe -t "service.info[Spooler]"
Zabbixサーバーからの接続テスト
Zabbixサーバー側で実行:
# エージェントの応答確認
zabbix_get -s 192.168.1.50 -k agent.ping
# ホスト名取得
zabbix_get -s 192.168.1.50 -k agent.hostname
# バージョン確認
zabbix_get -s 192.168.1.50 -k agent.version
7. ユーザー定義パラメータの設定
カスタム監視項目の追加
設定ファイルに追加:
# Windows Update の状態
UserParameter=windows.update.count,powershell.exe -NoProfile -Command "(Get-WindowsUpdate).Count"
# IISサイトの状態
UserParameter=iis.site.status[*],powershell.exe -NoProfile -Command "Get-WebSite -Name '$1' | Select-Object -ExpandProperty State"
# 特定プロセスのメモリ使用量
UserParameter=process.memory[*],powershell.exe -NoProfile -Command "Get-Process -Name '$1' | Measure-Object WorkingSet -Sum | Select-Object -ExpandProperty Sum"
# イベントログエラー数
UserParameter=eventlog.error.count[*],powershell.exe -NoProfile -Command "Get-EventLog -LogName $1 -EntryType Error -After (Get-Date).AddHours(-1) | Measure-Object | Select-Object -ExpandProperty Count"
PowerShellスクリプトの実行
スクリプトファイルの配置:
C:\Program Files\Zabbix Agent\scripts\check_service.ps1
設定ファイル:
UserParameter=custom.check[*],powershell.exe -ExecutionPolicy Bypass -File "C:\Program Files\Zabbix Agent\scripts\$1.ps1" $2 $3
8. ログ監視の設定
Windowsイベントログ監視
設定例:
# イベントログ監視の有効化
UserParameter=eventlog.check[*],powershell.exe -NoProfile -Command "Get-EventLog -LogName '$1' -Newest $2 | ConvertTo-Json"
アプリケーションログ監視
IISログの監視:
UserParameter=iis.log.errors,powershell.exe -NoProfile -Command "Select-String -Path 'C:\inetpub\logs\LogFiles\W3SVC1\*.log' -Pattern ' 500 ' | Measure-Object | Select-Object -ExpandProperty Count"
9. トラブルシューティング
サービスが起動しない
確認事項:
- ✅ 設定ファイルの文法エラー
zabbix_agentd.exe -c "C:\Program Files\Zabbix Agent\zabbix_agentd.conf" -t "agent.ping"
- ✅ ポート競合
netstat -an | findstr :10050
- ✅ イベントログ確認
- イベントビューアー → アプリケーションとサービスログ
接続できない
チェックリスト:
- ファイアウォール設定
- ネットワーク到達性(ping確認)
- Serverパラメータの設定
- ホスト名の一致
パフォーマンス問題
対策:
# タイムアウトを延長
Timeout=30
# バッファサイズ増加
BufferSize=1000
# 同時実行数を増やす
StartAgents=5
10. セキュリティ強化
PSK暗号化の設定
PSKファイル作成:
# 256ビットのランダムキー生成
$psk = -join ((1..64) | ForEach {'{0:x}' -f (Get-Random -Max 16)})
$psk | Out-File -FilePath "C:\Program Files\Zabbix Agent\zabbix_agentd.psk" -NoNewline -Encoding ASCII
アクセス制限
特定のコマンドのみ許可:
# 危険なコマンドを拒否
DenyKey=system.run[*]
DenyKey=system.run[cmd.exe*]
# 必要なものだけ許可
AllowKey=system.cpu.*
AllowKey=vm.memory.*
AllowKey=vfs.fs.*
まとめ:Windows監視の自動化を実現!
Windows Zabbix Agentのインストールと設定、完璧にマスターできましたか?
インストール手順のおさらい:
- 📥 ダウンロード(2分)
- 公式サイトからMSIファイル
- バージョンは環境に合わせて
- 🔧 インストール(3分)
- MSIを実行
- サーバーIPとホスト名を設定
- ⚙️ 設定ファイル編集(5分)
- Server、Hostname設定
- 必要に応じてカスタマイズ
- 🔥 ファイアウォール設定(2分)
- ポート10050を開放
- 特定IPのみ許可(推奨)
- ✅ 動作確認(3分)
- agent.pingでテスト
- Zabbixサーバーから接続確認
重要ポイント:
✅ エージェントとサーバーのバージョンを合わせる
✅ ホスト名は必ず一致させる
✅ ファイアウォール設定を忘れない
✅ PSK暗号化でセキュリティ強化
✅ 定期的にログを確認
これで、Windowsサーバーの完全自動監視が実現! CPU、メモリ、ディスクの異常を即座に検知できるようになりました。
監視の自動化で、システム管理を効率化しましょう!📊✨
コメント