記事ディレクトリ
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
自身のメトリクスが表示されます。Status
Targets
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
最終的なレンダリングは次のようになります。