Slide 1

Slide 1 text

grafana lokiでイベントネットワーク監視を やってみた話

Slide 2

Slide 2 text

自己紹介 - 木村源一朗(gen16k) - NTTコミュニケーションズ所属 - データ分析基盤の開発・運用 - hadoop, kubernetes 基盤 - 入社1年目 - インフラ初心者 - ネットワーク初心者未満 - 趣味:自作PC

Slide 3

Slide 3 text

イベントについて - ICPC - 国際大学対抗プログラミングコンテスト - 66チーム(300名)が参加 - アジア地区予選 - 中国、台湾、韓国、シンガポールからも

Slide 4

Slide 4 text

監視したかったこと - スイッチとのping - スイッチのsnmp - インターフェース状態 - サーバーのリソース - スイッチからのsyslog

Slide 5

Slide 5 text

監視ツールはどれにする? - zabbixがbest practice - 一通りのことができる。 - snmp - syslog - 自分がprometheus + grafanaでの監視しか知らない - しかしsyslog監視どうしよう ⇨ lokiならできそう (イベントネットワークでは)

Slide 6

Slide 6 text

監視したかったこと - スイッチとのping - スイッチのsnmp - インターフェース状態 - サーバーのリソース - スイッチからのsyslog

Slide 7

Slide 7 text

lokiでのsyslog監視 - rsyslogでsyslogを受信 - logパネルで表示 - logのmetrics化 - 今回はv0.40を使用 - (イベント直後にv1.0リリース…)

Slide 8

Slide 8 text

logパネル - 以下のlogqlで/var/log/syslog.logをダッシュボード表示 - {filename="/var/log/syslog.log"}

Slide 9

Slide 9 text

logパネルでgrep - 以下の様なlogqlでログをgrepできる - {filename="/var/log/syslog.log"} |= "fail"

Slide 10

Slide 10 text

logのmetrics化機能 - lokiをprometheusとしてdatasourceに追加 - rate(({job="mon-varlog"}) |= "fail"[1h]) - `fail`の文字列検知した回数をグラフ化

Slide 11

Slide 11 text

lokiでsyslog監視 - rsyslogでsyslog受信 - logパネルで表示 - logのmetrics化機能 - 今回はv0.40を使用 - (イベント直後にv1.0リリース…) - prometheus + grafana + loki≒ zabbix??? ?

Slide 12

Slide 12 text

監視フロー(妄想) Promtail syslog metrics exporter Prometheus Grafana /var/log

Slide 13

Slide 13 text

挫折その1 - logをmetrics化できるのならalertingもできるのでは? - alertの設定はできる!!

Slide 14

Slide 14 text

挫折その1 - しかし何をやってもエラー - そもそも実装されていない?

Slide 15

Slide 15 text

mtailの導入 - googleがhostingしているパーサー - mtail languageというスクリプトでいろいろできる。 - 今回はファイル 内の文字列をカウントしてmetrics化 mtailのスクリプト metricsに定義した変数値が表示される!

Slide 16

Slide 16 text

監視フロー(現実) Promtail mtail syslog metrics exporter Prometheus Grafana /var/log

Slide 17

Slide 17 text

挫折その2 - 指定した文字列を検知してアラートは出せる! - しかし対応するlogが表示できない - どのインターフェースがdown????? - どのホスト?

Slide 18

Slide 18 text

挫折その2 - 大会開始後だったため監視フローの修正は不可能 - 同じく監視担当の1年目社員が受信したsyslogをパース、ホスト名とインターフェー ス名を添えてslack通知するプログラムを1.5時間で作成

Slide 19

Slide 19 text

監視フロー(最終形) Promtail mtail syslog metrics exporter Prometheus Grafana /var/log 自作通知プログラム

Slide 20

Slide 20 text

問題点 - snmp-trapを受信できない。 - 監視用プロダクトの数が多くなりがち - 公式ドキュメント未整備 - 監視業務中は何の画面見ればいい??

Slide 21

Slide 21 text

よかった点 - (zabbixより)画面が見やすい - (zabbixより)画面がかっこいい! - 完全にコンテナ化したので構築簡単 - lokiを実運用で検証できた!

Slide 22

Slide 22 text

まとめ - ZABBIXでよさそう - (イベントネットワークなら) - loki + grafanaではalerting不可能 - alert-managerとpromtailを駆使すれば何とかなる?? - (promtail.ymlのpipelineは挫折しました・・・) - 持つべきは優秀な同僚

Slide 23

Slide 23 text

Special thanks @yosshi_ - san

Slide 24

Slide 24 text

Thank you for listening !