# HG changeset patch # User kiyama # Date 1642328898 -32400 # Node ID b6dde3a2e38e478b5e59209df29b8c959869e59c # Parent 6813753e220df1f4edb67cc8e7e64747352729f6 add technology and system diff -r 6813753e220d -r b6dde3a2e38e paper/figs/prometheus_expr.png Binary file paper/figs/prometheus_expr.png has changed diff -r 6813753e220d -r b6dde3a2e38e paper/text/experiment.aux --- a/paper/text/experiment.aux Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/experiment.aux Sun Jan 16 19:28:18 2022 +0900 @@ -1,14 +1,14 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}提案手法}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}提案手法}{7}\protected@file@percent } \@writefile{lof}{\addvspace {10\jsc@mpt }} \@writefile{lot}{\addvspace {10\jsc@mpt }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}死活監視}{6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.2}ログ収集}{6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.3}データ可視化}{6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.4}アラート送信}{6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.5}mattermostからのalert変更}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.1}死活監視}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.2}ログ収集}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.3}データ可視化}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.4}アラート送信}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.5}mattermostからのalert変更}{7}\protected@file@percent } \@setckpt{./text/experiment}{ -\setcounter{page}{7} +\setcounter{page}{8} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} diff -r 6813753e220d -r b6dde3a2e38e paper/text/introduction.tex --- a/paper/text/introduction.tex Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/introduction.tex Sun Jan 16 19:28:18 2022 +0900 @@ -11,9 +11,9 @@ 第2章では,本研究で必要な技術概念を述べる. -第3章では, +第3章では,現システムの状況と問題点について述べる. -第4章では, +第4章では,提案システムの構築方法について述べる. -第5章では,本論文のまとめと今後の展望について述べる. +第5章では,本論文のまとめと今後の展望について述べる. diff -r 6813753e220d -r b6dde3a2e38e paper/text/reference.aux --- a/paper/text/reference.aux Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/reference.aux Sun Jan 16 19:28:18 2022 +0900 @@ -12,9 +12,9 @@ \bibcite{ref-web}{11} \bibcite{ref-report1}{12} \bibcite{ref-report2}{13} -\@writefile{toc}{\contentsline {chapter}{参考文献}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{参考文献}{10}\protected@file@percent } \@setckpt{./text/reference}{ -\setcounter{page}{10} +\setcounter{page}{11} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} diff -r 6813753e220d -r b6dde3a2e38e paper/text/summary.aux --- a/paper/text/summary.aux Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/summary.aux Sun Jan 16 19:28:18 2022 +0900 @@ -1,6 +1,6 @@ \relax \@setckpt{./text/summary}{ -\setcounter{page}{7} +\setcounter{page}{8} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} diff -r 6813753e220d -r b6dde3a2e38e paper/text/system.aux --- a/paper/text/system.aux Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/system.aux Sun Jan 16 19:28:18 2022 +0900 @@ -5,7 +5,7 @@ \@writefile{toc}{\contentsline {section}{\numberline {3.1}問題点}{5}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3.2}監視システムを運用する上での課題}{5}\protected@file@percent } \@setckpt{./text/system}{ -\setcounter{page}{6} +\setcounter{page}{7} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} diff -r 6813753e220d -r b6dde3a2e38e paper/text/system.tex --- a/paper/text/system.tex Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/system.tex Sun Jan 16 19:28:18 2022 +0900 @@ -1,3 +1,17 @@ \chapter{現在の学科システム} +本章では、 \section{問題点} -\section{監視システムを運用する上での課題} \ No newline at end of file +・当初(今でも)学科システムにはシステム監視、ログ収集、アラート送信などの異常検知の機能が無く、システム障害やサイバー攻撃の早期発見・事後対応が困難になっていた。 + +・実際に2021/08月にはレンタルサーバーと基幹サーバーで障害が発生した。その時の障害の原因としては機器の物理故障とドライバのアップデートによる物だった。その為、システム監視やログ収集によって解決できる問題ではないが原因の調査する際に大いに役立つものと考える + +・また、10月から11月にかけては学科で運用しているgitlabが脆弱性を突かれ攻撃された。このケースでは攻撃を受ける前に総当たり攻撃の失敗やgitlabの使用者に対して警告メールが飛ぶなどの予兆があった為、監視システムを用いることで事前に攻撃を防げたものと考える。 + +\section{監視システムを運用する上での課題} +・また、これらの監視システムを導入し、運用する上でも課題があると考える。 +システムのリソースなどの情報やログをブラウザから見れるようにする事でCLIで確認するよりもみやすくなる。 +しかし、その中から人の目で不審なログやシステムの不調をピンポイントで見つけるのは困難である。その為、アラート機能を活用する事で管理者は必要な情報(インシデントに直結するような情報)のみを入手することができる。 + +適切なアラートルールを設定する際にノウハウが属人化する恐れがある +現在、scrapboxに記事を書いているが第三者に伝わり切らない場合や禁輸漏れがある。 +記事として纏めても各々が検索して確認しないといけない \ No newline at end of file diff -r 6813753e220d -r b6dde3a2e38e paper/text/technology.aux --- a/paper/text/technology.aux Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/technology.aux Sun Jan 16 19:28:18 2022 +0900 @@ -3,16 +3,20 @@ \@writefile{lof}{\addvspace {10\jsc@mpt }} \@writefile{lot}{\addvspace {10\jsc@mpt }} \@writefile{toc}{\contentsline {section}{\numberline {2.1}prometheus}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.2}exporter}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.3}alertmanager}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.4}loki}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.5}promtail}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.6}grafana}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.7}docker}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.8}podman}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.9}コンテナ}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.10}kvm}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.11}ハイパーバイザ}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.2}PromQL}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.3}exporter}{2}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces 図目次用の短いキャプション}}{3}\protected@file@percent } +\newlabel{fig:name}{{2.1}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {2.4}alertmanager}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.5}loki}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.6}promtail}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.7}grafana}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.8}mattermost}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.9}docker}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.10}podman}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.11}コンテナ}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.12}kvm}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.13}ハイパーバイザ}{4}\protected@file@percent } \@setckpt{./text/technology}{ \setcounter{page}{5} \setcounter{equation}{0} @@ -24,12 +28,12 @@ \setcounter{mpfootnote}{0} \setcounter{part}{0} \setcounter{chapter}{2} -\setcounter{section}{11} +\setcounter{section}{13} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} -\setcounter{figure}{0} +\setcounter{figure}{1} \setcounter{table}{0} \setcounter{parentequation}{0} } diff -r 6813753e220d -r b6dde3a2e38e paper/text/technology.tex --- a/paper/text/technology.tex Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/text/technology.tex Sun Jan 16 19:28:18 2022 +0900 @@ -1,30 +1,54 @@ \chapter{技術概要} \section{prometheus} -オープンソースのメトリクスベースのモニタリングシステムである.対象サービスから監視サーバーに対し情報を取得するpull型を採用しており,取得したデータは時系列データベースに保存される.特徴としてそれぞれのデータに付与されているラベルごとに情報をまとめることが出来る. +オープンソースのメトリクスベースのモニタリングシステムである.対象サービスから監視サーバーに対し情報を取得するpull型を採用しており,取得したデータは時系列データベースに保存される.特徴としてそれぞれのデータに付与されているラベルごとに情報をまとめることが出来る.また、promQLという独自のクエリ言語を扱う事でアラート管理コンポーネントであるalertmanagerにクエリを発行することができる. + +\section{PromQL} +prometheusの時系列データを扱うことに特化したクエリ言語である.グラフやprometheusの式ブラウザ + +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=120mm]{./figs/prometheus_expr.png} + \caption[図目次用の短いキャプション]{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を不要とするがコンテナ型と比べて起動速度は低速となる. \ No newline at end of file diff -r 6813753e220d -r b6dde3a2e38e paper/thesis.pdf Binary file paper/thesis.pdf has changed diff -r 6813753e220d -r b6dde3a2e38e paper/thesis.tex --- a/paper/thesis.tex Fri Jan 14 20:44:37 2022 +0900 +++ b/paper/thesis.tex Sun Jan 16 19:28:18 2022 +0900 @@ -35,10 +35,10 @@ % Technology Overview \include{./text/technology} -% system +% system問題点 \include{./text/system} -% experiment +% experiment提案手法 \include{./text/experiment} % まとめ