勉強日記

チラ裏

入門監視 ch11 監視アセスメントの実行

www.oreilly.co.jp


  • 監視アセスメント
    • 何を監視すべきか
    • なぜ監視すべきか
  • 題材: レストランの広告サイト Tater.ly
    • レストランは広告を出す
    • Tater.lyは広告収入得る
    • ユーザはレビューを見たり投稿したりする

ビジネスKPI

  • CEO等と会話をしよう
  • ビジネスメトリクスに落とし込む
    • レストランのレビュー数
    • アクティブなレストランの数
    • ユーザ数
    • AU
    • 検索実行数
    • レビュー投稿数
    • 広告購入数
    • 上記各項目の変化の方向と変化率
    • NPS
      • ユーザから
      • レストランから

フロントエンド監視

  • RUM: Real User Monitoringメトリクス使え

アプリケーションとサーバーの監視

  • インフラのアーキテクチャ図をもとにメトリクスとログを洗い出す
  • 気にしなくていいものも洗い出す
    • Webホスティングプロバイダを使っているのでハードウェアやネットワークの管理についてはあまり気にしなくていい、など
  • メトリクス
    • ページロード時間
    • ユーザログイン
      • 成功数
      • 失敗数
      • 実行時間
      • AU
        • DAU
        • WAU
    • 検索
      • 実行数
      • レイテンシ
    • レビュー
      • レビュー投稿数
      • レイテンシ
    • PostgreSQL
      • アプリケーションから見たクエリレイテンシ
      • データベースサーバーから見たtps
    • Redis
      • Redisサーバーから見て
        • tps
        • hit/miss ratio
        • キャッシュから追い出されたアイテム数
    • CDN
      • hit/miss ratio
      • オリジンに対するレイテンシ
    • HAProxy
      • rps
      • 利用可能・不能なバックエンドの数
      • HTTPレスポンスコード
        • フロントエンド
        • バックエンド
    • Apache
      • rps
      • HTTPレスポンスコード
    • 標準的なOSメトリクス
      • CPU使用率
      • メモリ使用率
      • ネットワークスループット
      • ディスク
        • IOPS
        • 空き容量
  • ログ
    • ユーザログイン
      • ユーザID
      • コンテキスト
        • 成功
        • 失敗
          • 理由
      • Django
        • 例外
        • トレースバック
      • 使用しているすべてのサーバサイドデーモンのサービスログ
  • シンセティック監視により、SSH証明書の期限切れも監視

セキュリティ監視

  • コンプライアンスや規制の必要条件がない場合、ごくごくシンプル
    • SSHログイン
      • 試行
      • 失敗
    • syslogのログ
    • auditdのログ

アラート

  • あらゆるものについて有効にする必要はない
    • ページロード時間の増加
    • Redis, Apache, HAProxyでのエラー率やレイテンシの増加
    • アプリケーションの特定のアクションのエラー率やレイテンシの増加
      • 検索
      • レビュー投稿
      • ユーザログイン
    • PostgreSQLクエリのレイテンシの増加
  • 手順書も書く
    • ただし、自動復旧を先に検討する
    • アラートに手順書へのアクセスを載せる

まとめ

  • 監視に終わりはない
  • 継続的に改善せよ