このチュートリアルでは、監視用のプロメテウスとグラファナを統合するとともに、Kubernetes(K8S)クラスターにMySQLをセットアップする方法を説明します。 MySQL、Prometheus、およびGrafanaのBitnami Helmチャートを使用し、MySQLを監視するためのカスタムGrafanaダッシュボードを作成する方法を紹介します。
最初に、mySQLと監視コンポーネントを展開するKubernetes名前空間を作成します。
kubectl create namespace my-lab
名前空間の作成を確認するには、実行してください:
kubectl get namespaces
これは、my-labをクラスター内の名前空間の1つとしてリストする必要があります。
Bitnami Helmチャートを使用して、My-LabネームスペースにMySQLをインストールします。 Bitnamiチャートリポジトリをまだ追加していない場合は、次のコマンドで掲載してください。
helm repo add bitnami https://charts.bitnami.com/bitnami今、このコマンドでmysqlをインストールしてください:
helm repo add bitnami https://charts.bitnami.com/bitnamiステータスを確認し、MySQLが実行されていることを確認するには、次のことを使用します。
kubectlはポッドを取得します-namespace my-lab
kubectl get pods --namespace my-lab
kubectlはsecret -n my -labを取得します
kubectl get secret -n my-lab
kubectl get Secret/mysql -oyaml -n my -lab
kubectl get secret/mysql -oyaml -n my-lab
echo
echo| base64 -d
kubectl exec -it mysql-0 -namespace my-lab- /bin /bash
kubectl exec -it mysql-0 --namespace my-lab -- /bin/bash
mysql -u root -p
mysql -u root -p
データベースといくつかのテーブルを作成します
MySQL内に入ったら、監視するデータベースといくつかのテーブルを作成します:
データベースmy_db_1を作成します。
my_db_1を使用してください。
テーブルmy_table_1(varchar(100));
テーブルmy_table_2(varchar(100));
テーブルmy_table_3(varchar(100))を作成します。
my_table_1値に挿入( 'one');
my_table_1値に挿入( '1-one');
select * from my_table_1;
create database my_db_1; use my_db_1; create table my_table_1 (a varchar(100)); create table my_table_2 (a varchar(100)); create table my_table_3 (a varchar(100)); insert into my_table_1 values('One'); insert into my_table_1 values('One-One'); select * from my_table_1;
プロメテウスとグラファナ
をインストールする最初に、プロメテウスコミュニティヘルムチャートを追加します:
ヘルムレポはprometheus-community https://prometheus-community.github.io/helm-chartsを追加します
ヘルムレポの更新
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update
kubectl create ns grafana
kubectl create ns grafana
ヘルムアップグレード - インストールGrafana Prometheus-Community/Kube-Prometheus-Stack-NamesPace Grafana
helm upgrade --install grafana prometheus-community/kube-prometheus-stack --namespace grafana
kubectl get pods -n grafana
kubectl get pods -n grafanaでmysqlを公開する
Kubernetesクラスターの外部からMySQLにアクセスするには、LoadBalancerを使用してMySQLサービスを公開する必要があります。 mysqlサービスを編集する:
kubectl編集svc/mysql -n my -lab
kubectl edit svc/mysql -n my-lab
仕様:
タイプ:LoadBalancer
spec: type: LoadBalancer
kubectlはsvc -n my -labを取得します
kubectl get svc -n my-lab
Minikube Tunnel
minikube tunnel
次に、割り当てられたIPを使用して外部からmysqlにアクセスします:
mysql -h
mysql -hMySQL輸出業者をインストールして、MySQLメトリックを収集し、プロメテウスがこすりつけて露出する必要があります。-u root -p
mysql接続の詳細を使用してファイルmysql-exporter-values.yamlを作成します:
mysql:
DB: ""
ホスト:「
mysql: db: "" host: "" user: "root" pass: " " port: 3306 protocol: "" serviceMonitor: enabled: true additionalLabels: release: grafana
ヘルムアップグレード - インストールmysql-exporter prometheus-community/prometheus-mysql-exporter -f mysql-exporter-values.yaml
mysql -hテストのためにMySQL輸出機メトリックをローカルマシンに転送するには、使用してください:-u root -p
kubectlポートフォワードSVC/mysql-exporter-prometheus-mysql-exporter 9104 -n my-lab
mysql -h-u root -p
5.グラファナをプロメテウスに接続します
Grafanaダッシュボードにアクセスするには、次のポートフォワードコマンドを実行します。
KubectlポートフォワードSVC/Grafana 3000:80 -N Grafana
これにより、Grafanaはhttp:// localhost:3000でアクセスできます。デフォルトのログイン資格情報は次のとおりです。
kubectl port-forward svc/grafana 3000:80 -n grafana
ログインしたら、プロメテウスをグラファナのデータソースとして追加します:
configuration>データソースに移動します。
URL http:// prometheus-operated:9090を使用してデータソースとしてプロメテウスを追加します。
6.グラファナダッシュボードをインポートします
MySQLを監視するには、Grafanaのダッシュボードリポジトリから事前に構成されたダッシュボードをインポートできます。
インポートダッシュボード
ダッシュボードID 14057(mysqlの概要)
ダッシュボードID 7362(mysqlパフォーマンス)これらのダッシュボードは、接続、クエリ、リソース利用などの関連するMySQLメトリックを自動的にロードおよび表示します。
。
監視のためにKubernetesと統合されたPrometheusとGrafanaでMySQLを正常に設定します。 Grafana Dashboardsを使用して、MySQLインスタンスをリアルタイムで監視できるようになりました。
キーテイクアウト:
Prometheusは、MySQL Exporterを使用してMySQLからメトリックをこするために使用されます。
Grafanaは、Prometheusによって収集されたデータを視覚化するように構成されています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3