view paper/text/technology.tex @ 4:c48aa8767fe6

add experiment
author kiyama <e185758@ie.u-ryukyu.ac.jp>
date Tue, 25 Jan 2022 14:53:34 +0900
parents b6dde3a2e38e
children ff6f870063b5
line wrap: on
line source

\chapter{技術概要}
\section{prometheus}
オープンソースのメトリクスベースのモニタリングシステムである.対象サービスから監視サーバーに対し情報を取得するpull型を採用しており,取得したデータは時系列データベースに保存される.特徴としてそれぞれのデータに付与されているラベルごとに情報をまとめることが出来る.また、promQLという独自のクエリ言語を扱う事でアラート管理コンポーネントであるalertmanagerにクエリを発行することができる.

\section{PromQL}
prometheusの時系列データを扱うことに特化したクエリ言語である.
グラフやprometheusの式ブラウザを表示するのに使用したり,HTTPAPIを介して外部システムで利用することが出来る.

\begin{figure}[htbp]
  \begin{center}
   \includegraphics[width=120mm]{./figs/prometheus-expr.png}
   \caption[prometheus]{prometheusの式ブラウザ.}
   \label{fig:name}
   \end{center}
\end{figure}

\section{exporter}
監視対象のデータを収集しprometheusからのリクエストに応じて必要なデータを整形しprometheusにレスポンスとして返すツールである.
prometheusに送信するデータに対しラベルを付与することができ情報の絞り込みが楽になる.

\section{alertmanager}
オープンソースソフトウェアとして公開されているアラート管理ツールである.
アラートの重複排除、グループ化などによりアラートの送信を行うことができる.

\section{loki}
prometheusに触発されたオープンソースのログ収集ツールである.
特徴としてprometheusのようにログデータをラベル毎にまとめることができる.

\section{promtail}
ログを収集してlokiに送信するツール.
Prometheusのexporterのようにアプリケーションのログに対しラベルを付与することができる.

\section{grafana}
収集されたデータ・ログをダッシュボートを用いてブラウザから可視化可能なツールである.

\section{mattermost}


\section{docker}
Docker.Inc.が開発したオープンソースのコンテナ管理ツールである.
 サーバーやクラウドなど様々な環境にコンテナ環境を構築,配布,実行することができる.

\section{podman}
RedHat社が開発したdocker互換のコンテナ管理ツールである.

\section{コンテナ}
仮想化技術の一つであり,他の仮装技術との相違点はカーネルはホストOSと共用で利用する点である.
これにより他の仮想技術よりリソースが節約でき,仮想環境の構築,削除が高速でできる.

\section{kvm}
KVMは(Kernel-based Virtual Machine)の略でlinuxカーネル上で動作する仮想化技術であり,カーネルをハイパーバイザとして機能させる.

\section{ハイパーバイザ}
仮想化技術の一つであり,ハードウェア上にハイパーバイザと呼ばれる仮想化ソフトウェアを動作させ,その上でゲストOSを運用する.
ホストOSを不要とするがコンテナ型と比べて起動速度は低速となる.