PR

ArmbianでZabbix Agent 6をソースからコンパイル&設定する方法【NanoPi Neo 2対応】

はじめに

NanoPi Neo 2などのARM環境でZabbix Agentをソースからコンパイルして利用する手順をご紹介します。これにより、Zabbixサーバーと通信し、モニタリング環境を構築できます。
NanoPi Neo 2はArmbianを使用しており、公式のZabbixエージェントが公開されていないため、ソースからビルドしました。

必要なライブラリのインストール

Zabbix Agentをビルドするには、事前に必要なパッケージをインストールします。以下のコマンドを実行してください。

sudo apt update
sudo apt install -y build-essential libpcre3-dev libssl-dev libmysqlclient-dev \
libsnmp-dev libevent-dev libcurl4-openssl-dev

Zabbixソースコードのダウンロード

Zabbixの公式サイトからバージョン6のソースコードをダウンロードします。ここではZabbix 6.0の例を使用します。

wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.21.tar.gz
tar -xvf zabbix-6.0.21.tar.gz
cd zabbix-6.0.21

Zabbix Agentのビルドとインストール

次に、Zabbix Agentのコンパイルを行います。以下のコマンドで--enable-agentオプションを指定し、Zabbix Agentのみをコンパイルしてインストールします。

./configure --enable-agent
make
sudo make install

設定ファイルの編集

インストール後、設定ファイルが/usr/local/etc/zabbix_agentd.confに生成されます。このファイルを編集し、ZabbixサーバーのIPアドレスやホスト名を指定します。

sudo nano /usr/local/etc/zabbix_agentd.conf

設定ファイルに以下のように設定します:

Server=<ZabbixサーバーのIPアドレス>
ServerActive=<ZabbixサーバーのIPアドレス>
Hostname=<このホストのホスト名>

Zabbixユーザーの作成

Zabbix Agentが動作するには、zabbixというユーザーを作成する必要があります。以下のコマンドでユーザーを追加します。

sudo useradd -r -s /bin/false zabbix

次に、設定ファイルの所有者をzabbixユーザーに変更します。

sudo chown zabbix:zabbix /usr/local/etc/zabbix_agentd.conf

Systemdサービスファイルの作成

Zabbix Agentをサービスとして起動できるように、Systemd用のサービスファイルを作成します。

sudo nano /etc/systemd/system/zabbix-agent.service

サービスファイルに以下の内容を記入します:

[Unit]
Description=Zabbix Agent
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/tmp/zabbix_agentd.pid

[Install]
WantedBy=multi-user.target

サービスのリロードと起動

サービスファイルを保存したら、systemdをリロードし、Zabbix Agentのサービスを開始して自動起動を設定します。

sudo systemctl daemon-reload
sudo systemctl enable zabbix-agent
sudo systemctl start zabbix-agent

接続の確認

最後に、Zabbixサーバーと正常に通信できているかを確認します。

sudo systemctl status zabbix-agent

まとめ

この手順で、NanoPi Neo 2上でZabbix Agent 6をコンパイルし、Zabbixサーバーと接続できるようになりました。ARM環境においても柔軟に対応可能なモニタリングシステムを構築できます。

コメント