Mercurial > hg > Papers > 2022 > kiyama-thesis
changeset 6:271532d37fe5
draft
author | kiyama <e185758@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 30 Jan 2022 16:43:47 +0900 |
parents | ff6f870063b5 |
children | 173cf6494869 |
files | paper/figs/.DS_Store paper/figs/alert-add.png paper/figs/alert-list-all.png paper/figs/alert-list-ins.png paper/figs/alert-list.png paper/figs/mattermost-alert.png paper/figs/mmslash-command.drawio.png paper/figs/mmslash-command.png paper/src/loki-alert.yml paper/text/Jabstract.tex paper/text/experiment.aux paper/text/experiment.tex paper/text/introduction.aux paper/text/introduction.tex paper/text/mattermost.aux paper/text/mattermost.tex paper/text/reference.aux paper/text/reference.tex paper/text/summary.aux paper/text/summary.tex paper/text/system.aux paper/text/system.tex paper/text/technology.aux paper/thesis.dvi paper/thesis.lol paper/thesis.pdf paper/thesis.tex |
diffstat | 27 files changed, 218 insertions(+), 94 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/src/loki-alert.yml Sun Jan 30 16:43:47 2022 +0900 @@ -0,0 +1,9 @@ +groups: + - name: amane-fail2ban-log + rules: + - alert: amane-fail2ban-log + annotations: + message: "{{$labels.job}} has log" + expr: | + count_over_time(({job="amane_fail2ban_log"})[5m]) >= 0 + for: 5m \ No newline at end of file
--- a/paper/text/Jabstract.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/Jabstract.tex Sun Jan 30 16:43:47 2022 +0900 @@ -1,4 +1,4 @@ -知能情報の学科システム(以下学科システムとする)を運用する上で障害は必ず発生する.しかし現在学科システムには監視ツール・ログ収集が導入されておらず,障害が発生した際にはユーザーが報告するか管理者がサーバーに入って確認するしか方法がない.また障害発生時に対象サーバーにアクセス出来ない際にはエラーログを確認することができない.\\ +知能情報の学科システム(以下学科システムとする)を運用する上で障害は必ず発生する.しかし現在学科システムには監視ツール・ログ収集が導入されておらず,障害が発生した際にはユーザーが報告するか管理者がサーバーに入って確認するしか方法がない.さらに障害発生時には対象サーバーにアクセス出来ない際にはエラーログを確認することができない.\\ また監視システムを導入する際に死活監視・ログ収集では稼働しているサービスを対象として構築するが,アラート送信の機能は運用していく中で過不足が無いように調整が必要と考える. その為,アラートルールは組織全体で調整しながら運用する方針をとる. その際,通常のアラートルール編集方法では,作業者は編集後に作業をまとめる必要や第三者はその作業手順を探さないといけない問題があり属人化する恐れがある.\\
--- a/paper/text/experiment.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/experiment.aux Sun Jan 30 16:43:47 2022 +0900 @@ -1,27 +1,32 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}監視環境}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}監視環境}{10}\protected@file@percent } \@writefile{lof}{\addvspace {10\jsc@mpt }} \@writefile{lot}{\addvspace {10\jsc@mpt }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}検証環境}{9}\protected@file@percent } -\newlabel{src:Queue.h}{{4.1}{9}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}docker-compose.yml}{9}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces monitoring-system}}{11}\protected@file@percent } -\newlabel{fig:monitoring-system}{{4.1}{11}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}システム監視}{11}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces monitoring-system}}{12}\protected@file@percent } -\newlabel{fig:prometheus-expr}{{4.2}{12}} -\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces grafana-login}}{13}\protected@file@percent } -\newlabel{fig:grafana-login}{{4.3}{13}} -\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces grafana-prometheus}}{13}\protected@file@percent } -\newlabel{fig:grafana-prometheus}{{4.4}{13}} -\@writefile{toc}{\contentsline {section}{\numberline {4.3}ログ収集}{14}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces loki-grafana}}{14}\protected@file@percent } -\newlabel{fig:loki-grafana}{{4.5}{14}} -\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces loki-dashboard}}{15}\protected@file@percent } -\newlabel{fig:loki-dashboard}{{4.6}{15}} -\@writefile{toc}{\contentsline {section}{\numberline {4.4}アラート送信}{15}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.1}検証環境}{10}\protected@file@percent } +\newlabel{src:docker-compose}{{4.1}{10}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}監視環境のdocker-compose.yml}{10}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces monitoring-system}}{12}\protected@file@percent } +\newlabel{fig:monitoring-system}{{4.1}{12}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}システム監視}{12}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces monitoring-system}}{13}\protected@file@percent } +\newlabel{fig:prometheus-expr}{{4.2}{13}} +\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces grafana-login}}{14}\protected@file@percent } +\newlabel{fig:grafana-login}{{4.3}{14}} +\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces grafana-prometheus}}{14}\protected@file@percent } +\newlabel{fig:grafana-prometheus}{{4.4}{14}} +\@writefile{toc}{\contentsline {section}{\numberline {4.3}ログ収集}{15}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces loki-grafana}}{15}\protected@file@percent } +\newlabel{fig:loki-grafana}{{4.5}{15}} +\citation{grafana} +\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces loki-dashboard}}{16}\protected@file@percent } +\newlabel{fig:loki-dashboard}{{4.6}{16}} +\@writefile{toc}{\contentsline {section}{\numberline {4.4}アラート送信}{16}\protected@file@percent } +\newlabel{src:loki-alert}{{4.2}{16}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.2}lokiのアラートルールファイル}{16}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {4.7}{\ignorespaces mattermostにalertが送信される様子}}{17}\protected@file@percent } +\newlabel{fig:mattermost-alert}{{4.7}{17}} \@setckpt{./text/experiment}{ -\setcounter{page}{16} +\setcounter{page}{18} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} @@ -36,9 +41,9 @@ \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} -\setcounter{figure}{6} +\setcounter{figure}{7} \setcounter{table}{0} \setcounter{parentequation}{0} -\setcounter{lstnumber}{51} -\setcounter{lstlisting}{1} +\setcounter{lstnumber}{10} +\setcounter{lstlisting}{2} }
--- a/paper/text/experiment.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/experiment.tex Sun Jan 30 16:43:47 2022 +0900 @@ -1,10 +1,11 @@ \chapter{監視環境} -本研究では,システム障害の早期発見のために学科システムに監視システムの構築方法とその際に発生するアラートルールの属人化を防ぐためのスラッシュコマンドを用いたアラートルールの編集方法を提案する. +本章では,システム障害の早期発見のための監視システムの構築方法とその様子を示す. \section{検証環境} 本実験では全ての監視システムをコンテナ上に構築しており,docker-compose.ymlファイルからpodmanでコンテナを作成する形を取っている. -作成したdocker-compose.ymlファイルを載せる. -\lstinputlisting[label=src:Queue.h, caption=docker-compose.yml]{src/docker-compose.yml} +作成したdocker-compose.ymlファイル\ref{src:docker-compose}を載せる. + +\lstinputlisting[label=src:docker-compose, caption=監視環境のdocker-compose.yml]{src/docker-compose.yml} サービスの死活監視はprometheus,ログ収集はloki,それらのデータ可視化はgrafana,アラート送信はalertmanagerを用いて構築している. システム監視の構成図を\ref{fig:monitoring-system}に示す. @@ -23,7 +24,7 @@ \section{システム監視} 各サービスのリソース・死活監視はpromethrusを用いて行っている.\\ -prometheusはブラウザで収集したデータを表示する機能を持っている. +prometheusは収集したデータをブラウザで表示する機能を持っている. 図\ref{fig:prometheus-expr}に各expoterサーバーからprometheusに集めた情報をブラウザを通じて表示する様子を示す. \newpage @@ -41,6 +42,7 @@ 図\ref{fig:grafana-login}にgrafanaでのログイン画面を示す.\\ 図\ref{fig:grafana-prometheus}に示すようにgrafanaを用いてダッシュボードの作成ができる. また,これらのダッシュボードは自身でカスタムしたりgrafanaに登録されてあるダッシュボードをインポートすることで,よく使用する情報を登録することが可能である. +図\ref{fig:grafana-prometheus}ではnginxの状態を監視しており,一番上の文字で表示されているのが死活状況,左下が単位時間ごと受け入れられた通信率と処理された通信率,右下が接続に成功,読み込み中,待機中,応答をレスポンスしている状態のグラフである. \begin{figure}[htbp] \begin{center} @@ -84,14 +86,29 @@ \begin{figure}[htbp] \begin{center} - \includegraphics[width=110mm]{figs/loki-dashboard.png} + \includegraphics[width=130mm]{figs/loki-dashboard.png} \caption[loki-dashboard]{grafanaのダッシュボードでlogを表示.} \label{fig:loki-dashboard} \end{center} \end{figure} \section{アラート送信} -prometheus,loki共に設定ファイルにalertmanagerとの疎通を取れるurlを記入することで連携が可能。 +システムのリソース状態や死活状態,ログ情報は安定してシステムを運用する上で把握しておくべき情報である. +しかし,人間が24時間365日稼働しているシステムを監視し続けるのは現実的ではない. +その為指定したログが出力されたりサービスが死んだ際に管理者に通知する仕組みが必要でありそれがアラート機能である.\\ +また,prometheus,loki共に設定ファイルにalertmanagerのurlを記入することで連携が可能である. +またアラートルールのファイル形式についてgrafanaの公式サイトは「Loki alerting rules are exactly the same, except they use LogQL for their expressions. 」\cite{grafana} +と明言している事からここではlokiのアラートルールのみを紹介する.\\ +ソースコード\ref{src:loki-alert}がlokiのアラートルールファイルである.このコードの7行目がアラートを制御する部分であり5分周期でログの有無を確認しログが生成されていたらalertmanagerにクエリを送信するようなコードになっている. + +\lstinputlisting[label=src:loki-alert, caption=lokiのアラートルールファイル]{src/loki-alert.yml} -alertmanagerからmattermostに対しアラートを送信する際はmattermostのwebhook機能を用いて送信している。 -以下がアラート送信の様子である。 +また,アラートはmattermostに通知されるようになっており図\ref{fig:mattermost-alert}が実際に送信されたアラートである. + +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=110mm]{figs/mattermost-alert.png} + \caption[mattermostにalertが送信される様子]{mattermostにalertが送信される様子.} + \label{fig:mattermost-alert} + \end{center} +\end{figure} \ No newline at end of file
--- a/paper/text/introduction.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/introduction.aux Sun Jan 30 16:43:47 2022 +0900 @@ -5,7 +5,7 @@ \@writefile{toc}{\contentsline {section}{\numberline {1.1}学科システム}{1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {1.2}論文の構成}{1}\protected@file@percent } \@setckpt{./text/introduction}{ -\setcounter{page}{2} +\setcounter{page}{3} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0}
--- a/paper/text/introduction.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/introduction.tex Sun Jan 30 16:43:47 2022 +0900 @@ -1,7 +1,7 @@ \chapter{システムの運用における監視} \section{学科システム} -サービスを保守運用していく中でシステム障害は発生するものである.その障害がソフトウェアや機器の問題であったり停電などが原因である場合など挙げられるがいずれにせよ,サービスの安定運用を考えていく上でシステムの不調を早期に発見することが必要となってくる.知能情報コースでは,五年に一度システムを更新しており,現在のシステムでは監視ツール及びログ可視化のシステムが組まれておらずサーバーに入ってサービスの状態を確認したり,実際にトラブルが起きるまでシステム障害に気づくことができない.\\ +サービスを保守運用していく中でシステム障害は発生するものである.その障害がソフトウェアや機器の問題であったり外部からの攻撃などが原因である場合など挙げられるがいずれにせよ,サービスの安定運用を考えていく上でシステムの不調を早期に発見することが必要となってくる.知能情報コースでは,五年に一度システムを更新しており,現在のシステムでは監視ツール及びログ可視化のシステムが組まれていない.その為,サーバーに入ってサービスの状態を確認したり,実際にトラブルが起きるまでシステム障害に気づくことができない.\\ また,通常の監視システムは管理者がサーバーにログインし,CLI上でアラートルールを編集する必要があり,作業ログを纏めたり第三者はそれを探す手間がかかる.\\ そのため本研究ではシステム障害の早期発見を目的とした監視システムと障害発生時の対応を柔軟にするためにログ収集の提案をする. また,アラートルールの属人化を防ぐ為のmattermostのslash commandを用いた変更方法の提案をする. @@ -15,7 +15,9 @@ 第3章では,現システムの状況と問題点について述べる. -第4章では,提案システムの構築方法について述べる. +第4章では,監視システムの構築方法について述べる. -第5章では,本論文のまとめと今後の展望について述べる. +第5章では,mattermostのスラッシュコマンドを用いたアラートルールの変更方法について述べる. +第6章では,本論文のまとめと今後の展望について述べる. +
--- a/paper/text/mattermost.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/mattermost.aux Sun Jan 30 16:43:47 2022 +0900 @@ -1,12 +1,21 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}mattermostからのalert rule変更方法}{16}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}mattermostからのアラートルール変更}{18}\protected@file@percent } \@writefile{lof}{\addvspace {10\jsc@mpt }} \@writefile{lot}{\addvspace {10\jsc@mpt }} -\@writefile{toc}{\contentsline {section}{\numberline {5.1}構成時}{16}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.2}コマンド一覧}{16}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.3}alertruleの変更手順}{16}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5.1}構成}{18}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces mattermostからアラートを編集}}{18}\protected@file@percent } +\newlabel{fig:mattermost-slash}{{5.1}{18}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}コマンド一覧}{19}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces mattermostからアラートを追加する様子}}{19}\protected@file@percent } +\newlabel{fig:alert-add}{{5.2}{19}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces mattermostからアラート名を表示する様子}}{19}\protected@file@percent } +\newlabel{fig:alert-list}{{5.3}{19}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces mattermostからアラート全体を表示する様子}}{20}\protected@file@percent } +\newlabel{fig:alert-list-all}{{5.4}{20}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces mattermostから特定のアラートルールを表示する様子}}{20}\protected@file@percent } +\newlabel{fig:alert-list-ins}{{5.5}{20}} \@setckpt{./text/mattermost}{ -\setcounter{page}{17} +\setcounter{page}{21} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} @@ -16,14 +25,14 @@ \setcounter{mpfootnote}{0} \setcounter{part}{0} \setcounter{chapter}{5} -\setcounter{section}{3} +\setcounter{section}{2} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} -\setcounter{figure}{0} +\setcounter{figure}{5} \setcounter{table}{0} \setcounter{parentequation}{0} -\setcounter{lstnumber}{51} +\setcounter{lstnumber}{10} \setcounter{lstlisting}{0} }
--- a/paper/text/mattermost.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/mattermost.tex Sun Jan 30 16:43:47 2022 +0900 @@ -1,6 +1,63 @@ -\chapter{mattermostからのalert rule変更方法} -本研究では,システム障害の早期発見のために学科システムに監視システムの構築方法とその際に発生するアラートルールの属人化を防ぐためのスラッシュコマンドを用いたアラートルールの編集方法を提案する. +\chapter{mattermostからのアラートルール変更} +本章では,監視システム運用の際に発生するアラートルールの属人化を防ぐためのスラッシュコマンドを用いたアラートルールの編集方法を提案する. + +\section{構成} +監視システムと同一のサーバーにAPIサーバーを立てmattermostから送信されたget,postリクエストに対し処理を行う。 +図\ref{fig:mattermost-slash}に構成図を示す. +\\ +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=80mm]{figs/mmslash-command.png} + \caption[mattermostからアラートを編集]{構成図.} + \label{fig:mattermost-slash} + \end{center} +\end{figure} + +mattermostのスラッシュコマンドは/から始まるコマンドを打つ事でGET/POSTリクエストが送ることができる.また引数にはPOSTリクエストのBodyを指定することが出来る. +提案手法ではスラッシュコマンドに作成したWEB APIのURLを紐付けた. + +\section{コマンド一覧} +以下で本研究で作成したコマンドの説明を行う.\\ +想定している操作は全てアラートルールの編集に関するものでありそれぞれ第一引数によって処理を分けている.\\ +アラートルールを追加する場合は\/alert add \$alertname \$label \$pattern \$timeを入力する.\\ +引数の意味はそれぞれ\$alertnameはアラートが送信される時のアラート名,\$labelはアラートに紐付いているラベル,\$patternはログに含まれていた際にカウントする文字列,\$timeはアラートを送信する周期を指定している.\\ +図\ref{fig:alert-add}に\/alert addコマンドを使用してアラートを追加した様子を示す. -\section{構成時} -\section{コマンド一覧} -\section{alertruleの変更手順} \ No newline at end of file +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=100mm]{figs/alert-add.png} + \caption[mattermostからアラートを追加する様子]{mattermostからアラートを追加する様子.} + \label{fig:alert-add} + \end{center} +\end{figure} + +/alert listは登録したアラートルールを表示する.\\ +図\ref{fig:alert-list}のようにlistの後ろに引数なしでコマンドを入力すると登録されているアラート名のみが表示される. + +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=100mm]{figs/alert-list.png} + \caption[mattermostからアラート名を表示する様子]{mattermostからアラート名を表示する様子.} + \label{fig:alert-list} + \end{center} +\end{figure} + +アラートルールの詳細が見たい場合は図\ref{fig:alert-list-all}のようにlistの後ろにallコマンドを入力することで確認することが出来る. + +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=100mm]{figs/alert-list-all.png} + \caption[mattermostからアラート全体を表示する様子]{mattermostからアラート全体を表示する様子.} + \label{fig:alert-list-all} + \end{center} +\end{figure} + +また,アラートルールの詳細が見たい場合は図\ref{fig:alert-list-ins}のようにlistの後ろにアラート名を入力することで指定したアラートルールのみが表示できる. + +\begin{figure}[htbp] + \begin{center} + \includegraphics[width=100mm]{figs/alert-list-ins.png} + \caption[mattermostから特定のアラートルールを表示する様子]{mattermostから特定のアラートルールを表示する様子.} + \label{fig:alert-list-ins} + \end{center} +\end{figure} \ No newline at end of file
--- a/paper/text/reference.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/reference.aux Sun Jan 30 16:43:47 2022 +0900 @@ -1,12 +1,12 @@ \relax \bibcite{ref-related-work}{1} -\bibcite{ref-journal}{2} +\bibcite{grafana}{2} \bibcite{ref-book}{3} -\bibcite{ref-proceedings}{4} -\bibcite{ref-report1}{5} -\@writefile{toc}{\contentsline {chapter}{参考文献}{20}\protected@file@percent } +\bibcite{Brian Brazil}{4} +\bibcite{155719A_diss}{5} +\@writefile{toc}{\contentsline {chapter}{参考文献}{23}\protected@file@percent } \@setckpt{./text/reference}{ -\setcounter{page}{21} +\setcounter{page}{24} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} @@ -15,8 +15,8 @@ \setcounter{footnote}{0} \setcounter{mpfootnote}{0} \setcounter{part}{0} -\setcounter{chapter}{7} -\setcounter{section}{0} +\setcounter{chapter}{6} +\setcounter{section}{2} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} @@ -24,6 +24,6 @@ \setcounter{figure}{0} \setcounter{table}{0} \setcounter{parentequation}{0} -\setcounter{lstnumber}{51} +\setcounter{lstnumber}{10} \setcounter{lstlisting}{0} }
--- a/paper/text/reference.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/reference.tex Sun Jan 30 16:43:47 2022 +0900 @@ -2,16 +2,16 @@ \bibitem{ref-related-work} Prometheus - Monitoring system \& time series database, Prometheus.io, \url{https://prometheus.io/}, 2022/01/28. -\bibitem{ref-journal} -著者名, ``論文タイトル,'' 雑誌名, vol, no, page, year. +\bibitem{grafana} +Grafana: The open observability platform | Grafana Labss, \url{https://grafana.com/}, 2022/01/28. \bibitem{ref-book} 著者名, ``書籍タイトル,'' (編集者名), 出版社名, 発行都市名, 発行年. -\bibitem{ref-proceedings} -著者名, ``論文タイトル,'' 学会名もしくは会議名, no.論文番号, ページ, 開催都市名, 開催国名, year. +\bibitem{Brian Brazil} Brian Brazil, 入門Prometheus--インフラとアプリケーションのパフォーマンスモニタリング, O'Reilly Japan, 2019. + -\bibitem{ref-report1} -見延庄太郎,理系のためのレポート・論文完全ナビ,講談社, 2016. +\bibitem{155719A_diss} 竹松涼,"トラブルシューティング向上のためのログサーバ可視化の提案", 知能情報学会誌, 2019 + \end{thebibliography}
--- a/paper/text/summary.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/summary.aux Sun Jan 30 16:43:47 2022 +0900 @@ -1,11 +1,11 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}まとめ}{17}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}まとめ}{21}\protected@file@percent } \@writefile{lof}{\addvspace {10\jsc@mpt }} \@writefile{lot}{\addvspace {10\jsc@mpt }} -\@writefile{toc}{\contentsline {section}{\numberline {6.1}総括}{17}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.2}今後の課題}{17}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.1}総括}{21}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.2}今後の課題}{21}\protected@file@percent } \@setckpt{./text/summary}{ -\setcounter{page}{18} +\setcounter{page}{22} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0} @@ -23,6 +23,6 @@ \setcounter{figure}{0} \setcounter{table}{0} \setcounter{parentequation}{0} -\setcounter{lstnumber}{51} +\setcounter{lstnumber}{10} \setcounter{lstlisting}{0} }
--- a/paper/text/summary.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/summary.tex Sun Jan 30 16:43:47 2022 +0900 @@ -1,3 +1,11 @@ \chapter{まとめ} \section{総括} -\section{今後の課題} \ No newline at end of file +本研究では障害の早期発見,対応の為の監視システムと属人化しない為のアラートルールの変更方法を提案した.\\ +第1章では本研究の背景や目的について述べた.\\ +第2章では本研究で使用した技術概要について述べた.\\ +第3章では現在の学科システムの問題点と監視システムを導入した後に起こりうる問題を述べた.\\ +第4章では提案する監視システムの構築方法,それぞれの動作の様子について述べた.\\ +第5章ではmattermostを用いたアラートルールの編集方法について述べた.\\ +システム管理チームは教員と学生が中心となっており,学生は学部一年から所属しても4年,もしくは6年で卒業してしまう事から他者に共有できる形でアラートルールを編集する事でチーム全体としての理解が深まると考える. + +\section{今後の課題}
--- a/paper/text/system.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/system.aux Sun Jan 30 16:43:47 2022 +0900 @@ -1,11 +1,11 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}現在の学科システム}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}現在の学科システム}{8}\protected@file@percent } \@writefile{lof}{\addvspace {10\jsc@mpt }} \@writefile{lot}{\addvspace {10\jsc@mpt }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}問題点}{7}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.2}監視システムを運用する上での課題}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3.1}問題点}{8}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3.2}監視システムを運用する上での課題}{8}\protected@file@percent } \@setckpt{./text/system}{ -\setcounter{page}{9} +\setcounter{page}{10} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0}
--- a/paper/text/system.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/system.tex Sun Jan 30 16:43:47 2022 +0900 @@ -1,14 +1,18 @@ \chapter{現在の学科システム} 本章では現在の学科システムの問題点及び監視システムを導入する際に発生するであろう問題点について述べる. \section{問題点} -現在学科システムにはシステム監視、ログ収集、アラート送信などの異常検知の機能が無く,システム障害やサイバー攻撃の早期発見・事後対応が困難である. +現在学科システムにはシステム監視、ログ収集、アラート送信などの異常検知の機能が無く,システム障害や攻撃の早期発見・事後対応が困難である. 実際に2021/08月にはレンタルサーバーと基幹サーバーで障害が発生した.その際に利用者からサーバー上で動作しているサービスが使用出来ないという報告を受けて障害に気づいた.また,該当サーバーが物理故障しており,原因調査の為ログを確認したかったがサーバーにアクセス出来なかった為調査開始に時間がかかった. また,10月から11月にかけては学科で運用しているgitlabが脆弱性を突かれ攻撃された.実際に攻撃を受ける前に総当たり攻撃が失敗していたりユーザーに対して警告メールが送信されていたが攻撃に使用されているのに気づいたのは報告を受けてからだった. +本研究では,障害の早期発見や事後対応を円滑に進める為に監視システムの提案を行う. + \section{監視システムを運用する上での課題} -監視システムを運用していく中でアラートルールは通知される量やその精度に応じて調整する必要があり,障害は個人ではなく組織として対応する為全ての変更はグループ全体が理解しているのが好ましい. +監視システムを運用していく中でアラートルールは通知される量やその精度に応じて調整する必要があり,障害は個人ではなく組織として対応する為,全ての変更はグループ全体が理解しているのが好ましい. しかし通常では一人がサーバーにアクセスしてCLI上での変更が必要となる. 上記の方法では第三者に編集内容を伝える方法としてログなどにまとめるしか無く,また第三者はログを自分で探す必要がある. + +その為学科で使用しているチャットサービスであるmattermostからアラートルールを変更する事で属人化を防ぐ. \ No newline at end of file
--- a/paper/text/technology.aux Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/text/technology.aux Sun Jan 30 16:43:47 2022 +0900 @@ -1,24 +1,24 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第2章}技術概要}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第2章}技術概要}{3}\protected@file@percent } \@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}PromQL}{2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.3}exporter}{3}\protected@file@percent } -\@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}{3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.8}mattermost}{4}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.9}コンテナ型}{4}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces container}}{5}\protected@file@percent } -\newlabel{fig:container}{{2.1}{5}} -\@writefile{toc}{\contentsline {section}{\numberline {2.10}docker}{5}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.11}podman}{5}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.12}ハイパーバイザ}{6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2.13}kvm}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.1}prometheus}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.2}PromQL}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.3}exporter}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.4}alertmanager}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.5}loki}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.6}promtail}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.7}grafana}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.8}mattermost}{5}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.9}コンテナ型}{5}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces container}}{6}\protected@file@percent } +\newlabel{fig:container}{{2.1}{6}} +\@writefile{toc}{\contentsline {section}{\numberline {2.10}docker}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.11}podman}{6}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.12}ハイパーバイザ}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2.13}kvm}{7}\protected@file@percent } \@setckpt{./text/technology}{ -\setcounter{page}{7} +\setcounter{page}{8} \setcounter{equation}{0} \setcounter{enumi}{0} \setcounter{enumii}{0}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/thesis.lol Sun Jan 30 16:43:47 2022 +0900 @@ -0,0 +1,2 @@ +\contentsline {lstlisting}{\numberline {4.1}監視環境のdocker-compose.yml}{9}% +\contentsline {lstlisting}{\numberline {4.2}lokiのアラートルールファイル}{15}%
--- a/paper/thesis.tex Thu Jan 27 19:28:25 2022 +0900 +++ b/paper/thesis.tex Sun Jan 30 16:43:47 2022 +0900 @@ -4,6 +4,8 @@ \usepackage{url} \usepackage{comment} +\renewcommand{\lstlistlistingname}{ソースコード目次} + \jtitle{障害対応のための学科システムへの監視の検証} \title{Verification of monitoring to Information Departments systems for failure response} @@ -50,7 +52,7 @@ \listoffigures % 表も軸,表がある場合のみ -\listoftables +% \listoftables % pagecounter settings \setcounter{page}{0} %Don't remove. @@ -74,9 +76,18 @@ % まとめ \include{./text/summary} -\chapter{今後の展望} + \chapter*{謝辞} +本研究開始当初は,長田教授のもとで研究を進めてまいりました.しかし,半ばにお +いてご逝去されました.心よりご冥福お祈り申し上げます.その後,河野准教授のもとで本研究の遂行,本論文の作成にあたりました.御多忙にも関わらず終始懇切なる御指導と御教授を賜わりましたこと深く感謝したします.\\ +また,ご多忙にもかかわらず様々な視点から本研究に対する助言を与え,ここまで導いてくださったサイバーセキュリティ研究開発センターの柏崎礼生特任准教授に感謝申し上げます.\\ +そして、共に研究を行い暖かな気遣いと励ましをもって支えてくれた並列信頼研究室の全てのメンバーに感謝致します.\\ +最後に,有意義な時間を共に過ごした知能情報コースの学友,並びに物心両面で支えてくれた家族に深く感謝致します. + +\begin{flushright} +2021年 2月 \\木山 瑞基 +\end{flushright} % reference \include{./text/reference}