【入門】Zabbix エージェントを Linux へインストール/セットアップ | SEの道標
zabbix

【入門】Zabbix エージェントを Linux へインストール/セットアップ

Zabbix の主な監視対象、監視方法と、今回の話の範囲

今回は CentOS8 に Zabbix エージェントをインストールする方式について説明します。

なお、Zabbix サーバについては以下の手順などにより構築されていることを前提とします。

【入門】Zabbix (仮想アプライアンス) 6.0 LTS の Install, Setup 手順
仮想アプライアンス OVF のダウンロード&仮想マシンへインポート 以下サイトか...
Zabbix 6.0 LTS をRHEL8系, Nginx, MySQL でインストール/構築する
前提 RedHat8 系の OS (CentOS/Rocky Linux/Alm...

用語の整理と今回の手順概要

まずは「ホスト (=監視対象)」側で Zabbix エージェントをセットアップします。その後、Zabbix サーバ側で以下の概念図のように、Zabbix サーバ側でホストグループの作成、テンプレートの設定、ホストの設定を行います。

監視項目のセットアップは大変なので、プリセットのテンプレートを使って監視を開始します。

内容としては CPU, メモリ, ディスク, Network の消費量などです。

SELinux の Permissive 化

zabbix 6.0 で SELinux ポリシーがパッケージとして配布されているようですが、これを適用しても zabbix エージェントでアクセス拒否が観測されています。(Zabbix サーバとしては今のところ問題なし)

そのため、Zabbix エージェントを入れるサーバでは SELinux を Permissive にするか、ポリシーを手動で追加適用しなければならなそうです。(もしくは SNMP エージェントによる監視にするか)

Zabbix エージェントのインストール

監視対象の CentOS8 にて以下の手順でコマンドを実行していきます。

[zabbix agent のインストール]

# rpm -Uvh http://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
# dnf clean all
# dnf -y install zabbix-agent zabbix-get

[サービス自動起動と firewalld 設定追加]

# systemctl enable zabbix-agent --now
# firewall-cmd --add-port=10050/tcp --permanent
# firewall-cmd --reload

[Zabbix Agent の config ファイル設定]

Zabbix サーバが 192.168.1.40 である場合、以下のように設定変更します。

# vi /etc/zabbix/zabbix_agentd.conf
~~~
	Server=192.168.1.40
~~~
	ServerActive=192.168.1.40
	[Esc -> :wq]

# systemctl restart zabbix-agent

Zabbix 側のホスト設定

Zabbix の Web UI にログインし、「設定」⇒「ホスト」から「ホストの作成」をクリックします。

「ホスト名」に Linux の hostname 等わかりやすい名前を付けます。表示名は任意です。「グループ」はホストグループのことです。前述の通り、タグのような扱いです。

また、「エージェント」には監視対象のホストの IP アドレスを記述します (ここでは 192.168.1.41 としています)。

ここまで投入したら、次に上部ペインの「テンプレート」をクリックします。(「追加」ボタンはクリックしません。)

「新規テンプレートをリンク」のところで "Linux" と打つと候補が出てきます。今回は「Template OS Linux by Zabbix agent」を選択します。

そして「追加」ボタンをクリックします。

これで少し時間をおけば左ペイン「監視データ」⇒「ホスト」の「エージェントの状態」のところで ZBX グリーン (正常) になっているのが見えます。

アイテムとトリガーとアクション

アイテム

「アイテム」とは「CPU の使用率を計測する」だとか「メモリの利用率を計測する」といった監視内容を記述したものですが、アイテムには「トリガー」が紐づくことがあります。

下記の図では先ほどの "Template OS Linux SNMP" テンプレートであらかじめ設定されていたアイテムの一覧です。「トリガー」列には紐づけられたトリガーの数が示されています。(空欄の場合はトリガーは紐づいていません。)

トリガー

トリガーとは、アイテムの閾値を設定し、その閾値に達した時の「深刻度」を定義したものです。テンプレートに含まれるトリガーの定義は、上部ペインの「トリガー」タブで確認できます。

閾値には {$MEMORY.UTIL.MAX} 等のマクロ変数が使われていますが、これらの定義は「マクロ」タブで確認できます。

アクション

閾値に達した場合、デフォルトでは左ペイン「監視データ」の「障害」のところなどで表示されるようになりますが、それ以外には追加設定により、メール送信などの「アクション」を設定することが多いです。

アクションの設定は左ペイン「設定」⇒「アクション」にて右上の「アクションの作成」から行います。

以下の例では、トリガーの深刻度が「警告」以上の場合に Administrators グループに E メールを送る設定例です。

名前に「警告以上はメール」、実行条件で「追加ボタン」をクリックし、「タイプ」に "トリガーの深刻度"、「オペレータ」に "以上"、深刻度に "警告" をセットし、「追加」ボタンをクリックします。

続いて「実行内容」タブです。実行内容、復旧時の実行内容、更新時の実行内容それぞれに必要な分だけ「追加」ボタンをクリックします。

「実行内容のタイプ」として "メッセージの送信"、「ユーザーグループに送信」として "Zabbix administrators"、「次のメディアのみ使用」として "Email"、実行条件に "イベント未確認" をそれぞれセットして「Add」ボタンをクリックします。

なお、各ユーザのメールアドレスは左ペイン「管理」⇒「ユーザー」の上部ペイン「メディア」タブにて設定し、

SMTP サーバの設定などについては同じく「管理」⇒「メディアタイプ」の Email にてセットアップします。

コメント

タイトルとURLをコピーしました