Grafana Lokiでイベントネットワーク監視をやって見た話

6c262782f0bce0780d659c8deb245aa4?s=47 gen16k
January 15, 2020

Grafana Lokiでイベントネットワーク監視をやって見た話

Prometheus Meetup #3のLTで発表したスライドです。
Grafaana Lokiを使いICPC(国際大学対抗プログラミングコンテスト)アジア地区大会のネットワーク監視を行ってみた経験をまとめました。

6c262782f0bce0780d659c8deb245aa4?s=128

gen16k

January 15, 2020
Tweet

Transcript

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

  2. 自己紹介 - 木村源一朗(gen16k) - NTTコミュニケーションズ所属 - データ分析基盤の開発・運用 - hadoop, kubernetes

    基盤 - 入社1年目 - インフラ初心者 - ネットワーク初心者未満 - 趣味:自作PC
  3. イベントについて - ICPC - 国際大学対抗プログラミングコンテスト - 66チーム(300名)が参加 - アジア地区予選 -

    中国、台湾、韓国、シンガポールからも
  4. 監視したかったこと - スイッチとのping - スイッチのsnmp - インターフェース状態 - サーバーのリソース -

    スイッチからのsyslog
  5. 監視ツールはどれにする? - zabbixがbest practice - 一通りのことができる。 - snmp - syslog

    - 自分がprometheus + grafanaでの監視しか知らない - しかしsyslog監視どうしよう ⇨ lokiならできそう (イベントネットワークでは)
  6. 監視したかったこと - スイッチとのping - スイッチのsnmp - インターフェース状態 - サーバーのリソース -

    スイッチからのsyslog
  7. lokiでのsyslog監視 - rsyslogでsyslogを受信 - logパネルで表示 - logのmetrics化 - 今回はv0.40を使用 -

    (イベント直後にv1.0リリース…)
  8. logパネル - 以下のlogqlで/var/log/syslog.logをダッシュボード表示 - {filename="/var/log/syslog.log"}

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

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

  11. lokiでsyslog監視 - rsyslogでsyslog受信 - logパネルで表示 - logのmetrics化機能 - 今回はv0.40を使用 -

    (イベント直後にv1.0リリース…) - prometheus + grafana + loki≒ zabbix??? ?
  12. 監視フロー(妄想) Promtail syslog metrics exporter Prometheus Grafana /var/log

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

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

  15. mtailの導入 - googleがhostingしているパーサー - mtail languageというスクリプトでいろいろできる。 - 今回はファイル 内の文字列をカウントしてmetrics化 mtailのスクリプト

    metricsに定義した変数値が表示される!
  16. 監視フロー(現実) Promtail mtail syslog metrics exporter Prometheus Grafana /var/log

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

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

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

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

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

  22. まとめ - ZABBIXでよさそう - (イベントネットワークなら) - loki + grafanaではalerting不可能 -

    alert-managerとpromtailを駆使すれば何とかなる?? - (promtail.ymlのpipelineは挫折しました・・・) - 持つべきは優秀な同僚
  23. Special thanks @yosshi_ - san

  24. Thank you for listening !