Promethus ARMアーキテクチャのKirinシステムの実用化

監視ソフトのインストールが必要な都道府県・市町村のセキュリティアセスメントの評価があるので、実際にPrometheusとZabbixをインストールしてみました.もともとZabbixをインストールしたかったので、ローカルインストールは非常にスムーズに進みましたが、サーバーはHuawei PengkunのARMアーキテクチャです. . ARM 用のものが見つからなかったので、両方試してみました。この記事では、Promethus のインストール プロセスについて説明します。

  1. go環境をインストールする

https://dl.google.com/go/go1.19.3.linux-arm64.tar.gz

#Go ロケールを /usr/local に解凍します

[root@xxxxxx]# tar -C /usr/local -xzf go1.8.3.linux-arm64.tar.gz

#システム環境パラメーターの構成

[root@xxxxxx]# vim /etc/profile

# ファイルの末尾に次を追加します。

export PATH=$PATH:/usr/local/go/bin

# システム構成ファイルを更新します

[root@xxxxxx]# source /etc/profile

# go version コマンドを使用して、インストールが成功したことを確認してください!

[root@xxxxxx go]# go版

go バージョン go1.12.12 linux/arm64

#上記のエコーが出れば設定成功!

  1. プロメテウスをインストールする

https://github.com/prometheus/prometheus/releases/download/v2.40.3/prometheus-2.40.3.linux-arm64.tar.gz

ダウンロードが完了したら、サーバーにアップロードします

#パッケージを解凍

[root@ xxxxxx opt]# tar -zxvf prometheus-2.40.3.linux-arm64.tar.gz

#簡単な名前に変更

[root@ xxxxxx opt]# mv /opt/prometheus-2.40.3.linux-arm64 /opt/prometheus

#ソフトウェアディレクトリを入力してください

[root@ xxxxxx opt]# cd /opt/prometheus

#ソフトウェアのバージョンを確認する

[root@ xxxxxxプロメテウス]# ./プロメテウス --version

#次の結果を得る

プロメテウス、バージョン 2.40.3 (ブランチ: HEAD、リビジョン: 881111fec4332c33094a6fb2680c71fffc427275)

  ビルド ユーザー: root@e7f4371658bf

  ビルド日: 20220315-15:03:51

  バージョン: go1.17.8

  プラットフォーム: linux/arm6

  1. プロメテウスを開始します。

./プロメテウス

ここまでで、Prometheus のインストールと起動が完了しました。ポートが有効になっているかどうかを確認できます。

  1. 監視するクライアントを構成する
    1. ノード エクスポーターのダウンロード

https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-arm64.tar.gz

4.2 インストールノード

#ファイルの解凍

tar -xf node_exporter-1.2.2.linux-arm64.tar.gz  -C /usr/local

# 同期ファイル

ln -sv /usr/local/node_exporter-1.2.2.linux-amd64/ /usr/local/node_exporter

4.3 インストールされているバージョンを確認する

/usr/local/node_exporter/node_exporter --version

node_exporter、バージョン 1.2.2 (ブランチ: HEAD、リビジョン: 26645363b486e12be40af7ce4fc91e731a33104e)

  ビルド ユーザー: root@b9cb4aa2eb17

  ビルド日: 20210806-13:44:18

  バージョン: go1.16.7

  プラットフォーム: Linux/AMD64

4.4 node-exporter.service ファイルの作成

vi /lib/systemd/system/node-exporter.service

[ユニット]

説明=node_exporter

ドキュメンテーション=https://prometheus.io

After=network.target

[サービス]

タイプ=シンプル

ExecStart=/usr/local/node_exporter/node_exporter --collector.ntp --collector.mountstats --collector.systemd --collector.tcpstat

ExecReload=/bin/kill -HUP $MAINPID

TimeoutStopSec = 20 秒

再起動=常に

[インストール]

WantedBy=マルチユーザー.ターゲット

4.5 node-exporter の起動

#Boot セルフスタート

systemctl enable node-exporter

#node-exporter サービスを開く

systemctl start node-exporter

#node-exporter サービスを表示

systemctl status node-exporter

#ポート9100を開く

firewall-cmd --zone=public --add-port=9100/tcp --permanent

#firewalld サービスを再起動します

Systemctl restart firewalld

#node-exporter の Web ページを確認する

4.6 クライアントのバインド

サーバー側のサーバー

#Promethus ディレクトリに入る

cd /opt/プロメテウス

#prometheus.yml ファイルを変更する

Scrape_config パラメータの下で設定します

- job_name: "prometheus-node1" #ノード名

    static_config:

      - ターゲット: [「ノードのIP:9100」]

#promethus サービスを再起動し、Web インターフェイスを確認し、ステータスが更新されるまで 1 分間待ちます

4.7 グラフ命令

4.7.1 検索ボックス

開いている指標の爆発をクリックして、関連する監視指標を選択します。

選択したら、[実行] をクリックしてチャートの説明を表示します。

4.8 アラームルールの設定例

#ルールグループのパスを指定(当方は新規ファイル)

vi prometheus.yml

# 新しいアラート ルール

vi myrules.yml

グループ:

- 名前: node_alert

  ルール:

  - アラート: cpu_alert

    expr: 100 -avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)* 100 > 80

    のため: 5m

    ラベル:

      レベル: 警告

    注釈:

      説明: "インスタンス: { { $labels.instance }}、CPU 使用率が高すぎます! 値: { {$value}}"

      概要: 「CPU 使用率が高すぎます」

  - アラート: メモリ使用量

    expr: 100 - (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes)/ node_memory_MemTotal_bytes * 100 > 80

    のため: 5m

    ラベル:

      ステータス: クリティカル

    注釈:

      概要: 「メモリ使用率が高い」

      説明: "メモリ使用量が 80% を超えています。(現在の使用量:{ {$value}})"

  - アラート: ディスカッション

    expr: 100 - (((node_filesystem_size_bytes{fstype=~"xfs|ext4"} - node_filesystem_free_bytes{fstype=~"xfs|ext4"}) / node_filesystem_size_bytes{fstype=~"xfs|ext4"}) * 100) > 80

    のため: 5m

    ラベル:

      ステータス: クリティカル

    注釈:

      概要: 「ディスク使用率が高い」

      説明: "ディスク使用率が 80% を超えています (現在の使用率:{ {$value}})"

  - アラート: http_alert

    expr: count(prometheus_http_requests_total{code="302"})+count(prometheus_http_requests_total{code="400"})+count(prometheus_http_requests_total{code="503"})>1

    のため: 5m

    ラベル:

      ステータス: クリティカル

    注釈:

      概要: "失敗した応答要求の数が 1 を超えています"

      説明: "失敗した応答要求の数が 1 を超えています"

# ここには 3 = 4 つのルールがあります

  1. cpu_alert: CPU 使用率が 80% を超えた場合にアラートを出す
  2. メモリ使用量: メモリ使用量が 80% を超えた場合のアラーム
  3. Diskusage: ディスク使用率が 80% を超えた場合のアラーム
  4. http_alert: http リクエストの失敗回数が 1 を超える場合、アラートが発行されます

構成が成功し、サーバーを再起動して Web インターフェイスで表示できます。

おすすめ

転載: blog.csdn.net/wangzhi291/article/details/128188455
おすすめ