概要
Zabbixは、WEBインターフェースをベースとした分散システム監視およびネットワーク監視機能を提供するエンタープライズ向けのオープンソースソリューションです。さまざまなネットワークパラメータを監視し、サーバーシステムの安全な運用を保証するとともに、柔軟な通知メカニズムを提供して、システム管理者が存在するさまざまな問題を迅速に特定し解決できるようにします。本記事では、OceanBaseデータベースをメタデータベースとして使用してZabbix監視システムをデプロイする方法について説明します。
バージョン互換性
- OceanBaseデータベースのバージョン:V4.2.1以降
- Zabbixのバージョン:7.x以降
前提条件
Zabbixを使用してOceanBaseデータベースを監視する前に、次のことを確認してください:
- OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。テナント作成の詳細については、テナントの作成を参照してください。
手順
ステップ1:データベース接続文字列の取得
OceanBaseデータベースのデプロイ担当者から接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:接続IPアドレス。ODP接続の場合はODPアドレスを使用し、直接接続の場合はOBServer IPを使用します。$port:接続ポート。ODPのデフォルトは2883、直接接続のデフォルトは2881です。$database_name:データベース名。注意
テナントに接続するユーザーには、データベースに対する
CREATE、INSERT、DROP、およびSELECT権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:接続アカウント。ODP形式:ユーザー@テナント#クラスタまたはクラスタ:テナント:ユーザー。直接接続形式:ユーザー@テナント。$password:アカウントのパスワード。
接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2883 -utest_user001@mysql001 -p****** -Dtest
ステップ2:Zabbixのインストールと設定
本記事では、Ubuntu 22.04 オペレーティングシステムにZabbix 7.4をインストールする例を示します。操作は以下の通りです:
1. Zabbix公式リポジトリの追加
wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb
apt update
2. Zabbix server、Webフロントエンド、agentのインストール
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
3. データベースユーザーの作成と権限付与
-- OceanBaseデータベースへの接続
-- mysql -h$host -P2883 -utest_user001@mysql001 -p****** -Dtest
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'%' identified by '$zabbix_password';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> quit;
4. OceanBaseでZabbix SQLスクリプトの初期化
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql -h$host -P$odp_port -uzabbix@mysql001 -p$zabbix_password -D zabbix --default-character-set=utf8mb4
5. Zabbix serverのデータベース設定
設定ファイル /etc/zabbix/zabbix_server.conf を編集します:
# DBHost=
DBHost=$host
# DBPassword=
DBPassword=$zabbix_password
# DBPort=
DBPort=$odp_port
DBHostはOceanBase接続文字列の $host です。例:10.10.10.1。 DBPortはOceanBase ODPポートです。例:2883。 DBPasswordはデータベースユーザーzabbixのパスワードです。
6. Zabbix serverとagentプロセスの起動
Zabbix serverとagentプロセスを起動し、システム起動時の自動起動を設定します:
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
# zabbixが正常に起動したか確認する
systemctl status zabbix-server.service
ステップ3:Zabbix Webインターフェースにアクセスしてインストールを完了する
ブラウザでZabbixサービスのアドレスにアクセスします:http://localhost/zabbix
- Configure DB connectionページでデータベース接続を設定します:
- Database type:MySQLを選択します
- Database host:OceanBaseデータベースの接続アドレスを入力します
- Database port:OceanBaseデータベースODP接続ポートを入力します
- Database name:OceanBaseデータベース名を入力します
- User:OceanBaseデータベースのユーザー名を入力します
- Password:OceanBaseデータベースのパスワードを入力します
- Next stepをクリックし、最後にFinishをクリックしてインストールを完了します
ステップ4:Zabbixにログインして使用する
- インストールが完了したら、デフォルトの資格情報を使用してZabbixにログインします。
- ユーザー名:Admin
- パスワード:zabbix
- ログイン後、
Monitoring/Hostsをクリックすると、Zabbix Serverが稼働しているホストの関連指標を確認できます。
よくある質問
Q1:MySQLデータベースのバージョンがサポートされていないため、Zabbixサーバーを起動できません (5.06.25)
原因:Zabbixは特定のバージョンのMySQL互換性が必要です。
解決策:ODPパラメータを変更し、sysテナントにログインしてmysql_versionパラメータを変更します:
obclient --default-character-set=utf8mb4 -u$user_name -p$password -h$host -P$port
alter proxyconfig set mysql_version='8.0.30';
Q2:zabbix SQLスクリプトの初期化にタイムアウトが発生しました
原因:SQLスクリプトの実行時間が長すぎて、デフォルトのタイムアウト設定を超えました。
解決策:Global ob_query_timeoutまたはquery_timeoutを増やします:
obclient -h$host -P$port -uroot@mysql001 -p$password -e 'set global ob_query_timeout=1000000000;'