Closed ShinnosukeSuzuki closed 1 week ago
負荷テスト時にAPIサーバーの様々なメトリクスを取得するための監視する仕組みをNode Exporter, Prometheus, Grafanaを使って構築。
Node Exporter APIサーバーと同じtask上に配置することで、taskのCPU使用率やメモリなどのメトリクスを取得。 メトリクスの取得は{albのDNS}/metricsで行う。 Prometheus, Grafana ローカルでdockerで作成。Prometheusのターゲットは上記Node Exporterの{albのDNS}/metrics。
{albのDNS}/metrics
下図2つより正常にAPIサーバーのtaskのメトリクスを取得できていることを確認した。 Prometheus Grafana テンプレートをインポートした所、下記のようになった。
close #14
[FYI] Metrics以外に、Traceも可視化できていると負荷試験の際に役立つと思われます! Ref: https://prometheus.io/docs/guides/go-application/
最近出てきたGoアプリケーションのモニタリングOSSもよかったら使ってみて下さい!使った感想気になります👀 Ref: https://github.com/iyashjayesh/monigo
ECS監視システムの構築
概要
負荷テスト時にAPIサーバーの様々なメトリクスを取得するための監視する仕組みをNode Exporter, Prometheus, Grafanaを使って構築。
実装
Node Exporter APIサーバーと同じtask上に配置することで、taskのCPU使用率やメモリなどのメトリクスを取得。 メトリクスの取得は
{albのDNS}/metrics
で行う。 Prometheus, Grafana ローカルでdockerで作成。Prometheusのターゲットは上記Node Exporterの{albのDNS}/metrics
。動作検証
下図2つより正常にAPIサーバーのtaskのメトリクスを取得できていることを確認した。 Prometheus Grafana テンプレートをインポートした所、下記のようになった。
Issues
close #14