Zabbix-serverとは別のホストにZabbix-agentをインストール
現在はサーバ機にエージェントを入れてサーバ監視を行っていますが、現場で使われる場合は複数のホストを監視する場面が多いのではないでしょうか。
そこで今回は普段使いの端末を別ホストによるサーバに見立ててエージェントのみをインストールし、Zabbixサーバへホスト登録を行うことで監視対象の追加を試してみることにします。
例によっていくつかハマった点もありましたので備忘録代わりになればと思います。
まずはインストール作業と設定
まずはインストールと設定ファイルの編集を行います。
↓パッケージの更新 # apt-get update ↓インストール実行 # apt-get install zabbix-agent ↓設定ファイルを編集 # vi /etc/zabbix/zabbix_agentd.conf 以下を追記・編集 Server=xxx.xxx.xxx.xxx(Zabbix-server側のIPアドレス) ListenIP=xxx.xxx.xxx.xxx(Zabbix-agent側のIPアドレス) ServerActive=xxx.xxx.xxx.xxx(Zabbix-server側のIPアドレス) Hostname=○○○○○(任意のホスト名) :wqで保存して終了 ↓サービスの再起動 # /etc/init.d/zabbix-agent restart
ここまででZabbix-agentの設定は完了です。個人的にややこしかったのは
- サービスの名称はzabbix-agent
- 設定ファイルの名称はzabbix_agentd.conf
というところかなと思います。
サーバと端末のポートを開放
通常の場合、Ubuntuはデフォルトですべてのポートが閉じられているためこのままではサーバとエージェント間の通信ができません。
したがってサーバ側のポート(10051番)とエージェント側(10050)のポートをそれぞれ開放してやります。まずはサーバから。
# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 10051 -j ACCEPT
続いてエージェント側を。
# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 10050 -j ACCEPT
※IPアドレスの部分はそれぞれの環境に置き換えて修正してください。
ブラウザでサーバに接続してホストの追加を行う
ブラウザからZabbixに接続してログインします。
「設定」→「ホスト」→「ホストの作成」へと進むと新しいホストを追加登録することができます。追加する項目は
- ホスト名(必須。/etc/zabbix/zabbix_agentd.confのHostnameを指定)
- 表示名(任意。Zabbix上で表示する際に使用するそうな)
- グループ(必須。既存のグループに登録でも新規作成したグループでも)
- エージェントのインターフェース(必須。エージェントのIPアドレス)
以上を登録して保存します。
「設定」→「ホスト」で一覧表示させてみて、「エージェントの状態」が緑色で点灯すればOK!赤の場合何かしらの設定ミスが疑われますので再度確認しましょう。疑わしいポイント、自分がハマったポイントは
- エージェントが起動していない(再起動をしてなかったり、そもそも起動してなかったり)
- IPアドレスやホスト名の間違い
- エージェント側の10050番ポート、またはサーバ側の10051番ポート(自分はこれでした…)が開いていない
などが考えられると思います。
Server以外の端末にAgentをインストール・設定するまとめ
エージェントを入れておしまい!というわけではなく今度はそれらを監視する必要があるわけですが、今回はインストールと設定までを纏めておきます。
- Ubuntuの場合aptパッケージを使用して簡単インストール♪
- /etc/zabbix/zabbix_agentd.confを編集してZabbix-agentを再起動
- iptablesを使い「エージェント側の10050番ポート」と「サーバ側の10051番ポート」をそれぞれ開放
- ブラウザからサーバに接続して新しいホストを登録
以上のような流れで基本的にはOKだと思います。
サーバ以外の端末を含めて一括監視するという感触はなんとなく掴めた気がしますのでもう少し掘り下げいきたいところですね。
サーバの方は各種サービスの死活監視だったり各種リソースの使用状況だったりログを監視してみたり…とやってみたいことはたくさんありますので。