Mercurial > hg > Papers > 2022 > kiyama-thesis
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を不要とするがコンテナ型と比べて起動速度は低速となる.