LoginSignup
0
1

More than 3 years have passed since last update.

CentOS 7 on Raspberry Pi 4 に zabbix4.4系列を入れた話

Last updated at Posted at 2021-03-12

2020年春先は、ソースコードをコンパイルしてインストールしました。今回は、src.rpmファイルから rpm を作成してインストールしたことを記録として残しおきます。

src.rpm から rpm を作成するのに次の記事を参考にさせていただきました。

【簡単に解説】RPMパッケージを作成する方法

まずは、src.rpm から rpm を作成するための環境を揃えます。

[root@mame-c12 ~]# yum install rpm-build
[root@mame-c12 ~]# yum groupinstall 'Development tools'

続いて、zabbix の src.rpm をダウンロードします。
今回、CentOS へ 4.4系列 をインストールするので以下のURLから適当なマイナーリビジョンの src.rpm を選択しました。

Zabbix Official Repository | Index of /zabbix/4.4/rhel/7/SRPMS/

[root@mame-c12 ~]# wget https://repo.zabbix.com/zabbix/4.4/rhel/7/SRPMS/zabbix-4.4.10-1.el7.src.rpm

wget コマンドがインストールされていない場合は、以下を参考にyumでインストールおく。

[root@mame-c12 ~]# yum install wget

これでホームディレクトリに、zabbix-4.4.10-1.el7.src.rpm がダウンロードされています。

続いて、src.rpm を展開します。

[root@mame-c12 ~]# rpm -ivh zabbix-4.4.10-1.el7.src.rpm

展開途中に 警告 が出ますが気にしなくても大丈夫でした。

ホームディレクトリに、rpmbuild ディレクトリが作成されています。

[root@mame-c12 ~]# ls -l
合計 18824
-rw-r--r--. 1 root root      134 10月 30 01:29 README
-rw-r--r--. 1 root root     7302 10月 30 01:29 anaconda-ks.cfg
drwxr-xr-x  8 root root     4096  3月 12 07:34 rpmbuild
-rw-r--r--  1 root root 19256698  6月 29  2020 zabbix-4.4.10-1.el7.src.rpm
[root@mame-c12 ~]#

src.rpm から rpm を作成するには、◯◯◯.spec というファイルを読み込み、そのファイルに記載されている情報をもとに、コンパイル(make)などが実行されます。
spec ファイルのあるディレクトリへ移動します。

[root@mame-c12 ~]# cd rpmbuild/SPECS/
[root@mame-c12 SPECS]# ls
zabbix.spec
[root@mame-c12 SPECS]#

あとは、このspec ファイルを指定して、rpmbuild コマンドを実行するのみ。
と思っていたら、必要なライブラリが入っていなくビルドに失敗しました。

[root@mame-c12 SPECS]# rpmbuild -ba zabbix.spec
mysql-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
postgresql-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
net-snmp-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
openldap-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
gnutls-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
sqlite-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
unixODBC-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
curl-devel >= 7.13.1 は zabbix-4.4.10-1.el7.aarch64 に必要とされています
OpenIPMI-devel >= 2 は zabbix-4.4.10-1.el7.aarch64 に必要とされています
libssh2-devel >= 1.0.0 は zabbix-4.4.10-1.el7.aarch64 に必要とされています
java-devel >= 1.6.0 は zabbix-4.4.10-1.el7.aarch64 に必要とされています
libxml2-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています
libevent-devel は zabbix-4.4.10-1.el7.aarch64 に必要とされています

ライブラリを一つ一つ確認しながらyum でインストールしました。

[root@mame-c12 SPECS]# yum install mysql-devel
[root@mame-c12 SPECS]# yum install postgresql-devel
[root@mame-c12 SPECS]# yum install net-snmp-devel
 :
 :

再度、rpmbuild コマンドで、src.rpm から rpm を作成し、rpm が完成です。結構、時間がかかりました。

[root@mame-c12 SPECS]# rpmbuild -ba zabbix.spec
 :
 :
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.SkQC7v
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd zabbix-4.4.10
+ rm -rf /root/rpmbuild/BUILDROOT/zabbix-4.4.10-1.el7.aarch64
+ exit 0
[root@mame-c12 SPECS]#

完成した rpm はディレクトリ /root/rpmbuild/RPMS/aarch64 に格納されています。

[root@mame-c12 aarch64]# pwd
/root/rpmbuild/RPMS/aarch64
[root@mame-c12 aarch64]# ls
zabbix-agent-4.4.10-1.el7.aarch64.rpm         zabbix-proxy-pgsql-4.4.10-1.el7.aarch64.rpm
zabbix-debuginfo-4.4.10-1.el7.aarch64.rpm     zabbix-proxy-sqlite3-4.4.10-1.el7.aarch64.rpm
zabbix-get-4.4.10-1.el7.aarch64.rpm           zabbix-sender-4.4.10-1.el7.aarch64.rpm
zabbix-java-gateway-4.4.10-1.el7.aarch64.rpm  zabbix-server-mysql-4.4.10-1.el7.aarch64.rpm
zabbix-js-4.4.10-1.el7.aarch64.rpm            zabbix-server-pgsql-4.4.10-1.el7.aarch64.rpm
zabbix-proxy-mysql-4.4.10-1.el7.aarch64.rpm
[root@mame-c12 aarch64]#

rpm が作成できたので、agent も server も rpm コマンドでインストールすることができるようになりました。

[root@mame-c12 aarch64]# rpm -ivh zabbix-agent-4.4.10-1.el7.aarch64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:zabbix-agent-4.4.10-1.el7        ################################# [100%]
[root@mame-c12 aarch64]#

zabbix agent が ディレクトリ /etc/zabbix にインストールされます。

zabbix_agentd.conf の Server、Hostname、ServerActive 辺りの値は動かす環境に合わせて編集してください。

[root@mame-c12 zabbix]# pwd
/etc/zabbix
[root@mame-c12 zabbix]# ls -l
合計 20
-rw-r--r-- 1 root root 13936  3月 12 07:49 zabbix_agentd.conf
drwxr-xr-x 2 root root  4096  3月 12 07:49 zabbix_agentd.d
[root@mame-c12 zabbix]#

zabbix agent は、デフォルトでは、TCP 10050 ポートで、zabbix server と通信を行います。
そのため、firewall の設定で、10050 ポートを開けるか、firewall に予め用意されている、zabbix agent 用のサービスを firewall に登録する必要があります。

[root@mame-c12 zabbix]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports: 22/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ポート番号指定で開ける場合

[root@mame-c12 zabbix]# firewall-cmd --zone=public --permanent --add-port=10050/tcp
success
[root@mame-c12 zabbix]# firewall-cmd --reload
success
[root@mame-c12 zabbix]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports: 22/tcp 10050/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@mame-c12 zabbix]#

サービス登録する形でポートを開ける場合

[root@mame-c12 zabbix]# firewall-cmd --zone=public --add-service=zabbix-agent --permanent
success
[root@mame-c12 zabbix]# firewall-cmd --reload
success
[root@mame-c12 zabbix]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh zabbix-agent
  ports: 22/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@mame-c12 zabbix]#

最後に、zabbix agent を起動します。

[root@mame-c12 zabbix]# systemctl start zabbix-agent
[root@mame-c12 zabbix]# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
   Active: active (running) since 金 2021-03-12 08:46:46 UTC; 15s ago
  Process: 14534 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 14536 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           tq14536 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           tq14537 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           tq14538 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           tq14539 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           tq14540 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           mq14541 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

 3月 12 08:46:46 mame-c12 systemd[1]: Starting Zabbix Agent...
 3月 12 08:46:46 mame-c12 systemd[1]: zabbix-agent.service: Supervising process 14536 which is...its.
 3月 12 08:46:46 mame-c12 systemd[1]: Started Zabbix Agent.
Hint: Some lines were ellipsized, use -l to show in full.
[root@mame-c12 zabbix]#

自動起動にしたい場合

[root@mame-c12 zabbix]# systemctl enable zabbix-agent

サーバー側のインストールは、またの機会に記載します。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1