はじめに
この記事を作成した意図は、現在Zabbixを扱うシステム設計構築に携わっている為、自身への備忘録として残すことが目的である。
また、Zabbixの機能として大変便利なものである為、初学者やZabbixを業務で扱っている方のためになれば幸いである。
環境
仮想環境 | VMware Workstation Player 16 |
---|---|
Zabbix | 6.0LTS |
OS (マネージャ) | RHEL8 |
OS (エージェント) | Windows Server 2019 |
設定手順
1.Zabbix Agentのコンフィグ
まず、リモートコマンドの実行者として選べるのが
- Zabbixエージェント
- Zabbixサーバーまたはプロキシ
- Zabbixサーバー
上記の3つとなるが、今回は Zabbixエージェント(監視対象) に実行させることが前提となる。
監視対象のzabbix_agentd.confに以下の通り、下記文言を書き加える。
AllowKey=system.run[*]
### Option: EnableRemoteCommands - Deprecated, use AllowKey=system.run[*] or DenyKey=system.run[*] instead
# Internal alias for AllowKey/DenyKey parameters depending on value:
# 0 - DenyKey=system.run[*]
# 1 - AllowKey=system.run[*]
#
# Mandatory: no
AllowKey=system.run[*]
この設定を行わないとリモートコマンドを実施することは出来ない為注意。
また、Zabbix Agentの再起動を行わないと設定が反映されないので注意。
2.スクリプトを作成
次にZabbixマネージャのコンソールから、実行したいコマンドのスクリプトを作成する。
2-1
2-2
2-3
名前:任意
範囲:手動ホスト処理
メニューパス:※後ほど解説
タイプ:スクリプト
次で実行:Zabbixエージェント
コマンド:任意
※対象サーバのOSが認識できるコマンドを指定すること
echo helloworld
説明:任意
ホストグループ:すべて
ユーザーグループ:すべて
必要なホストへのアクセス権:表示のみ
確認を有効:チェック外す
設定が完了したら「更新」を選択。
以上で下準備は完了!!
めちゃくちゃ簡単ですね。
3.実行
3-1
「監視データ」→「ホスト」を選択
3-2
リモートコマンドを実行したいホスト名を左クリックし、実行したいスクリプトを選択する。
以上のように簡単にリモートコマンドを実行できちゃいます!
4.おまけ
2-3で設定項目にあったメニューパスに関して解説を致します。
この様に階層化ができます。スクリプトの整理が簡単にできちゃいますね。
5.最後に
私も最近Zabbixに触れ始めたばかりでまだまだ初心者です。
今後も実務を通し何か便利な機能があれば発信していこうかと考えています(上手く組み合わせたトリガー等)