Mercurial > hg > Papers > 2022 > kiyama-thesis
changeset 7:173cf6494869
add Issue
author | kiyama <e185758@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 30 Jan 2022 20:23:01 +0900 |
parents | 271532d37fe5 |
children | 694f3a6e2219 |
files | paper/text/Jabstract.tex paper/text/experiment.aux paper/text/experiment.tex paper/text/reference.aux paper/text/reference.tex paper/text/summary.aux paper/text/summary.tex paper/text/technology.tex paper/thesis.dvi paper/thesis.pdf |
diffstat | 10 files changed, 33 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/text/Jabstract.tex Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/Jabstract.tex Sun Jan 30 20:23:01 2022 +0900 @@ -1,6 +1,6 @@ -知能情報の学科システム(以下学科システムとする)を運用する上で障害は必ず発生する.しかし現在学科システムには監視ツール・ログ収集が導入されておらず,障害が発生した際にはユーザーが報告するか管理者がサーバーに入って確認するしか方法がない.さらに障害発生時には対象サーバーにアクセス出来ない際にはエラーログを確認することができない.\\ +知能情報の学科システム(以下学科システムとする)を運用する上で障害は必ず発生する.しかし現在学科システムには監視ツール・ログ収集が導入されておらず,障害が発生した際にはユーザーが報告するか管理者がサーバーに入って確認するしか方法がない.さらに障害発生時に対象サーバーにアクセス出来ない場合エラーログを確認することができない.\\ また監視システムを導入する際に死活監視・ログ収集では稼働しているサービスを対象として構築するが,アラート送信の機能は運用していく中で過不足が無いように調整が必要と考える. -その為,アラートルールは組織全体で調整しながら運用する方針をとる. +その為,アラートの送信を制御するアラートルールは組織全体で調整しながら運用する方針をとる. その際,通常のアラートルール編集方法では,作業者は編集後に作業をまとめる必要や第三者はその作業手順を探さないといけない問題があり属人化する恐れがある.\\ そこで本研究では安定した運用のための学科システムに監視ツール及びログ収集サービスの実装の検討をする.\\ -また運用していく中でアラートルールの属人化を防ぐ為のmattermostのslash commandを用いた変更方法の提案をする. \ No newline at end of file +また運用していく中でアラートルールの属人化を防ぐ為のmattermostのスラッシュコマンドを用いた変更方法の提案をする. \ No newline at end of file
--- a/paper/text/experiment.aux Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/experiment.aux Sun Jan 30 20:23:01 2022 +0900 @@ -21,8 +21,8 @@ \@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 } +\newlabel{src:loki-alert}{{4.2}{17}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {4.2}lokiのアラートルールファイル}{17}\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}{
--- a/paper/text/experiment.tex Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/experiment.tex Sun Jan 30 20:23:01 2022 +0900 @@ -95,10 +95,10 @@ \section{アラート送信} システムのリソース状態や死活状態,ログ情報は安定してシステムを運用する上で把握しておくべき情報である. しかし,人間が24時間365日稼働しているシステムを監視し続けるのは現実的ではない. -その為指定したログが出力されたりサービスが死んだ際に管理者に通知する仕組みが必要でありそれがアラート機能である.\\ +その為指定したログが出力されたりサービスが停止した際に管理者に通知する仕組みが必要でありそれがアラート機能である.\\ また,prometheus,loki共に設定ファイルにalertmanagerのurlを記入することで連携が可能である. またアラートルールのファイル形式についてgrafanaの公式サイトは「Loki alerting rules are exactly the same, except they use LogQL for their expressions. 」\cite{grafana} -と明言している事からここではlokiのアラートルールのみを紹介する.\\ +と明言しており,使用するQLを除いてアラートルールの記述方法は変わらない事からここではlokiのアラートルールのみを紹介する.\\ ソースコード\ref{src:loki-alert}がlokiのアラートルールファイルである.このコードの7行目がアラートを制御する部分であり5分周期でログの有無を確認しログが生成されていたらalertmanagerにクエリを送信するようなコードになっている. \lstinputlisting[label=src:loki-alert, caption=lokiのアラートルールファイル]{src/loki-alert.yml}
--- a/paper/text/reference.aux Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/reference.aux Sun Jan 30 20:23:01 2022 +0900 @@ -1,9 +1,11 @@ \relax -\bibcite{ref-related-work}{1} -\bibcite{grafana}{2} -\bibcite{ref-book}{3} -\bibcite{Brian Brazil}{4} -\bibcite{155719A_diss}{5} +\bibcite{Prometheus}{1} +\bibcite{Alertmanager}{2} +\bibcite{grafana}{3} +\bibcite{loki}{4} +\bibcite{Brian Brazil}{5} +\bibcite{Mike Julian}{6} +\bibcite{155719A_diss}{7} \@writefile{toc}{\contentsline {chapter}{参考文献}{23}\protected@file@percent } \@setckpt{./text/reference}{ \setcounter{page}{24} @@ -11,13 +13,13 @@ \setcounter{enumi}{0} \setcounter{enumii}{0} \setcounter{enumiii}{0} -\setcounter{enumiv}{5} +\setcounter{enumiv}{7} \setcounter{footnote}{0} \setcounter{mpfootnote}{0} \setcounter{part}{0} \setcounter{chapter}{6} \setcounter{section}{2} -\setcounter{subsection}{0} +\setcounter{subsection}{1} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0}
--- a/paper/text/reference.tex Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/reference.tex Sun Jan 30 20:23:01 2022 +0900 @@ -1,15 +1,21 @@ \begin{thebibliography}{99} -\bibitem{ref-related-work} + +\bibitem{Prometheus} Prometheus - Monitoring system \& time series database, Prometheus.io, \url{https://prometheus.io/}, 2022/01/28. +\bibitem{Alertmanager} +Alertmanager | Prometheus, Prometheus.io, \url{https://prometheus.io/docs/alerting/latest/alertmanager/}, 2022/01/28. + \bibitem{grafana} Grafana: The open observability platform | Grafana Labss, \url{https://grafana.com/}, 2022/01/28. -\bibitem{ref-book} -著者名, ``書籍タイトル,'' (編集者名), 出版社名, 発行都市名, 発行年. +\bibitem{loki} +Grafana Loki, \url{https://grafana.com/oss/loki/}, 2022/01/28. \bibitem{Brian Brazil} Brian Brazil, 入門Prometheus--インフラとアプリケーションのパフォーマンスモニタリング, O'Reilly Japan, 2019. +\bibitem{Mike Julian} Mike Julian, 入門監視--モダンなモニタリングのためのデザインパターン, O'Reilly Japan, 2019. + \bibitem{155719A_diss} 竹松涼,"トラブルシューティング向上のためのログサーバ可視化の提案", 知能情報学会誌, 2019
--- a/paper/text/summary.aux Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/summary.aux Sun Jan 30 20:23:01 2022 +0900 @@ -4,6 +4,7 @@ \@writefile{lot}{\addvspace {10\jsc@mpt }} \@writefile{toc}{\contentsline {section}{\numberline {6.1}総括}{21}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {6.2}今後の課題}{21}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}監視システムの運用}{21}\protected@file@percent } \@setckpt{./text/summary}{ \setcounter{page}{22} \setcounter{equation}{0} @@ -16,7 +17,7 @@ \setcounter{part}{0} \setcounter{chapter}{6} \setcounter{section}{2} -\setcounter{subsection}{0} +\setcounter{subsection}{1} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0}
--- a/paper/text/summary.tex Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/summary.tex Sun Jan 30 20:23:01 2022 +0900 @@ -6,6 +6,10 @@ 第3章では現在の学科システムの問題点と監視システムを導入した後に起こりうる問題を述べた.\\ 第4章では提案する監視システムの構築方法,それぞれの動作の様子について述べた.\\ 第5章ではmattermostを用いたアラートルールの編集方法について述べた.\\ -システム管理チームは教員と学生が中心となっており,学生は学部一年から所属しても4年,もしくは6年で卒業してしまう事から他者に共有できる形でアラートルールを編集する事でチーム全体としての理解が深まると考える. +システム管理チームは教員と学生が中心となっており,学生は学部一年から所属しても4年,もしくは6年で卒業してしまう事から他者に共有できる形でアラートルールを編集する事でチーム全体としての理解が深まると考え本研究を提案した. \section{今後の課題} +\subsection{監視システムの運用} +本研究ではコンテナによる構築を行い実際に学科のシステムを監視できたが構築場所がVM上のみとなった. +本番環境で動作させるにはクラウドサーバーとオンプレの両方で構築し冗長性を保つ必要がある.\\ +また収集した情報は監視サーバー上にのみある.その為定期的にディスクサーバーにデータを送信し監視サーバーでは容量が膨らまないようローテーションする必要がある.
--- a/paper/text/technology.tex Sun Jan 30 16:43:47 2022 +0900 +++ b/paper/text/technology.tex Sun Jan 30 20:23:01 2022 +0900 @@ -9,7 +9,7 @@ \section{PromQL} prometheusの時系列データを扱うことに特化したクエリ言語である. exporterによって付与されるラベルを用いることで柔軟な集計が可能である。\\ -グラフやprometheusの式ブラウザを表示するのに使用したり,HTTPAPIを介して外部システムで利用することが出来る. +グラフやprometheusの式ブラウザを表示するのに使用したり,HTTP APIを介して外部システムで利用することが出来る. \section{exporter} 監視対象のデータを収集しprometheusからのリクエストに応じて必要なデータを整形しprometheusにレスポンスとして返すツールである.