Grani Engineering Blog

株式会社グラニはC#を中心として、ASP.NET、Unity、VR開発を行っています。

黒騎士と白の魔王を支えるDatadogを使ったモニタリング


id:guitarrapc_tech 










CBT 
 








1. 

2. 

3. 

4. 
 












役割 意味
現状把握 サービスが今置かれている状態を把握し維持、改善する
将来の予測 傾向から未来を予想し対策のきっかけにする
異常発生の気づき 異常時に適切にアラートを投げる



Application Performance Monitoring (APM)*1  New Relic New Relic 

New Relic *2

New Relic AWS X-Ray β(CBT)

CBT 


gRPC Unity (+gRPC)*3

gRPC gRPC (Service2)gRPC(BattleEngine)2使

CBTNew Relic 


Service2 / BattleEngine  CPU 

WindowsgRPC IIS使 New Relic 

CPU New Relic Profiler  CPU 50%




New Relic IIS

CBT CBTCPUNew Relic()New Relic(/)CPU

f:id:guitarrapc_tech:20170529114406p:plain
non-IISAPM Custom Dashboard / New Relic Insight 


CBT




New Relic Insight 



Instrumentation Instrumentation




APM// Datadog 

www.datadoghq.com

SaaSAPM


*4

f:id:guitarrapc_tech:20170529124739p:plain

分類 モニタリングサービス 種類 概要
Application Metrics DataDog Performance, Throughput, Duration ユーザーからみたときのサービスの状態に直結します。アプリケーション、gRPCの各種状態を示します。
Resource Metrics DataDog Utilization, Availability スレッドプール、サーバーCPU、DB、Redisなど各種リソースの状態を示します。
Events DataDog ServiceStatus, Error, Success, Alert サービスのイベント、バッチ、AWS障害などの把握すべきイベントを示します。
Logs DataDog + BigQuery Exceptions, Application Log, Response, Queries 例外ログ、アプリケーションログ、レスポンス情報など各種ログ情報を示します。

 Exception/Datadog調BigQuery New Relic Exceptions調



Datdog 15*5 + Datadog 


*6
Layer 概要 閲覧頻度 詳細度
1 サービスの全般的な状態 常時 低-中
2 アプリケーションと相互関係にあるリソース状態 障害時、最適化時 中-高
3 アプリケーションの詳細なメトリクス状態 障害時、最適化時
4 各ロールの詳細メトリクス状態 障害時、最適化時

1. サービスの全般的な状態


Layer1 

f:id:guitarrapc_tech:20170529145024p:plain
 -> Application MetricsResource Metrics 

f:id:guitarrapc_tech:20170529151937p:plain
/maker // 

f:id:guitarrapc_tech:20170529150652p:plain
f:id:guitarrapc_tech:20170529150849p:plain
 status.io 10/

2. 


Layer2 Service2  BattleEngine  gRPC 

f:id:guitarrapc_tech:20170529145611p:plain
Datadog Teamplate Variables使

f:id:guitarrapc_tech:20170529154022p:plain
gRPC Service2/BattleEngine  Template$role*7 $stack$role  Service2  BattleEngine 

Template Variables 使調

f:id:guitarrapc_tech:20170529154200p:plain

3. 


Layer3 /Datadog  APM  .NET*8 CTODatadogSharpgRPCRPC

f:id:guitarrapc_tech:20170529165456p:plain
RPC

f:id:guitarrapc_tech:20170529155238p:plain

4. 


Layer4 

f:id:guitarrapc_tech:20170529150125p:plain
TimeBoard 使*9


ExceptionEventException調

f:id:guitarrapc_tech:20170529160353p:plain
調Markdown 調BigQuery 調


Datadog

f:id:guitarrapc_tech:20170529161716p:plain


f:id:guitarrapc_tech:20170529162244p:plain


New Relic  Datadog 調調Datadog 


Prometheus 

qiita.com

speakerdeck.com

tech.plaid.co.jp

qiita.com

*1: https://newrelic.com/application-monitoring  https://www.datadoghq.com/blog/announcing-apm/ 

*2:

*3:gRPCUnite 2017 TokyoC#/UniRx使 - Grani Engineering Blog

*4:

*5:New Relic

*6:

*7:

*8:DatadogCTO.NETAPM

*9:使