2024.10.01
【勉強】ミドルウェア・アプリケーションのEOL・EOSLについて学んでみた
2023.09.05
インフラAL2023にzabbix6.0+RDSでHA構成に挑戦してみた
今回LA2023を使ってzabbixのHA構成に挑戦しました。
その際の手順をご紹介させていただきます。
– EC2インスタンスを立てる
– RDSを立てる
– ZABBIXをインストールする
– RDSへ初期スキーマとデータをインポートする
– zabbix_server.confを修正する
※EC2、RDSを立てる作業は省略します。
まずはrootへsudoします。
sudo su -
実施時に公式で確認してください。
https://www.zabbix.com/download
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm dnf clean all
次にZabbixサーバー、フロントエンド、エージェントをインストールします。
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get zabbix-web-japanese
問題: 競合するリクエスト - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.10-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.11-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.12-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.13-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.14-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.15-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.16-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.17-release1.el9.x86_64 に必要です - libldap.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - libldap.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - liblber.so.2()(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - liblber.so.2(OPENLDAP_2.200)(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.18-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.6-2.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.6-2.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.6-2.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.7-1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.7-1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.7-1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.8-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.8-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.8-release1.el9.x86_64 に必要です - libOpenIPMI.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.9-release1.el9.x86_64 に必要です - libOpenIPMIposix.so.0()(64bit) が提供されません zabbix-server-mysql-6.0.9-release1.el9.x86_64 に必要です - libnetsnmp.so.40()(64bit) が提供されません zabbix-server-mysql-6.0.9-release1.el9.x86_64 に必要です (インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみて ください)
依存関係のエラー解消のため下記をインストールしました。
rockyから取得しているのは
Rocky Linuxは、Red Hat Enterprise Linux(RHEL)互換のLinuxディストリビューションでありダウンストリームビルドのためcentos streamから取ってくるよりバグが無さそうだったからです。
rpm -Uvh https://dl.rockylinux.org/pub/rocky/9/AppStream/x86_64/os/Packages/n/net-snmp-libs-5.9.1-9.el9.x86_64.rpm rpm -Uvh https://dl.rockylinux.org/pub/rocky/9/AppStream/x86_64/os/Packages/o/OpenIPMI-libs-2.0.32-3.el9.x86_64.rpm
インストールできているかの確認
dnf install OpenIPMI-libs # Nothing to do. # Complete!
インストールできていたので再度Zabbixサーバー、フロントエンド、エージェントをインストールします。
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get zabbix-web-japanese # Installed: # cairo-1.17.4-3.amzn2023.0.2.x86_64 # dejavu-sans-fonts-2.37-16.amzn2023.0.2.noarch # fontconfig-2.13.94-2.amzn2023.0.2.x86_64 # fonts-filesystem-1:2.0.5-5.amzn2023.0.2.noarch # fping-5.1-1.el9.x86_64 # freetype-2.12.1-3.amzn2023.0.1.x86_64 # gd-2.3.3-5.amzn2023.0.3.x86_64 # glibc-langpack-ja-2.34-52.amzn2023.0.2.x86_64 # google-noto-cjk-fonts-common-20201206-2.amzn2023.0.2.noarch # google-noto-fonts-common-20201206-2.amzn2023.0.2.noarch # google-noto-sans-cjk-ttc-fonts-20201206-2.amzn2023.0.2.noarch # google-noto-sans-vf-fonts-20201206-2.amzn2023.0.2.noarch # graphite2-1.3.14-7.amzn2023.0.2.x86_64 # harfbuzz-7.0.0-2.amzn2023.0.1.x86_64 # jbigkit-libs-2.1-21.amzn2023.0.1.x86_64 # langpacks-core-font-en-3.0-21.amzn2023.0.4.noarch # libX11-1.7.2-3.amzn2023.0.2.x86_64 # libX11-common-1.7.2-3.amzn2023.0.2.noarch # libXau-1.0.9-6.amzn2023.0.2.x86_64 # libXext-1.3.4-6.amzn2023.0.2.x86_64 # libXpm-3.5.15-2.amzn2023.0.1.x86_64 # libXrender-0.9.10-14.amzn2023.0.2.x86_64 # libjpeg-turbo-2.1.4-2.amzn2023.0.2.x86_64 # libpng-2:1.6.37-10.amzn2023.0.2.x86_64 # libssh-0.10.4-3.amzn2023.0.3.x86_64 # libssh-config-0.10.4-3.amzn2023.0.3.noarch # libtiff-4.4.0-4.amzn2023.0.4.x86_64 # libtool-ltdl-2.4.7-1.amzn2023.0.3.x86_64 # libwebp-1.2.4-1.amzn2023.0.3.x86_64 # libxcb-1.13.1-7.amzn2023.0.2.x86_64 # mariadb-connector-c-3.1.13-1.amzn2023.0.3.x86_64 # mariadb-connector-c-config-3.1.13-1.amzn2023.0.3.noarch # php8.1-bcmath-8.1.16-1.amzn2023.0.1.x86_64 # php8.1-gd-8.1.16-1.amzn2023.0.1.x86_64 # php8.1-ldap-8.1.16-1.amzn2023.0.1.x86_64 # php8.1-mysqlnd-8.1.16-1.amzn2023.0.1.x86_64 # pixman-0.40.0-3.amzn2023.0.3.x86_64 # unixODBC-2.3.9-3.amzn2023.0.2.x86_64 # xml-common-0.6.3-56.amzn2023.0.2.noarch # zabbix-agent-6.0.9-release1.el9.x86_64 # zabbix-apache-conf-6.0.18-release1.el9.noarch # zabbix-get-6.0.18-release1.el9.x86_64 # zabbix-selinux-policy-6.0.18-release1.el9.x86_64 # zabbix-server-mysql-6.0.9-release1.el9.x86_64 # zabbix-sql-scripts-6.0.18-release1.el9.noarch # zabbix-web-6.0.18-release1.el9.noarch # zabbix-web-deps-6.0.18-release1.el9.noarch # zabbix-web-japanese-6.0.18-release1.el9.noarch # zabbix-web-mysql-6.0.18-release1.el9.noarch # Skipped: # zabbix-agent-6.0.18-release1.el9.x86_64 # zabbix-server-mysql-6.0.18-release1.el9.x86_64
RDSに接続するためにmariadbをインストールします。
参考
dnf install mariadb # Installed: # mariadb105-3:10.5.18-1.amzn2023.0.1.x86_64 # mariadb105-common-3:10.5.18-1.amzn2023.0.1.x86_64 # perl-Sys-Hostname-1.23-477.amzn2023.0.4.x86_64 # # Complete!
RDSへ接続します
# mysql -h RDSのホスト -uzabbix -p # password mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@'%' identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@'%'; mysql> quit;
RDSを使用する際はデフォルトのパラメータグループではエラーが起きます。
You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
RDSのパラメータグループでlog_bin_trust_function_creatorsを1に設定しましょう
参考
設定の変更が完了したのでZabbix サーバー ホスト上で、初期スキーマとデータをインポートします。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -h RDSのホスト -uzabbix -p zabbix
/etc/zabbix/zabbix_server.conf を編集
vi /etc/zabbix/zabbix_server.conf
以下の項目を変更してください
DBHost=RDSのホスト DBPassword=password HANodeName=zbx01 NodeAddress=同VPNならプライベートIPアドレス:10051
Zabbix サーバーとエージェントのプロセスを開始
systemctl restart zabbix-server zabbix-agent httpd php-fpm systemctl enable zabbix-server zabbix-agent httpd php-fpm
画面で初期設定
http://ipアドレス/zabbix
初期ユーザ:Admin
パスワード:zabbix
今回作成したサーバをAMIから複製し以下を変更してrestartすればHA構成でのzabbix6.0の構築は完了です。
vi /etc/zabbix/zabbix_server.conf
HANodeName=zbx01 NodeAddress=同VPNならプライベートIPアドレス:10051
これでzabbix6.0をHA構成で起動することができました。
http://ipアドレス/zabbix でzabbixを開き[レポート]-[システム情報]を開きます。
[HAクラスター]の欄が有効になっていることを確認します。
画像のように[アクティブ]になってる方のサーバを停止します。
zbx02としたサーバにsshし
systemctl stop zabbix-server
でzabbixサーバを停止しました。
zbx02は停止中になりzbx01がアクティブになっています。
最後にzbx02のサーバでzabbixサーバを再起動します。
systemctl restart zabbix-server
zbx02がスタンバイへ変化しています。
※データを取得するサーバのzabbix_agentd.confには
Server=<zbx01のIP>, <zbx02のIP> ServerActive=<zbx01のIP>, <zbx02のIP>
を記載してください。
これでHA構成の確認ができました。
今回はAL2023を使用してZABBIX6.0でH/A構成にする方法をご紹介させていただきました。
AWSを使用したインフラ構築のご依頼はこちら
その他インフラサービスはこちら
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索