docker-compose-monitor.yml バージョン: '2' ネットワーク: モニター: ドライバー: ブリッジ サービス: インフルエンスDB: 画像: influxdb:latest コンテナ名: tig-influxdb ポート: - 「18083:8083」 - 「18086:8086」 - 「18090:8090」 環境変数: - 'env.influxdb' ボリューム: # データの永続性 # sudo mkdir -p ./influxdb/data - ./influxdb/データ:/var/lib/influxdb # docker の時間を東部標準時ゾーン 8 に設定します - ./timezone:/etc/timezone:ro - ./localtime:/etc/localtime:ro restart: until-stopped #停止後にtelegrafを自動的に再起動します: 画像: telegraf:latest コンテナ名: tig-telegraf リンク: - インフルクスDB ボリューム: - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro - ./タイムゾーン:/etc/タイムゾーン:ro - ./localtime:/etc/localtime:ro 再起動: 停止しない限り プロメテウス: 画像: プロム/プロメテウス コンテナ名: プロメテウス ホスト名: プロメテウス 再起動: 常に ボリューム: : /home/qa/docker/grafana/prometheus.yml:/etc/prometheus/prometheus.yml - /home/qa/docker/grafana/node_down.yml:/etc/prometheus/node_down.yml ポート: - '9090:9090' ネットワーク: - モニター アラートマネージャー: 画像: prom/alertmanager コンテナ名: アラートマネージャ ホスト名: alertmanager 再起動: 常に ボリューム: : := ... ポート: - '9093:9093' ネットワーク: - モニター グラファナ: イメージ: grafana/grafana:6.7.4 コンテナ名: grafana ホスト名: grafana 再起動: 常に ポート: - '13000:3000' ネットワーク: - モニター ノードエクスポーター: イメージ: quay.io/prometheus/node-exporter コンテナ名: ノードエクスポーター ホスト名: node-exporter 再起動: 常に ポート: - '9100:9100' ネットワーク: - モニター キャドアドバイザー: 画像: google/cadvisor:latest コンテナ名: cadvisor ホスト名: cadvisor 再起動: 常に ボリューム: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro ポート: - '18080:8080' ネットワーク: - モニター アラートマネージャ.yml グローバル: 解決タイムアウト: 5分 smtp_from: 'メール' smtp_smarthost: 'smtp.exmail.qq.com:25' smtp_auth_username: 'メール' smtp_auth_password: 'パスワード' smtp_require_tls: 偽 smtp_hello: 'qq.com' ルート: group_by: ['アラート名'] グループ待機: 5秒 グループ間隔: 5秒 繰り返し間隔: 5分 受信者: 'メール' 受信者: - 名前: 'メール' メール設定: - 宛先: 'メールアドレス' 送信解決: true 禁止ルール: - ソースマッチ: 深刻度: 「重大」 ターゲットマッチ: 重大度: '警告' 等しい: ['alertname', 'dev', 'instance'] プロメテウス グローバル: scrape_interval: 15s # スクレイプ間隔を 15 秒ごとに設定します。デフォルトは 1 分ごとです。 evaluation_interval: 15s # 15 秒ごとにルールを評価します。デフォルトは 1 分ごとです。 # scrape_timeout はグローバルデフォルト (10 秒) に設定されています。 # アラートマネージャの設定 警告: アラートマネージャー: - 静的設定: - ターゲット: ['192.168.32.117:9093'] # - アラートマネージャー:9093 # ルールを一度読み込み、グローバル 'evaluation_interval' に従って定期的に評価します。 ルールファイル: - 「node_down.yml」 # - "ノードエクスポーターアラートルール.yml" # - "first_rules.yml" # - "second_rules.yml" # スクレイピングするエンドポイントを 1 つだけ含むスクレイピング設定: # ここでは Prometheus そのもの。 scrape_configs: #IO ストレージ ノード グループ - job_name: 'io' スクレイプ間隔: 8秒 static_configs: #ポートは、ノード エクスポーターが起動されるポートです - ターゲット: ['192.168.32.117:9100'] - ターゲット: ['192.168.32.196:9100'] - ターゲット: ['192.168.32.136:9100'] - ターゲット: ['192.168.32.193:9100'] - ターゲット: ['192.168.32.153:9100'] - ターゲット: ['192.168.32.185:9100'] - ターゲット: ['192.168.32.190:19100'] - ターゲット: ['192.168.32.192:9100'] # ジョブ名は、この設定から取得されたすべての時系列にラベル `job=<job_name>` として追加されます。 - ジョブ名: 'cadvisor' static_configs: #ポートはcadvisorによって開始されたポートです - ターゲット: ['192.168.32.117:18080'] - ターゲット: ['192.168.32.193:8080'] - ターゲット: ['192.168.32.153:8080'] - ターゲット: ['192.168.32.185:8080'] - ターゲット: ['192.168.32.190:18080'] - ターゲット: ['192.168.32.192:18080'] ノードダウン グループ: - 名前: node_down ルール: - 警告: インスタンスダウン 式: 上 == 0 1mの場合 ラベル: ユーザー: テスト 注釈: 概要: 'インスタンス {{ $labels.instance }} がダウンしています' 説明: 'ジョブ {{ $labels.job }} の {{ $labels.instance }} が 1 分以上ダウンしています。' #メモリ残量が10%未満です - 警告: メモリ残量が 10% 未満です 式: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10 2mの場合 ラベル: 重大度: 警告 注釈: 概要: ホストのメモリ不足 (インスタンス {{ $labels.instance }}) 説明: "ノード メモリがいっぱいになっています (残り 10% 未満)\n 値 = {{ $value }}\n ラベル = {{ $labels }}" #ディスク残量が10%未満です - 警告: 残りのディスク容量が 10% 未満です。 式: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 かつ ON (インスタンス、デバイス、マウントポイント) node_filesystem_readonly == 0 2mの場合 ラベル: 重大度: 警告 注釈: 概要: ホストのディスク容量が不足しています (インスタンス {{ $labels.instance }}) 説明: "ディスクがほぼいっぱいです (残り 10% 未満)\n 値 = {{ $value }}\n ラベル = {{ $labels }}" #CPU負荷 > 80% - 警告: CPU 負荷 > 80% 式: 100 - (平均(インスタンス) (レート(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80 0分 ラベル: 重大度: 警告 注釈: 概要: ホストの CPU 負荷が高い (インスタンス {{ $labels.instance }}) 説明: "CPU 負荷は 80% を超えています\n 値 = {{ $value }}\n ラベル = {{ $labels }}" アラート: https://awesome-prometheus-alerts.grep.to/rules#prometheus-self-monitoring 公式ダッシュボード: https://grafana.com/grafana/dashboards/ これで、Grafana+Prometheus 構成の Docker デプロイメントに関するこの記事は終了です。Grafana+Prometheus の Docker デプロイメントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. セットアップを始める次のコード関数を簡単に紹介します。 ref 関数を使用して変数の変更を監視...
以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...
序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...
目次要件の説明:要件分析:ニーズの解決問題解決私はフロントエンドの新人ですが、バックエンドのバグの中...
問題の説明VMware Workstationが新しい仮想マシンを作成し、64ビットオペレーティング...
1. インストール dockerhub を通じてインストールする mariadb のバージョンを検索...
MySQL で、id、a、b の 3 つのフィールドを持つ新しいテーブルを作成します。次のように、同...
導入Memcached は分散キャッシュ システムです。Memcached には認証とセキュリティ制...
1. ビジネスシナリオ最近はファイルのアップロードやダウンロードに関する開発をしています。ダウンロー...
この記事では、例を使用して、MySQL トリガーの概念、原則、および使用方法を説明します。ご参考まで...
目次関数呼び出しの最適化関数呼び出しの最適化MySQL 関数は、内部的に決定論的または非決定論的とし...
1. my.cnfを変更する #全体的な効果としては、グローバルがオンになっている場合はテーブルとロ...
接続ツールを開きます。私はMobaXterm_Personal_12.1を使用します(公式サイトのダ...
1. 複雑なSQLクエリ1.1. 単一テーブルクエリ(1)指定の列を選択する[例] 全生徒の生徒ID...
この記事では、VMware Workstation Pro で Win10 オペレーティング システ...