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

勉強メモ監視

出典: 

  • 監視アセスメント

    • 何を監視すべきか
    • なぜ監視すべきか
  • 題材: レストランの広告サイト 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

        • 例外
        • トレースバック
      • 使用しているすべてのサーバサイドデーモンのサービスログ

        • Apache
        • PostgreSQL
        • Redis
        • HAProxy
  • シンセティック監視により、SSH証明書の期限切れも監視

セキュリティ監視

  • コンプライアンスや規制の必要条件がない場合、ごくごくシンプル

    • SSHログイン

      • 試行
      • 失敗
    • syslogのログ
    • auditdのログ

アラート

  • あらゆるものについて有効にする必要はない

    • ページロード時間の増加
    • Redis, Apache, HAProxyでのエラー率やレイテンシの増加
    • アプリケーションの特定のアクションのエラー率やレイテンシの増加

      • 検索
      • レビュー投稿
      • ユーザログイン
    • PostgreSQLクエリのレイテンシの増加
  • 手順書も書く

    • ただし、自動復旧を先に検討する
    • アラートに手順書へのアクセスを載せる

まとめ

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