はじめに
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環境においても柔軟に対応可能なモニタリングシステムを構築できます。
コメント