目次~
#Contents
*概要 [#zdbebd39]
**前提 [#u4fa77d0]
組み込み用Linuxディストリビューション「MontaVista Linux」で動作するZabbix Agentのコンパイル手順。~
**環境 [#d91ab439]
|Hardware|玄箱HG|
|CPU|ARMv7 Processor rev 4 (v7l)|
|OS|CentOS Linux release 7.2.1511 (Core) |
|ZABBIX|zabbix-3.0.28|
*導入手順 [#vdba311d]
**環境準備 [#r2b518f2]
初期状態では開発環境が組み込まれていないため、玄箱付属のCD-ROMからコンパイル済みのバイナリをシステムに組み込む必要がある。~
-1. 玄箱付属のCD-ROMの「binary」配下を/mnt/share以下にコピーする
-2. コピーしたバイナリを展開する(全てが必要という訳ではないが、細かいトラブルを避けるため全て展開する)
cd /mnt/share/binary
~
tar xfvz gcc-2.95.3.tar.gz -C /
tar xfvz make-3.79.1.tar.gz -C /
tar xfvz glibc-2.2.3.tar.gz -C /
tar xfvz ntp-4.0.99g.tar.gz -C /
tar xfvz g++-2.95.3.tar.gz -C /
tar xfvz autoconf-2.13.tar.gz -C /
tar xfvz automake-1.4p4.tar.gz -C /
tar xfvz binutils-2.10.91.0.2.tar.gz -C /
tar xfvz bison-1.28.tar.gz -C /
tar xfvz bzip2-1.0.2.tar.gz -C /
tar xfvz diff-2.7.tar.gz -C /
tar xfvz flex-2.5.4.tar.gz -C /
tar xfvz gdb-5.1.tar.gz -C /
tar xfvz gettext-0.10.35.tar.gz -C /
tar xfvz libgdbm-1.7.3.tar.gz -C /
tar xfvz libstdc++2.10-2.95.3.tar.gz -C /
tar xfvz m4-1.4.tar.gz -C /
tar xfvz patch-2.5.4.tar.gz -C /
tar xfvz perl-5.6.1.tar.gz -C /
tar xfvz python-2.0.tar.gz -C /
tar xfvz textutils-2.0.tar.gz -C /
**ユーザ作成 [#d211f429]
エージェントプログラムを稼動させる専用のユーザを作成する。
groupadd -g 300 zabbix
useradd -u 300 -g zabbix -d /usr/local/zabbix -s /sbin/nologin zabbix
**ディレクトリ作成 [#y4589b3e]
デーモンを動作させる上で必要なディレクトリを作成する。
mkdir /etc/zabbix
mkdir /var/run/zabbix
mkdir /var/log/zabbix
touch /var/log/zabbix/zabbix_agent.log
chown -fR zabbix.zabbix /var/run/zabbix
chown -fR zabbix.zabbix /var/log/zabbix
**コンパイル [#k1af3a09]
Zabbixのソースコードは、configure内にエージェントのソースコードも格納されているため、これをコンパイルして使用する。~
tar xfvz zabbix-3.2.2.tar.gz
cd zabbix-3.2.2
configureオプションでエージェントのコンパイルのみを指定する。
./configure --enable-agent
make
make install
設定ファイルを所定位置に配置する
cd /usr/local/src/zabbix
cp ./misc/conf/zabbix_agentd.conf /etc/zabbix/
**サービス登録 [#jf01f674]
systemd向けの設定は同梱されていないため、手動で作成する。
cat <<EOF > /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agentd
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
PIDFile=/var/run/zabbix/zabbix_agentd.pid
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
自動起動を設定。
systemctl enable zabbix-agent.service
**起動 [#a1221e20]
エージェントを起動する。
systemctl start zabbix-agent.service
systemctl status zabbix-agent.service
*参考 [#g78487f0]
**エラー [#jeb79709]
configure実行時に以下のエラーが出る場合、gccが導入されていない。~
yumでgccのパッケージをインストールする。~
# ./configure --enable-agent
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
configure: Configuring Zabbix 3.2.2
checking whether make sets $(MAKE)... (cached) yes
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... armv7l-unknown-linux-gnueabihf
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/local/src/zabbix-3.2.2':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details