問題
自作予約システムのMySQLのクエリ重い部分を計測したいと思い、New Relicをインストール。Infrastructureエージェント(大元のやつ)はインストール成功したが、MySQL integrationのインストールで失敗してしまう。
環境
さくらVPS(2GB)
CentOS 7.6
Apache/ 2.4.39
MySQL 5.7.24
PHP 7.3.6
CakePHP 3.6.15
エラーが出た手順
(1)データを取得するために専用のMySQLユーザーを作成
$ sudo mysql -e "CREATE USER 'newrelic'@'localhost' IDENTIFIED BY 'YOUR_SELECTED_PASSWORD';" $ sudo mysql -e "GRANT REPLICATION CLIENT ON *.* TO 'newrelic'@'localhost' WITH MAX_USER_CONNECTIONS 5;" $ sudo mysql -e "GRANT SELECT ON *.* TO 'newrelic'@'localhost' WITH MAX_USER_CONNECTIONS 5;"
この時点で、
$ sudo mysql -u newrelic -p
でログインできることは確認済み。
##(2)MySQL integrationインストール用のコマンドを実行
# curl -Ls https://raw.githubusercontent.com/newrelic/newrelic-cli/master/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=<MY-API-KEY> NEW_RELIC_ACCOUNT_ID=<MY-ACCOUNT-ID> /usr/local/bin/newrelic install -n mysql-open-source-integration
##(3)インストールが進み対話型の入力になる。ここでエラーに。
MySQL Hostname (default: localhost): localhost MySQL port (default: 3306): 3306 MySQL Username: newrelic MySQL Password: [Error]: Provided credentials have no access to mysql. See https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration#config for more info. ==> Installing mysql-open-source-integration...failed. One or more installations failed. Check the install log for more details: /root/.newrelic/newrelic-cli.log New Relic installation complete! Your data is available at https://one.newrelic.com/launcher/nr1-core.explorer?platform[filters]=&platform[accountId]=<MY-ACCOUNT-ID> FATAL We encountered an error during the installation: exit status 2: [Error]: Provided credentials have no access to mysql. See https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration#config for more info.. If this problem persists please visit the documentation and support page for additional help here: https://one.newrelic.com/-/06vjAeZLKjP
#実現したいこと
MySQL integrationのインストールを成功させて、計測できるようにしたい。
#調べたこと、試したこと
##(1)MySQLのポート番号が3306か確認した
# vi /etc/rc.d/iptable.sh
################### # mysql ################### /sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
3306空いてる。
##(2)nri-mysqlをインストールした
下記URLの[ Install and activate ]-[ Linux ] の
- Follow the instructions for installing an integration, using the file name nri-mysql.
から、nri-mysql というのが必要そうなのでインストールしてみた。
$ sudo yum install nri-mysql [sudo] nkamioka のパスワード: 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp-srv2.kddilabs.jp * epel: ftp.riken.jp * extras: ftp-srv2.kddilabs.jp * remi-safe: ftp.riken.jp * updates: ftp-srv2.kddilabs.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ nri-mysql.x86_64 0:1.6.1-1 を インストール --> 依存性解決を終了しました。 依存性を解決しました ============================================================================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================================================================ インストール中: nri-mysql x86_64 1.6.1-1 newrelic-infra 1.7 M トランザクションの要約 ============================================================================================================================================ インストール 1 パッケージ 総ダウンロード容量: 1.7 M インストール容量: 1.7 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. nri-mysql-1.6.1-1.x86_64.rpm | 1.7 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 検証中 : nri-mysql-1.6.1-1.x86_64 1/1 インストール: nri-mysql.x86_64 0:1.6.1-1 完了しました!
##(3)mysql-config.yml ファイルを作成
#cd /etc/newrelic-infra/integrations.d # vi mysql-config.yml
mysql-config.yml の内容は
integration_name: com.newrelic.mysql instances: - name: mysql-server_localhost command: status arguments: hostname: localhost port: 3306 username: newrelic password: MY-PASSWORD remote_monitoring: true extended_metrics: true extended_innodb_metrics: true labels: env: production role: write
##(4)改めてMySQL integrationインストール用のコマンドを実行
# curl -Ls https://raw.githubusercontent.com/newrelic/newrelic-cli/master/scripts/install.sh | bash && sudo NEW_RELIC_API_KEY=<MY-API-KEY> NEW_RELIC_ACCOUNT_ID=<MY-ACCOUNT-ID> /usr/local/bin/newrelic install -n mysql-open-source-integration
[Error]: Provided credentials have no access to mysql. See https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration#config for more info. ==> Installing mysql-open-source-integration...failed.
先ほどと同じエラーが出る。
いい線いってると思ったんですが、解決の糸口が見つかりません。
どなたかわかる方助けてくださーい!
追記(1)
jnchito さんからいただいたコメントに回答いたします。
「MySQL integrationインストール用のコマンドを実行」で書かれているコマンドがどこに載っているのかわからなかったので、記載箇所を教えてください。
ログイン後の管理画面の「データ追加」ボタンから「MySQL」を選択して出てきたコマンドを取得しました。具体的には下記の画面になります。
※非ログインページですと、公式ドキュメントの下記URL部分になるかと思います。
はい、全ての手順を終えた後で
$ sudo systemctl restart newrelic-infra
を試しました。
kamiokanさんが参考にしている手順書がいまいちハッキリしないので、「このドキュメントの通りに進めようとしています」と、URLを明記してもらえるとこちらも回答しやすいかもしれません。( https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/ でしょうか?)
はい、ご推察いただいたページのLinux部分のドキュメントの通り進めようとしています。具体的には下記URLです。
jnchito さん、追加の質問コメントありがとうございます。
追記(2)
jnchito さんの追加の質問への回答です。
エラーメッセージに"Check the install log for more details: /root/.newrelic/newrelic-cli.log"とあります。このログの中身を記載してもらうことは可能でしょうか?
はい、下記がログの中身になります。
time="2021-06-23T14:33:43+09:00" level=info msg="Validating connectivity to the New Relic platform..." time="2021-06-23T14:35:51+09:00" level=fatal msg="We encountered an error during the installation: exit status 2: [Error]: Provided credentials have no access to mysql. See https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration#config for more info.. If this problem persists please visit the documentation and support page for additional help here: https://one.newrelic.com/-/06vjAeZLKjP"
あと、mysql-config.ymlのhostnameをlocalhostではなく、127.0.0.1にしたらどうなるか(引き続きエラーになる場合はメッセージが変わらないかどうか)も教えてください。
mysql-config.ymlのhostnameをlocalhostではなく、127.0.0.1にする、も試してみたのですが、同じエラーメッセージが出てしまいます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/21 18:01
2021/06/23 06:40
2021/06/24 02:50