0
0

More than 1 year has passed since last update.

Amazon Linux 2にZabbix 6.0.0 alpha3 rpm版を(強引に)インストールしてみた

Posted at

Amazon Linux 2にZabbix 6.0.0 alpha3 rpm版を(強引に)インストールした時のメモです。
強引にインストールして起動出来る事までを確認しただけなので
動作保障はありません。
またコンパイルからZabbixサーバーの起動までをトライアル・アンド・エラーで行ったので費用をかけないようEC2ではなく手持ちのKVMゲストイメージで検証しました。

  • amzn2-kvm-2.0.20210617.0-x86_64.xfs.gpt.qcow2
Amazon Linux 2
Kernel 4.14.232-177.418.amzn2.x86_64 on an x86_64

amzn2 login:

パッケージを最新化

$ sudo yum update -y
$ sudo systemctl reboot

開発ツールをインストール

$ sudo yum groupinstall -y "Development Tools"

EPELリポジトリをインストール

$ sudo amazon-linux-extras install -y epel

Software Collections(RHELSCとCentOS SCLo SIG)のリポジトリをインストール

$ sudo yum install -y http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
$ sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm

MySQL 8.0をインストールしてPATHを設定

$ sudo yum install -y rh-mysql80
$ echo 'export PATH=$PATH:/opt/rh/rh-mysql80/root/bin' | sudo tee /etc/profile.d/mysql80.sh
$ source /etc/profile.d/mysql80.sh

MySQL 8.0を起動して初期設定

$ sudo systemctl enable rh-mysql80-mysqld --now
$ mysql_secure_installation

Zabbixのコンパイルに必要なパッケージをインストール

$ sudo yum install -y \
        pcre-devel \
        openssl-devel \
        policycoreutils-devel \
        sqlite-devel \
        libxml2-devel \
        unixODBC-devel \
        net-snmp-devel \
        libssh2-devel \
        OpenIPMI-devel \
        libevent-devel \
        openldap-devel \
        libcurl-devel \
        mariadb-devel \
        java-1.8.0-openjdk-devel \
        postgresql-devel \
        gnutls-devel \
        libssh-devel \
        nginx-filesystem \
        rh-php73-php-bcmath \
        rh-php73-php-common \
        rh-php73-php-fpm \
        rh-php73-php-gd \
        rh-php73-php-json \
        rh-php73-php-ldap \
        rh-php73-php-mbstring \
        rh-php73-php-mysqlnd \
        rh-php73-php-pdo \
        rh-php73-php-xml \
        rh-php73-php-zip

最新版のGoをインストールしてPATHを設定

$ curl -L -O https://golang.org/dl/go1.17.1.linux-amd64.tar.gz
$ sudo tar xzf go1.17.1.linux-amd64.tar.gz -C /usr/local/
$ echo export PATH=\$PATH:/usr/local/go/bin | sudo tee /etc/profile.d/golang.sh
$ source /etc/profile.d/golang.sh

Zabbixのソースをダウンロードして展開

$ curl -O https://repo.zabbix.com/zabbix/5.5/rhel/7/SRPMS/zabbix-6.0.0-0.3alpha3.el7.src.rpm
$ rpm -ivh zabbix-6.0.0-0.3alpha3.el7.src.rpm
$ cd rpmbuild/SPECS

AmazonLinux2(RHEL7相当?)でもコンパイルできるよう強引にSPECファイルを編集

$ cp -a zabbix.spec zabbix.spec.orig
$ cat zabbix.spec.orig | sed \
        -e 's/>= 8/>= 7/g' \
        -e 's/postgresql-devel .*$/postgresql-devel/' \
        -e 's/libssh-devel .*$/libssh-devel/' \
        -e 's/\([ \t]\)php-/\1rh-php73-php-/g' \
        | grep -v mariadb-connector-c-devel \
        > zabbix.spec
$ diff zabbix.spec.orig zabbix.spec

Zabbixをコンパイル

$ rpmbuild --define 'alphatag alpha3' -ba zabbix.spec

Zabbixをインストール

$ cd ../RPMS
$ sudo yum localinstall -y \
        x86_64/zabbix-agent2-* \
        x86_64/zabbix-get-* \
        x86_64/zabbix-sender-* \
        x86_64/zabbix-server-mysql-* \
        x86_64/zabbix-web-japanese-* \
        x86_64/zabbix-web-mysql-* \
        noarch/zabbix-apache-conf-* \
        noarch/zabbix-sql-scripts-* \
        noarch/zabbix-web-6* \
        noarch/zabbix-web-deps-* \
        noarch/zabbix-web-mysql-*

Zabbix用DBの設定

$ mysql -u root -p

mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '(接続パスワード)';
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit

$ zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbix zabbix -p
Enter password: (接続パスワード)


$ echo DBPassword=(接続パスワード) | sudo tee -a /etc/zabbix/zabbix_server.conf

php-fpmの設定

$ sudo cp -a /etc/php-fpm.d/zabbix.conf /etc/php-fpm.d/zabbix.conf.orig
$ cat /etc/php-fpm.d/zabbix.conf.orig | sed 's#/run/#/var/opt/rh/rh-php73/run/#' | sudo tee /etc/php-fpm.d/zabbix.conf
$ diff /etc/php-fpm.d/zabbix.conf.orig /etc/php-fpm.d/zabbix.conf
$ sudo ln -s /etc/php-fpm.d/zabbix.conf /etc/opt/rh/rh-php73/php-fpm.d/

Zabbixサーバーを起動

$ sudo systemctl restart zabbix-server httpd rh-php73-php-fpm
$ sudo systemctl enable zabbix-server httpd rh-php73-php-fpm

Zabbixエージェントを起動

$ sudo systemctl restart zabbix-agent2
$ sudo systemctl enable zabbix-agent2

Zabbix初期設定

ブラウザで http://(ZabbixサーバーのIPアドレス)/zabbix/ にアクセスし
デフォルトの言語 "日本語(ja_JP)" を選択して「次のステップ」をクリック
zabbix-1.png

前提条件チェックがすべて OK を確認して「次のステップ」をクリック
zabbix-2.png

Zabbix用DBの接続パスワードを入力して「次のステップ」をクリック
zabbix-3.png

Zabbixサーバーの詳細画面でホスト名を設定できます。今回はとくに変更せず「次のステップ」をクリック
zabbix-4.png

デフォルトのタイムゾーン "(UTC+09:00) Asia/Tokyo"を選択して「次のステップ」をクリック
zabbix-5.png

Zabbix用DBと設定を確認して「次のステップ」をクリック
zabbix-6.png

インストールが完了したら「終了」をクリック
zabbix-7.png

Adminとデフォルトパスワードでサインイン
zabbix-8.png

ダッシュボードが無事表示できました。
zabbix-9.png

Zabbixサーバーで起動したエージェントも認識しています。
zabbix-10.png

RHEL7系

一応Amazon Linux 2上でv6.0.0のZabbixサーバーとZabbixエージェントの起動確認が出来ましたが、オフィシャルサイトのSPECファイルにはrhel >= 8の場合にサーバーパッケージを作成するように書かれているので、Zabbix v6.0 以降ではRHEL7系はオフィシャル対象外になっちゃうんでしょうかね?

%if 0%{?rhel} >= 8
%{!?build_web_service: %global build_web_service 1}
%endif

%if 0%{?rhel} >= 8
%{!?build_server: %global build_server 1}
%{!?build_frontend: %global build_frontend 1}
%endif

alpha版だけならよいのですが、、、正式版がリリースされるまでもう少し調査してみます。

0
0
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
0