このページでは、MySQL サーバーの基本的な監視を開始するために必要な手順を順を追って説明します。
MySQL サーバーを監視するには、Zabbix エージェント、Zabbix エージェント 2、または Open Database Connectivity (ODBC) 標準など、いくつかの方法があります。 このガイドでは主に、Zabbix エージェント 2 を使用して MySQL サーバーを監視する方法に焦点を当てています。Zabbix エージェント 2 は、さまざまな設定をシームレスに行えるため、推奨 される方法です。 ただし、このページでは その他の方法 についても説明していますので、要件に最適な方法を自由に選択してください。
このガイドの対象者
このガイドは、Zabbixを初めて使用するユーザー向けに設計されており、MySQLサーバーの基本的な監視を有効にするために必要な最小限の手順が記載されています。 より詳細なカスタマイズオプションや、より高度な設定が必要な場合は、Zabbixマニュアルの設定セクションを参照してください。
前提条件
このガイドを進める前に、お使いのOSの手順に従って、Zabbixサーバー、Zabbixフロントエンド、Zabbixエージェント2をダウンロードしてインストールする必要があります。
お使いのOSの設定によっては、このガイドの手順が若干異なる場合があります。このガイドは以下の設定に基づいています。
MySQL サーバーを監視するには、Zabbix がサーバーとそのプロセスにアクセスする必要があります。 MySQL インストールには、必要なアクセスレベルを持つユーザー(Zabbix インストール時に作成されたユーザー"zabbix")が既に存在します。 しかし、このユーザーには、単純な監視に必要な権限(データベースの DROP 権限、テーブルからのエントリの DELETE 権限など)よりも多くの権限が付与されています。 そのため、MySQL サーバーの監視のみを目的とした MySQL ユーザーを作成する必要があります。
1. MySQL クライアントに接続し、"zbx_monitor"ユーザーを作成します("zbx_monitor"ユーザーの <password> は任意のパスワードに置き換えてください)。 そして、そのユーザーに必要な権限を GRANT します。
mysql -u root -p
# パスワードを入力:
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
mysql> quit;
ユーザーを作成したら、次の手順に進みます。
1. Zabbix フロントエンドにログインします。
2. Zabbix ウェブインターフェースで ホストを作成 します。
おめでとうございます!この時点で、Zabbix はすでに MySQL サーバーを監視しています。
収集されたメトリクスを表示するには、監視 → ホスト メニューセクションに移動し、ホストの横にある ダッシュボード をクリックします。
この操作により、MySQL サーバーから収集された最も重要なメトリクスを含むホストダッシュボード(テンプレートレベルで設定)が表示されます。
または、モニタリング → ホスト メニューセクションから、最新データ をクリックすると、収集された最新のメトリックがすべてリストに表示されます。 なお、MySQL: innodb_log_file_size の計算値の項目には、過去1時間のデータから計算されるため、データがないはずです。
Zabbixは、様々な方法でインフラストラクチャの問題を通知できます。
このガイドでは、メールアラートを送信するための基本的な設定手順を説明します。
1. ユーザー設定 → プロファイルに移動し、メディアタブに切り替えてメールアドレスを追加します。
2. 問題通知の受信のガイドに従います。
次回以降、Zabbixが問題を検出すると、メールでアラートが届くようになります。
設定をテストするために、Zabbix フロントエンドでホスト設定を更新することで、実際の問題をシミュレートできます。
1. Zabbix で MySQL サーバーのホスト設定を開きます。
2. マクロ タブに切り替えて、継承されたホストマクロ を選択します。
3. 例えば、以前に設定した {$MYSQL.USER} マクロ値の横にある 変更 をクリックし、別の MySQL ユーザー名を設定します。
4. 更新 をクリックして、ホスト設定を更新します。
5. しばらくすると、Zabbix は MySQL サーバーに接続できないため、"MySQL: サービスがダウンしています"という問題を検出します。 この問題は 監視 → 問題 に表示されます。
アラートが設定済みの場合は、問題通知も受信します。
6. マクロの値を以前の値に戻して問題を解決し、MySQLサーバーの監視を継続します。
MySQL サーバーを Zabbix エージェント 2 で監視する代わりに、Zabbix エージェントまたは Open Database Connectivity (ODBC) 標準を使用することもできます。 Zabbix エージェント 2 の使用が推奨されますが、Zabbix エージェント 2 をサポートしていない設定や、カスタムアプローチが必要な設定もあります。
Zabbix エージェントと ODBC の主な違いはデータ収集方法にあります。Zabbix エージェントは MySQL サーバーに直接インストールされ、組み込み機能を使用してデータを収集します。一方、ODBC は ODBC ドライバーを使用して MySQL サーバーへの接続を確立し、SQL クエリを使用してデータを取得します。
設定手順の多くは Zabbix エージェント 2 を使用して MySQL サーバーを監視する場合と似ていますが、いくつか重要な違いがあります。MySQL サーバーを監視するには、Zabbix エージェントまたは ODBC を設定する必要があります。 以下の手順では、これらの 違い について説明します。
Zabbix エージェントで MySQL サーバーを監視するには、お使いの OS の手順に従って、Zabbix サーバー、Zabbix フロントエンド、および Zabbix エージェントを ダウンロードしてインストール する必要があります。
必要な Zabbix コンポーネントのインストールが完了したら、MySQL ユーザーの作成 セクションの説明に従って MySQL ユーザーを作成する必要があります。
MySQL ユーザーを作成したら、Zabbix エージェントが MySQL サーバーに接続して監視できるように設定する必要があります。 これには、カスタムエージェントチェックを実行するための複数の ユーザーパラメータ の設定と、以前に作成した"zbx_monitor"ユーザーとして MySQL サーバーに接続するために必要な認証情報を Zabbix エージェントに提供することが含まれます。
Zabbix エージェントの設定
1. Zabbix エージェントの追加設定ディレクトリに移動します。
cd /usr/local/etc/zabbix/zabbix_agentd.d
Zabbix エージェントの追加設定ディレクトリは、Zabbix エージェント設定ファイル (zabbix_agentd.conf) と同じディレクトリに配置する必要があります。 OS と Zabbix のインストール状況によっては、このディレクトリの場所がこのガイドで指定されている場所と異なる場合があります。 デフォルトの場所については、Zabbix エージェント設定ファイルの Include
パラメータを確認してください。
MySQL サーバーの監視に必要なすべてのユーザーパラメータを Zabbix エージェント設定ファイルで定義するのではなく、追加設定ディレクトリ内の別のファイルで定義します。
2. Zabbixエージェントの追加設定ディレクトリにtemplate_db_mysql.confファイルを作成します。
3. Zabbixリポジトリにあるtemplate_db_mysql.confファイルの内容を、作成したtemplate_db_mysql.confファイルにコピーし、保存します。
4. Zabbixエージェントを再起動して設定を更新します。
Zabbixエージェントのユーザーパラメータを設定したら、ZabbixエージェントがMySQLサーバーにアクセスするための認証情報の設定に進みます。
5. Zabbixエージェントのホームディレクトリに移動します(システムに存在しない場合は作成する必要があります。デフォルトは/var/lib/zabbixです)
6. Zabbixエージェントのホームディレクトリに.my.cnfファイルを作成します。
7. 以下の内容を.my.cnfファイルにコピーします(<password>は「zbx_monitor」ユーザーのパスワードに置き換えてください)
Zabbixフロントエンドの設定とテスト
Zabbixフロントエンドを設定するには、Zabbixフロントエンドの設定セクションの手順に従ってください。ただし、以下の点に注意してください。
Zabbixフロントエンドの設定が完了すると、収集されたメトリックの表示と問題アラートの設定が可能になります。
設定をテストするには、設定のテスト セクションの手順に従ってください。ただし、以下の点に注意してください。
ODBC を使用して MySQL サーバーを監視するには、Zabbix サーバーと Zabbix フロントエンドを ダウンロードしてインストール する必要があります。
必要な Zabbix コンポーネントのインストールが完了したら、MySQL ユーザーの作成 セクションの説明に従って MySQL ユーザーを作成する必要があります。
MySQL ユーザーを作成したら、ODBC を設定する必要があります。 これには、最も一般的に使用されているオープンソースの ODBC API 実装の 1 つである unixODBC と unixODBC ドライバーのインストール、および ODBC ドライバー設定ファイルの編集が含まれます。
ODBC の設定
1. unixODBC をインストールします。unixODBC のインストールには、Linux オペレーティング システムのデフォルトのパッケージ リポジトリを使用することをお勧めします。
2. MariaDB unixODBC データベース ドライバーをインストールします。MySQL データベースはインストールされていますが、互換性の問題から MariaDB unixODBC ドライバーが使用されます。
3. ODBC 設定ファイル odbcinst.ini と odbc.ini の場所を確認します。
このコマンドを実行すると、次のような結果が表示されます。
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
...
4. MySQLデータベースを監視するためのODBCドライバーを設定するには、odbcinst.iniファイルに記載されているドライバー名が必要です。
以下のodbcinst.iniファイルの例では、ドライバー名は"MariaDB Unicode"です。
[MariaDB Unicode]
Driver=libmaodbc.so
Description=MariaDB Connector/ODBC(Unicode)
Threading=0
UsageCount=1
5. 以下の内容をodbc.iniファイルにコピーします(<password>は"zbx_monitor"ユーザーのパスワードに置き換えてください)。 このガイドでは、ODBCドライバーと同じマシンにインストールされているMySQLサーバーを監視するために、MySQLサーバーのアドレスとして"127.0.0.1"(localhost)を使用します。 データソース名(DSN)"test"に注意してください。これは、Zabbixフロントエンドの設定を行う際に必要になります。
[test]
Driver=MariaDB Unicode
Server=127.0.0.1
User=zbx_monitor
Password=<password>
Port=3306
Database=zabbix
Zabbixフロントエンドの設定とテスト
Zabbixフロントエンドを設定するには、Zabbixフロントエンドの設定セクションの手順に従ってください。ただし、以下の点に注意してください。
Zabbixフロントエンドの設定が完了したら、収集されたメトリクスの表示、問題アラートの設定、設定のテストを行うことができます。