最も完全なネットワーク!!!prometheus + grafanaシステムに基づいてMySQLおよびOracleデータベースを監視します

I.概要

Oracle、MySQL、その他のデータベースを監視することを目的として、インターネット上で多くの監視オープンソースツールを見つけました。最後に、PrometheusGrafanaを選択しました。Zabbixと比較して、あまり友好的ではありません。この記事はすべて自分で作成したものです。多くのブログではコピーされていません。貼り付け、同じ記事が移動したため、関連ドキュメントを探すときに爆発が発生し、ビープ音はあまり発生しませんでした。次に、PrometheusおよびGrafana環境を構築し、MySQLおよびOracleを監視する方法について説明します。

2.予備的な環境準備

サーバ IPアドレス
Prometheusサーバー 192.168.3.102
Grafanaサーバー 192.168.3.103
監視対象サーバー 192.168.3.77
監視対象サーバー 192.168.3.93

192.168.3.77已经安装好了oracle11g,192.168.3.93安装好了MySQL

Oracle11gのインストール方法がわからない友人は、以下のリンクをクリックできます。

Oracle11gサイレントインストール

MySQLをインストールしていない場合は、以下のリンクをクリックできます。

MySQLのインストール
記事に関連するファイルは、パスワード:xylnをクリックしてダウンロードできます。

2.1ファイアウォールとselinuxをオフにします

#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#查看selinux
getenforce
#永久关闭selinux
vi /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled,并重启系统

ここに画像の説明を挿入します

2.2ホスト名を構成する

3つのホストはIPとホスト名で相互にバインドされています

192.168.3.102 master
192.168.3.103 gra
192.168.3.77 ora

ここに画像の説明を挿入します

2.3時刻同期

yum install -y  ntpdate && ntpdate time.windows.com

ここで、実行中に問題が発生しました。つまり、実行後も同期がとれておらず、最終的にタイムゾーンに一貫性がなく、同期後の時間が異なることがわかりました。
実行後、日付を入力して同期されているか確認してください。
ここに画像の説明を挿入します

3、プロメテウスビルド

3.1プロメテウスインストールパッケージをアップロードする

  • prometheus-2.5.0.linux-amd64.tar.gzをアップロード
    ここに画像の説明を挿入します
    する別のバージョンが必要な場合は、prometheusの公式Webサイトクリックして、必要なバージョンをダウンロードできます。
  • 解凍する
tar -zxvf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/prometheus-2.5.0.linux-amd64/  /usr/local/prometheus

ここに画像の説明を挿入します

3.2Prometheusを起動する

  • デフォルトの構成ファイルから開始します
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
  • ポート9090が開いているかどうかを確認します
ss -anlt | grep 9090

ここに画像の説明を挿入します

3.3Prometheusインターフェースへのアクセス

ブラウザhttp://服务器IP:9090入り、Prometheusのメインインターフェイスにアクセスします。服务器IP置き換えられることに注意してください。ブラウザにコピーしないで、インターフェイスがない理由を尋ねてください。
ここに画像の説明を挿入します
デフォルトでは、このマシンのみを監視します
ここに画像の説明を挿入します

3.3ホストデータの表示

  • 服务器IP:9090/metricsあなたを通して監視されたデータを見ることができます
    ここに画像の説明を挿入します

  • いくつかの監視項目を視覚的に照会します
    ここに画像の説明を挿入します

4、Grafanaビルド

4.1グラファナとは

ここに画像の説明を挿入します
前述のように、Grafanaは、収集されたデータを分析、クエリ、および視覚化できるオープンソースの監視視覚化プラットフォームであり、アラームをサポートしています。

4.2 Grafana安装

  • grafana-5.3.4-1.x86_64.rpmインストールパッケージをアップロードするか、公式Webサイトをクリックしてダウンロード選択します
    ここに画像の説明を挿入します
  • インストール
    ここに画像の説明を挿入します
    rpmを使用したインストールでは不足しているコンポーネントが表示されるため、yumを使用してインストールすると、不足しているコンポーネントが自動的にインストールされます。
  • サービスを開始し、スタートアップを自動的に開始するように設定します
systemctl start grafana-server 
systemctl enable grafana-server 
#确认端口
ss -anlt | grep 3000

ここに画像の説明を挿入します

4.2 Grafana界面

  • ブラウザから服务器IP:3000アクセスして、Grafanaのメインインターフェイスに入ることができます
    ここに画像の説明を挿入します
    デフォルトのユーザー名とパスワードはどちらもadmin

4.3データソースの構成

  • 次に、Prometheusサーバーによって収集されたデータをデータソースとしてGrafanaに追加し、GrafanaがPrometheusのデータを視覚化できるようにします。 ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

4.4ダッシュボード表示

  • グラフィックを作成する
    ここに画像の説明を挿入します

  • 編集
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します
    して、追加している限り、すぐに効果を確認でき、針は良いです
    ここに画像の説明を挿入します

  • 保存
    ここに画像の説明を挿入します

  • 実施する
    ここに画像の説明を挿入します

5、MySQLを監視する

5.1PrometheusはMySQLを監視します

5.1.1mysqld_exporterコンポーネントをアップロードします

ここに画像の説明を挿入します

5.1.2mysqld_exporterコンポーネントをインストールします

tar xf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/mysqld_exporter-0.11.0.linux-amd64/  /usr/local/mysqld_exporter 
ls /usr/local/mysqld_exporter

ここに画像の説明を挿入します

#授权
grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '123'; 
#刷新
flush privileges;
#退出
quit

ここに画像の説明を挿入します

5.1.3mysql構成ファイルを作成します

vi /usr/local/mysqld_exporter/.my.cnf

ここに画像の説明を挿入します
ここでは、ユーザーとパスワードは1対1で対応している必要があります
ここに画像の説明を挿入します

5.1.4mysqld_exporterを起動します

nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &

ここに画像の説明を挿入します

  • ポートを確認する9104
ss -anlt | grep 9104

ここに画像の説明を挿入します

5.1.5Prometheusサーバーの構成

vi /usr/local/prometheus/prometheus.yml

最後にこれらの3行を追加します

- job_name: 'mysql'
    static_configs:
    - targets: ['192.168.3.93:9104']

ここに画像の説明を挿入します

ここで覚えておいてください、フォーマットに注意を払う必要があります。そうしないと、プロメテウスサービスがオンになったときにエラーが報告されます。

5.1.5モニタリング結果の表示

  • 構成ファイルを変更した後、サービスを再起動する必要があります
pkill prometheus
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
  • 入力すると、
    ここに画像の説明を挿入します
    MySQLが監視されていることがわかり、いくつかの監視項目を表示できます。
    ここに画像の説明を挿入します

5.2GrafanaはMySQLモニタリングデータを表示します

5.2.1MySQLモニタリング用のダッシュボードをダウンロードしてインストールします

#进入grafana的lib目录
cd /var/lib/grafana/
  • grafana-dashboards-master.zipをアップロードします
    ここに画像の説明を挿入します
#解压
unzip grafana-dashboards-master.zip

ここに画像の説明を挿入します

cp -R /var/lib/grafana/grafana-dashboards-master/dashboards/ /var/lib/grafana/

ここに画像の説明を挿入します

5.2.2grafana構成ファイルを変更する

vi /etc/grafana/grafana.ini
  • ファイルの最後に追加
[dashboards.json] 
enabled = true 
path = /var/lib/grafana/dashboards

ここに画像の説明を挿入します

  • Grafanaサービスを再起動します
systemctl restart grafana-server

5.2.3Jsonファイルのインポート

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

  • [インポート]をクリックすると、関連するインターフェイスが直接表示されます
    ここに画像の説明を挿入します
  • ここで注意すべきことの一つは、JSONファイルのデフォルトのデータ・ソース名がプロメテウスであるということである。場合場合に、データソースの名前が対応していないあなたは、データソース設定4.3を、何もデータが存在しない場合がある。あなたがしたくない場合データソースの構成を変更するには、 jsonファイルのデータソース名を変更することを選択することも面倒であり、さらに変更する必要がありますが、ここでは説明されていないワイルドカードの置換によって変更できます。
    ここに画像の説明を挿入します

6、Oracleを監視する

6.1Go環境の構成

Prometheusはgolangで開発されているため、最初にGo環境をインストールします。

  • ファイルgo1.16.2.linux-amd64.tar.gzをアップロードします
    ここに画像の説明を挿入します
  • 解凍する
tar -xvf go1.16.2.linux-amd64.tar.gz -C /usr/local/
  • 環境変数を構成する
vi /etc/profile
#go environment
export PATH=$PATH:/usr/local/go/bin

ここに画像の説明を挿入します
構成ファイルを変更するたびに、それを更新して有効にすることを忘れないでください

source /etc/profile
  • インストールが成功したかどうかをテストします
go version

ここに画像の説明を挿入します

6.2Oracleクライアントの構成

6.2.1Oracleクライアントファイルのアップロード

ここに画像の説明を挿入します

6.2.2Oracleクライアントファイルのインストール

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

ここに画像の説明を挿入します

#创建文件夹
mkdir -p /usr/lib/oracle/11.2/client64/network/admin
#创建监听文件
vi /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora
#/usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora
ORCL11G =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.105)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
#更改权限
chmod -R 755 /usr/lib/oracle/
chown -R oracle:oinstall  /usr/lib/oracle/

ここに画像の説明を挿入します

6.2.3Oracleローカル環境変数の構成

su - oracle
vi ~/.bash_profile
export ORACLE_HOME2=/usr/lib/oracle/11.2/client64
export ORACLE_SID=orcl11g.us.oracle.com
export NLS_LAN=GAMERICAN_AMERICA.AL32UTF8
export PATH=$PATH:$ORACLE_HOME2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME2/lib

ここに画像の説明を挿入します
環境変数の設定を確認してください
ここに画像の説明を挿入します

6.3エクスポーターの構成

  • エクスポーターファイルをアップロードする
    #### 6.3エクスポーターの構成
  • 解凍して承認する
tar -xvf oracledb_exporter.0.2.2.linux-amd64.tar.gz
chmod u+x oracledb_exporter.0.2.2.linux-amd64/oracledb_exporter
mv oracledb_exporter.0.2.2.linux-amd64 oracledb_exporter
mv oracledb_exporter /usr/local/
chown oracle:oinstall /usr/local/oracledb_exporter/

ここに画像の説明を挿入します

  • 実行環境変数を設定する
vi ~/.bash_profile

エクスポートDATA_SOURCE_NAME = username / password @データベースサービス名

export DATA_SOURCE_NAME=system/11111111

ここに画像の説明を挿入します

  • サービス開始
./oracledb_exporter -log.level error -web.listen-address IP:9161
  • 一部の依存関係が欠落しています
    ここに画像の説明を挿入します
  • 確認するためにlibライブラリに入ります。実際にはありません。
    ここに画像の説明を挿入します
  • 不足している依存関係をインポートする
    ここに画像の説明を挿入します
  • だから私は始める方法を変えました
nohup ./oracledb_exporter &

ここに画像の説明を挿入します

  • テスト訪問
http://服务器ip:9161/metrics

これはサーバーIPであることを忘れないでください。コピーしてアドレスバーに直接貼り付けてから、応答がないと考えて
ください。Oracleの監視インジケータのリストが表示されます。
ここに画像の説明を挿入します

6.4Prometheusサーバーの構成

vi /usr/local/prometheus/prometheus.yml
  - job_name: '105_oracle'
    static_configs:
    - targets: ['192.168.3.105:9161']

ここに画像の説明を挿入します

6.5モニタリング効果を確認する

  • 構成ファイルを変更した後、サービスを再起動する必要があります
pkill prometheus
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

ここに画像の説明を挿入します

  • 一部の監視項目を表示できます
    ここに画像の説明を挿入します

6.6GrafanaはOracleの監視データを表示します

6.6.1Oracle監視ダッシュボードをダウンロードしてインストールします

Grafanaの公式ウェブサイトをクリックして、お気に入りの監視テンプレートを選択できます
ここに画像の説明を挿入します
ここに画像の説明を挿入します

6.6.2grafana構成ファイルを変更する

このステップでは、以前にモニタリングMySQLを設定したことがある場合は、再度設定する必要はありません。まだ設定していない場合は、5.2.2を確認してください。

6.6.3jsonファイルのインポート

これで、リファレンスWebサイトhttps://grafana.com/api/dashboards/3333/revisions/1/download
ここに画像の説明を挿入します
、Prometheus + Grafanaの基本環境、および2つの組み合わせを使用してMySQLとOracleを監視する方法は終わりです。これで終わりです。このブログの作成には1週間かかりました。コレクションのように、何か問題があれば訂正してください!ありがとうございました!

おすすめ

転載: blog.csdn.net/orzMrXu/article/details/114871945