Mercurial > hg > Papers > 2022 > kiyama-sigos
view Paper/tex/ie-monitoring-design.tex @ 1:a1e8ba02aaa8
定期
author | kiyama <e185758@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 05 May 2022 13:31:46 +0900 |
parents | 78fab99c6008 |
children | 17fb6a2b46d5 |
line wrap: on
line source
\section{提案手法の設計} サービスでは学科システムのシステムの監視やログの収集を行う。この監視システムの構成を図に示し。概要を以下で説明する。 \subsection{監視システム} 本実験では全ての監視システムをコンテナ上に構築しており,docker-compose.yml ファ イルから podman でコンテナを作成する形を取っている. 作成した docker-compose.yml ファイル 4.1 を載せる. サービスの死活監視は prometheus, ログ収集は loki, それらのデータ可視化は grafana, アラート送信は alertmanager を用いて構築している. システム監視の構成を図 4.1 に示 す. exporter,alertmanager は prometheus のコンポーネントとなっており,exporter で各 サービスのメトリック情報を prometheus に対して送信している. また,prometheus の独 自のクエリ言語である promQL で設定した条件を満たした際に alertmanager に対して アラートを送信する. 使用するクエリ言語が logQL に変更しているが loki も promethrus 同様にログを収集し,アラートを送信している. \\ \begin{figure}[htbp] \begin{center} \includegraphics[width=80mm]{fig/monitoring-system.png} \caption[monitoring]{構成図.} \label{fig:monitoring-system} \end{center} \end{figure} \\ \subsection{サービス監視} 各サービスのリソース・死活監視は promethrus を用いて行っている. prometheus は収集したデータをブラウザで表示する機能を持っている. 図 4.2 に各 expoter サーバーから prometheus に集めた情報をブラウザを通じて表示する様子を示す. 以下のグラフは nginx に接続でき処理されたクライアント接続を意味する. しかし,prometheus のグラフでは表示のカスタマイズや可視化したダッシュボードの登 録, ログイン認証をサポートしていない. そこでデータの可視化は grafana を用いた. 図 4.3 に grafana でのログイン画面を示す. 図 4.4 に示すように grafana を用いてダッシュボードの作成ができる. また, これらの ダッシュボードは自身でカスタムしたり grafana に登録されてあるダッシュボードをイン ポートすることで, よく使用する情報を登録することが可能である. 図 4.4 では nginx の 状態を監視しており, 一番上の文字で表示されているのが死活状況, 左下が単位時間ごと 受け入れられた通信率と処理された通信率, 右下が接続に成功, 読み込み中, 待機中, 応答 をレスポンスしている状態のグラフである. \subsection{ログ収集} 障害が発生したサーバーがアクセス可能であればログを確認することはできるが, 何ら かの原因でアクセス出来ない場合はログを確認する手段がない. そこで各サーバーのログを収集する事でサーバーの死活状態に関わらず原因調査が可能で ある. また,grafana では logQL を用いて絞り込みが出来る為特定までにかかるコストが低 くなると考える. 提案システムでは, ログ収集には loki を用いている. loki 自体に収集したログを表示する 機能は無く,grafna と連携してログの可視化を行う. 図 4.5 が loki と grafana が連携して log を可視化している様子である. 図 4.5 loki で収集したデータを grafana で可視化. 上記は閲覧者が logQL を用いることでログの絞り込みが可能だが検索結果が保存され ない. その為一般的には, 図 4.6 のように prometheus 同様カスタムダッシュボードを使 用して可視化を行う. 図 4.6 では loki に収集されたログの単位時間あたりの総数と error の文字列が含まれるログの総数, 単位時間あたりのログの総数をグラフで表したものに なっている. %\section{研究目的}