入門監視 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
- キャッシュから追い出されたアイテム数
- Redisサーバーから見て
- CDN
- hit/miss ratio
- オリジンに対するレイテンシ
- HAProxy
- rps
- 利用可能・不能なバックエンドの数
- HTTPレスポンスコード
- フロントエンド
- バックエンド
- Apache
- rps
- HTTPレスポンスコード
- 標準的なOSメトリクス
- CPU使用率
- メモリ使用率
- ネットワークスループット
- ディスク
- IOPS
- 空き容量
- ログ
- ユーザログイン
- ユーザID
- コンテキスト
- 成功
- 失敗
- 理由
- Django
- 例外
- トレースバック
- 使用しているすべてのサーバサイドデーモンのサービスログ
- Apache
- PostgreSQL
- Redis
- HAProxy
- ユーザログイン
- シンセティック監視により、SSH証明書の期限切れも監視
セキュリティ監視
アラート
- あらゆるものについて有効にする必要はない
- ページロード時間の増加
- Redis, Apache, HAProxyでのエラー率やレイテンシの増加
- アプリケーションの特定のアクションのエラー率やレイテンシの増加
- 検索
- レビュー投稿
- ユーザログイン
- PostgreSQLクエリのレイテンシの増加
- 手順書も書く
- ただし、自動復旧を先に検討する
- アラートに手順書へのアクセスを載せる
まとめ
- 監視に終わりはない
- 継続的に改善せよ