Prometheus+Grafana のビジュアルモニタリング [ElasticSearch ステータス]

1.Dockerをインストールする

注: 以前に作成したスクリプトを使用して Docker をインストールします。すでに Docker をお持ちの場合は、この手順を省略してください。Docker は、ElasticSearch サービスのデプロイを容易にするためにインストールされます。すでにデータベースをお持ちの場合は、最初の 2 つの手順を省略できます。

クリックして Docker オフライン インストール スクリプトを取得します

tar zxf docker20.10.14Install.tar.gz
cd docker20.10.14Install
bash install.sh

以下に示すように Docker のステータスを確認します。問題がないことを意味します。

systemctl status docker

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

2. ElasticSearchのインストール(Dockerコンテナ方式)

1. 前提条件の準備:

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.6
mkdir /home/software/elasticsearch/{
    
    data,plugins,config,logs} -p
chmod -R 777 /home/software/elasticsearch
echo "vm.max_map_count=262144" >> /etc/sysctl.conf

systemctl stop firewalld
systemctl disable firewalld
iptables -F

2. 設定ファイルの作成

cat > /home/software/elasticsearch/config/elasticsearch.yml << EOF
cluster.name: "docker-cluster"
network.host: 0.0.0.0
EOF

3. コンテナを実行します。

docker run -itd --name elasticsearch  -p 9200:9200 -p 9300:9300 \
    -v /home/software/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /home/software/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    -v /home/software/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    -v /home/software/elasticsearch/logs:/usr/share/elasticsearch/logs \
    -v /etc/localtime:/etc/localtime  -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
    -v /etc/sysctl.conf:/etc/sysctl.conf  -e "node.name=es1" \
    -e "discovery.seed_hosts=es1" -e "cluster.initial_master_nodes=es1" \
    -e "http.host=0.0.0.0" --privileged --restart=always \
    docker.elastic.co/elasticsearch/elasticsearch:7.17.6

vm.max_map_count起動失敗を防ぐための設定

docker exec -it elasticsearch sysctl -w vm.max_map_count=262144

4. ElasticSearch サービスが正常であるかどうかを確認します。
この手順では、ES が開始するまで辛抱強く待ってからリクエストする必要があります。サーバーのパフォーマンスに応じて、約 1 分かかります。

curl  http://127.0.0.1:9200

以下に示すように: ElasticSearch ステータス情報が返され、それが正しいことを示します。
ここに画像の説明を挿入します

3.Prometheusをインストールする

1. 時刻とタイムゾーンの同期

timedatectl set-timezone Asia/Shanghai
yum -y install ntpdate
/usr/sbin/ntpdate -u ntp1.aliyun.com

スケジュールされたタスクの同期時間を構成する

echo "0 5 * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
crontab -l

2.Prometheusをインストールする

wget https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gz

tar zxf prometheus-2.42.0.linux-amd64.tar.gz 
mv prometheus-2.42.0.linux-amd64 /usr/local/prometheus

3.systemd管理の構成

cat > /usr/lib/systemd/system/prometheus.service << EOF
[Unit]

[Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
ExecReload=/bin/kill -HUP \$MAINPID

[Install]
WantedBy=multi-user.target
Alias=dbus-org.fedoraproject.FirewallD1.service
EOF

4. 起動時に自動起動を開始および設定する

systemctl enable prometheus --now
systemctl status prometheus

ここに画像の説明を挿入します
表示は上のようになります。これは Prometheus に問題がないことを意味します。デフォルトのポートは 9090 です。ブラウザでアクセスできます。> をクリックすると、以下に示すようにPrometheus
自身のメトリクスが表示されます。StatusTargets
ここに画像の説明を挿入します

4.グラファナをインストールする

1.グラファナをインストールする

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.1-1.x86_64.rpm
sudo yum install grafana-enterprise-9.4.1-1.x86_64.rpm -y

systemctl enable grafana-server.service --now

2. WEB ページの検証。
デフォルトのポートは 3000 です。初めてアクセスするときは、以下に示すように、パスワードをリセットするように求められます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

5. プロネテウスとグラファナには関連性がある

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

6. elasticsearch_exporter をインストールする

1. elasticsearch_exporter をインストールする

wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.3.0/elasticsearch_exporter-1.3.0.linux-amd64.tar.gz
tar zxf elasticsearch_exporter-1.3.0.linux-amd64.tar.gz
mv elasticsearch_exporter-1.3.0.linux-amd64 /usr/local/elasticsearch_exporter

2. systemd 管理の設定
注: --es.uri パラメータは、独自の es アクセス アドレスを設定します。これはローカル マシンです。私が書いたのは次のとおりです。http://127.0.0.1:9200

cat > /usr/lib/systemd/system/elasticsearch_exporter.service << EOF
[Unit]
Description=elasticsearch_exporter Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/elasticsearch_exporter/elasticsearch_exporter  --es.all --es.indices --es.cluster_settings --es.indices_settings --es.shards --es.snapshots --es.uri http://127.0.0.1:9200
ExecReload=/bin/kill -HUP \$MAINPID
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target
EOF

起動時に自動起動して参加する

systemctl enable elasticsearch_exporter --now
systemctl status elasticsearch_exporter

ここに画像の説明を挿入します
デフォルトのポートは 9114 です

netstat -anput |grep 9114

4. Prometheus 設定ファイルで elasticsearch_exporter 情報を指定します。

vim /usr/local/prometheus/prometheus.yml

  - job_name: "ElasticSearch_115"
    static_configs:
      - targets: ["16.32.15.115:9114"]

構成ファイルを追加した後、コマンドを使用して形式に問題がないかどうかをテストします。

cd  /usr/local/prometheus/
./promtool check config prometheus.yml

プロメテウスを再起動する

systemctl restart prometheus.service

7. Grafana が ElasticSearch 監視テンプレートを追加

ここでは ElasticSearch のテンプレート ID が使用されています: 7259
click 下方红圈地方>>import输入模板ID
ここに画像の説明を挿入します

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

最終的なレンダリングは次のようになります。

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

おすすめ

転載: blog.csdn.net/weixin_45310323/article/details/132927764
おすすめ