Kubernetes イベントの収集と監視の実践

Kubernetes イベントの収集と監視の実践

背景概要

みなさんこんにちは。An Ruoです。数日前、グループ内の友人から、Kubernetes イベントを収集、監視、アラームする方法を尋ねられました。そこで、この機会に現在の解決策を共有したいと思います。

完成品展示

今回はイベント表示のみを共有し、アラームは含めませんでした。次回機会があればまたシェアしたいと思います。

写真

画像

写真

画像

写真

ここでのワードクラウドはプラグインをインストールする必要があるため表示されません。自分でインストールして設定することができます。

実際の例

環境説明

写真

エクスポーターの展開

[root@192 deploy]# cat 00-roles.yaml apiVersion: v1 kind: Namespace metadata: name: kube-ops --- apiVersion: v1 kind: ServiceAccount metadata: namespace: kube-ops name: event-exporter --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: event-exporter roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: view subjects: - kind: ServiceAccount namespace: kube-ops name: event-exporter
 [root@192 deploy]# cat 02-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: event-exporter namespace: kube-ops spec: replicas: 1 template: metadata: labels: app: event-exporter version: v1 spec: serviceAccountName: event-exporter containers: - name: event-exporter image: m.daocloud.io/ghcr.io/opsgenie/kubernetes-event-exporter:v0.11 imagePullPolicy: IfNotPresent args: - -cnotallow=/data/config.yaml volumeMounts: - mountPath: /data name: cfg volumes: - name: cfg configMap: name: event-exporter-cfg selector: matchLabels: app: event-exporter version: v1

上記の yaml ファイルを実行し、ここではスキップします。自分で百度を検索することはしません。

Elasticsearch のデプロイメント

  • elasticsearch 圧縮パッケージをダウンロード
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.10.4-linux-x86_64.tar.gz
  • 解凍
### 创建存放包的文件夹# mkdir /data/soft -p # tar -xvf elasticsearch-8.10.4-linux-x86_64.tar.gz -C /data/soft/
  • 設定ファイルconfig/elasticsearch.ymlを変更します。
 cluster.name: my-elk node.name: node-1 path.data: /data/soft/elasticsearch-8.10.4/data path.logs: /data/soft/elasticsearch-8.10.4/logs network.host: 0.0.0.0 http.port: 9200
  • システム構成の変更
# cat >> /etc/security/limits.conf <<EOF es hard nofile 65535 es soft nofile 65535 es nproc 4096 es hard memlock unlimited es soft memlock unlimited EOF # cat >> /etc/sysctl.conf <<EOF vm.swappiness=1 vm.max_map_count=262144 EOF ### 使其生效# sysctl --system # su - root
  • スタートアップユーザーを作成する
# useradd es
  • ファイルの権限を変更する
# chown es:es elasticsearch-8.10.4/ -R
  • systemctl スタートアップ構成を作成する
# /etc/systemd/system/elasticsearch.service [Unit] Descriptinotallow=Elasticsearch Documentatinotallow=https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html [Service] User=es ExecStart=/data/soft/elasticsearch-8.10.4/bin/elasticsearch TimeoutStopSec=20 Restart=always LimitNOFILE=65536 [Install] WantedBy=multi-user.target

リロードして起動する方法については、ここでは省略します。自分で百度を検索することはしません。

elasticsearch パスワードをリセット

# ./elasticsearch-reset-password -u elastic This tool will reset the password of the [elastic] user to an autogenerated value. The password will be printed in the console. Please confirm that you would like to continue [y/N]y Password for the [elastic] user successfully reset. New value: l5tL-0v74o15RlMzVkY

elastic ユーザーのパスワードをリセットするときは、「OK」と入力して新しいパスワードを生成します。ここでのパスワードは: l5tL-0v74o15RlMzVkY

Grafana のデプロイメント

  • Grafanaの圧縮ファイルをダウンロードする
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.2.linux-amd64.tar.gz
  • 解凍
tar -xvf grafana-enterprise-9.4.2.linux-amd64.tar.gz -C /data/soft
  • 起動する
nohup ./grafana-server >/dev/null 2>&1 &

ここで直接起動するには nohup を使用します。もちろん、kubernetes、docker などにデプロイすることもできます。

GrafanaはElasticに接続します

写真

ここでの ca は elastc にあり、特定のパスは config/certs/http_ca.crt です。ここでのパスワードはリセットした es パスワードです。

写真

写真

ここではあまり詳しく説明しません。わからないことがあれば、グループに参加して質問してください。

ダッシュボードをインポート

写真

要約する

この時点で、イベントに関するプレゼンテーションは基本的に完了しています。アラームの共有については、時間が許せば再度共有します。

<<:  経済不確実性の中でクラウド支出を削減

>>:  アマゾン ウェブ サービスは、Moonton が生成 AI テクノロジーを適用して優れたゲーム体験を生み出し、ビジネス上の意思決定を支援するのを支援します。

推薦する

史上最大のクラウドコンピューティング障害トップ10

企業がクラウド サービスの障害を回避できるように、NetworkWorld は、世界中の多くの We...

小紅書のボーダーレスゲーム

チェック柄は早春の流行アイテムとなり、プログラマーではなく、全国の芝生に登場しています。流行に乗り遅...

イーサネットサーバー - $1.67/1.5g メモリ/400g ハードディスク/6T トラフィック/ロサンゼルス/バッファロー

2013 年に設立された ethernetservers は私のブログに何度か登場していますので、ぜ...

新荘の強国である華雲データは、ワンストップの新荘クラウド構築と配信ソリューションを提供します

現在の情勢下では、コア技術の「ボトルネック」や「他からのコントロール」といった問題を解決するために、...

エッジコンピューティングストレージはIoTの次のフロンティア

ネットワーク ストレージの歴史は、アコーディオンのふいごのようなものです。つまり、大きな拡張の後に大...

Netty を使用して高性能な分散サービス フレームワークを作成する方法は?

[[407305]] 1. Nettyとは何ですか?それは何ができるのでしょうか? Netty は、...

profitserver: ロシアのサーバー、1億の無制限トラフィック、月額35ドルから、Windows対応

ここで profitserver (旧 ITC ホールディングスのサブブランド) のロシア サーバー...

zgovpsはどうですか?ロサンゼルス AMD VPS シリーズ (中国電信および中国聯通向け CUII/中国移動向け CMIN2) の簡単なレビュー

2017年更新:ロサンゼルスAMD VPSシリーズは、2017年8月にzgovpsによって初めて発売...

検索エンジンによるブロックを回避する方法

A5に記事を投稿するのは初めてなので、応援してください(今日の午後、ADではなくドメイン名を使用して...

Kubernetes-Initコンテナの6つの特徴

この記事では、主に Init コンテナの役割、Init コンテナの特徴、Init コンテナとアプリケ...

企業がクラウドリソースをより有効活用するための4つのステップ

多くの企業にとって、クラウド リソースの活用は戦略の一部ではなく、個々のチームがニーズを満たすために...

ラッシュメール - 外国貿易開発レターでよくある間違いについての簡単な説明

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています現在、越境...

PaaS は SaaS にとって大きな参入障壁であり、技術的なギャップなのでしょうか?

クラウド コンピューティングは、IaaS、PaaS、SaaS の 3 つの層に分かれています。多くの...

医療ウェブサイトをGoogleで上位にランク付けするためのヒント

社会の急速な発展に伴い、人々の生活水準は徐々に向上し、インターネットの発展も加速し、ますます多くのイ...