Datadogはじめました! in 大阪 - connpass https://datadog.connpass.com/event/119412/
に登壇した時の資料です。
猫好きによる犬の飼い方2019/02/29村上 勝俊
View Slide
名前 : 村上 勝俊経歴 : インフラエンジニアマネーフォワード京都拠点所属自己紹介
スライドは公開します。QAタイムを最後に取ります。スライドについては写真、TwitterOKですが、私は写真が苦手です(笑)※ QRリーダーのご用意をお願いします。 ※今日の登壇について
● マネーフォワードとは● 利用事例● 運用の知見● QA Time今日の発表
“マネーフォワードとは”
会社紹介
サービス紹介
会社紹介ユーザーのためになることを、まずやってみる。そこから失敗も成功もすべて受け止めて、前に進み続ける。最初の一歩を自ら踏み出す事を最も大事にしよう。
採用活動大募集:サーバーサイドエンジニア中募集:フロントエンジニア、デザイナー少募集:機械学習エンジニア、データ基盤エンジニア、インターン、業務委託興味のある人がいましたら、Wantedly 「話を聞きに行きたい」からどうぞ対象詳細
“サービスとシステム”
システム※ 非常にデフォルメされています。
システム規模
トラフィック2019/02/25 0:00~24:00家計簿
システム監視[Xymon監視](https://www.skyhobbit.co.jp/xymon/index_c2_s2.html※ 本番ではない
体制
“利用事例”
起きている問題高負荷クエリ、広域DBロック、ネットワーク障害、急激なCPU,Memの使用・枯渇等の様々な障害が起きてシステムダウンや詰まりが起きるが経路が複雑で特定に時間がかかる開発案件毎にミドルウェアの種類が増えていくがメトリクスが取得できない監視ボードから原因追うのが専門職状態 (AppEngrがとっつきにくい)細かいメトリクスの確認(丸め)や過去の数字との比較ができないマルチクラウド時に監視システムの保守や経路確保が辛いXymonのインストールがOS変わると動かない。カスタムプラグイン書くの…?誰が使うねん。コンテナに対応していない。モチベーションわかない、モチベーションわかない。モチベーションわかない。システムトラブル運用苦労誰も障害対応に参加してこれない開発チームからの主体的なアクションが取りづらい
我々の目指す所スケールするサービスに柔軟に対応し、適切に権限を移譲しサービス開発チームが、自律的に保守運用に関われる状態にしたい。DevチームとOpsチームがハートフルでDevOpsじゃなくて、自律的にDevもOpsもやる時代。それがクオリティとスピードにつながる。という考え方。
“そこでDatadogですよ”
メトリクスはとにかく取る事だけを考えたら良い。エンジニアは見る事だけを考えればいい。監視サービスの運用と保守はお任せ。接続要件も単一。監視ツールの開発・拡張は巨人の肩にのる。使いたいな、見たいなと思った時には既に機能が存在する。監視を工夫して運用する事からの開放
活用事例① (インテグレーション)圧倒的な数の連携ミドルウェア、OS、XaaSMore than 250 built-inintegrations
活用事例① (インテグレーション)標準でテンプレートが用意されていて穴埋めするだけで監視が開始できる。誰でも設定できる。監視対象として対応可能か?も判断できる。エンジニアから自立的に具体的な設定や設定依頼をしてくれる様になった。
活用事例② (XaaSインテグレーション)他社XaaSのメトリクスも取れる。もちろんAWS、GCP、Azure等の各クラウドの監視サービスも連携可能(XaaSインテグレーションはコストがかからないケースが多いのでコスト面でやりくりしたい時にはおすすめ)
活用事例② (XaaSインテグレーション)例えば● Fastly連携は無料● AWSはEC2とECSを連携しなければ無料● Prometheus使ってたとしてもDatadogに投入可能(メトリクス次第では低コスト )Introducing Prometheus support for Datadog Agent 6 | Datadoghttps://www.datadoghq.com/blog/monitor-prometheus-metrics/● そう。Jenkinsもね。Monitor Jenkins jobs with Datadog | Datadoghttps://www.datadoghq.com/blog/monitor-jenkins-datadog/
活用事例③ (チームダッシュボード)情報さえ与えればエンジニアは自分達で追い始める。“メトリクス”は大好物。DatadogはViewの動きが速いので高評価過去のデータ保存期間が長いのも稀有
活用事例③ (チームダッシュボード)
活用事例③ (チームダッシュボード)チームにサイネージを用意
活用事例③ (チームダッシュボード)● 自分たちでアラートを設定し始める。● ダッシュボードを育て始める。● 障害やヒヤリハットを糧としてモニタリングが自律的に育つ。ダッシュボードを手配した事で。インフラチームに頼まれる作業は0!
活用事例④ (カスタムメトリクス)それでも、対応してないサービスやミドルウェアがありますよね。自作も比較的簡単なので一例を紹介。参考:Agent Checkの書き方 https://docs.datadoghq.com/ja/guides/agent_checks/
活用事例④ (カスタムメトリクス)参考:Agent Checkの書き方 https://docs.datadoghq.com/ja/guides/agent_checks/
活用事例④ (カスタムメトリクス)UnicornのWorkerの状態を計測する
活用事例④ (カスタムメトリクス)アグリゲーションユーザー数を計測する※数字は秘密。ごめんなさい。これもSQLでcountして投げ込んでいるだけ。A monitoring tool for periodically executing SQLs and sending metrics to Datadoghttps://github.com/crowdworks/cyqldog
活用事例④ (カスタムメトリクス)さくら⇔AWSのDXネットワークを計測する※プロトタイプこれはSakuraのネットワークメトリクスをAPIで取得して、Datadogに投げ込むのをGoで実装していた。
活用状況機能 利用 コメントSystemMonitoring ◎ 本番環境積極利用中APM △ NewRelicが主流の為、率先しては利用してない。LogManagement △ 利用したいが手がまわっていない。Service Map ✕ APMを使わないと使えない。まだそこまで成熟してない。Synthetics ◯ βの不安定さが解消されたら外形監視は乗り換え予定外形監視、ログイン監視、 API監視、証明書監視に対応Notebook △ 障害テストやパフォーマンステストで記録として偶に使っている。Slack通知してそのPostを引用して会話する事や、 esaにレポートをまとめる事が多いのであんまり。過去データが消えると困るものだけスナップしている。
良かった事導入が簡単。メトリクスの取得も簡単なので気軽に取ればいい。データが多いほど感謝される。Provisionが出来てれば as a Codeもやりやすそう。マルチクラウドにおいて本領発揮。監視システムの保守不要!!タグ便利。反映&描画が速い。グラフが綺麗。もだ〜ん。チームにフィットしたグラフが作れる。勝手に作れる。公式Docが充実しているのでメトリクスも自分で調査できる。Slackの通知の実装もシュッ。アラートも自分たちで育てられる。障害箇所の把握が簡単になった(すぐに原因調査や関連グラフに取り掛かれる様になった。)長期間データが残っている (15秒間隔データが15ヶ月)インフラチーム開発チーム安定して自主的にやれる環境が整った。インフラエンジニアのボトルネックも解消した。
良かった事コンテナ化、Serverless化、HPC、分散技術等を取り入れてもDatadogで付き合っていけそうなのが頼もしい。インフラの進化が激しい時代に入ったが、インフラの進化に追従するための非機能要件(※)の工数が非常に大きくなりがち。メインが進化するまでは可能な限り外注したい。※ 監視、バックアップ、運用、セキュリティ、保守ツール、ジョブスケジューラー等々
辛かった事ダッシュボード難しい。コスト高い。開発環境に入れられない!!(高いから)confの管理が難しい。ダッシュボード難しい。外形監視がなかった。(※)タグ管理便利だけど難しい。外部サービスのメトリクスの連携速度が遅い。(瞬発力が必要なメトリクスのアラートに使えない)インフラチーム開発チームもっと安かったら総入れ替えするのに!!※ Syntheticsβが来たので解消予定。但しまだ不安定。
辛かった事タグの話。※ 私の惚れ込みではあったが、タグでグリグリ変えたりする運用は以外と流行っていない。色んなレイヤーを混ぜたボードにするとタグの統一感がない為に、綺麗に全グラフがいい感じに切り替わったりしない為、めんどくさくなる様だ。タグ機能は惚れ込んだ機能だが、タグのKeyもValueも類似パターンが乱立する。現状は組織で意識合わせするのがオススメ。
辛かった事(ご提案)何より安くなると進めやすい。総入れ替えしやすい。特に開発環境が致命的に辛い。ので、データ保存期間が3dayくらいで、アラート設定がn個までとか制約があってもいいのでFree or ディスカウントが欲しいです!!!!!!!!!!
“グッド(?)・プラクティス”
安く飼いならす機能 コメントSystemMonitoring ホスト単位は安くなるのを祈るとしても、ミドルウェアのメトリクスはリモートプロトコルで1ホストから纏めて取得すると 1ホスト課金で済む。同じ理屈で自作スクリプトを使って他のホストのメトリクスを取って Datadogに投げ込むと1ホスト課金で済む。クラウドはEC2/ECS使わなければタダ!!!(RDSとかECacheとか!)APM NewRelic使う。LogManagement まだ他社含めて模索中なので意見なし。Service Map APMが安くなってから考える。Synthetics まだ課金始まってないからなんともですが、高い場合はDatadog Docker Imageを自分でどこかにホスティングして外形監視は充足出来そう。基本的には他社と機能競争ではなく価格競争な分野になると予想。
アンバサダー啓蒙活動について。● 開発チームにはグラフとか、メトリクスとか、深く知っていきたい奴が必ずいる。その人にいいViewとデータを提供すると自律的に動き始める。唆しオススメ● お悩み相談/グラフ作成の寺子屋をやると加速する。● ダッシュボードの作成も最初手伝うと非常に良い。● 任意のグラフもガンガン検索可能だと広まれば障害調査/パフォーマンス調査ではDatadogが優位にたてる。障害調査の時には「それDatadogで見れるで」って言って調べてあげると「ええやんこれ。」
Thank you!
引用表記画像/ドキュメント:Modern monitoring & analytics | Datadog https://www.datadoghq.com/Datadog Docs https://docs.datadoghq.com/Datadogでメトリクスの監視を始めよう! https://docs.datadoghq.com/ja/Datadog fastly yamagoya_summit2017 https://www.slideshare.net/MasahiroHattori2/datadog-fastly-yamagoyasummit2017/26Monitor Jenkins jobs with Datadog | Datadog https://www.datadoghq.com/blog/monitor-jenkins-datadog/製図ロゴ/イラスト:Untitled Diagram - draw.io https://www.draw.io/システム構成図やプレゼンテーション資料などで自由に使える「さくらのアイコンセット」を公開いたしました。 | さくらのナレッジ https://knowledge.sakura.ad.jp/4724/かわいいフリー素材集 いらすとや https://www.irasutoya.com/VPS|ドメイン取るならお名前 .com https://www.onamae.com/server/vps/?btn_id=sv04WordPress https://ja.wordpress.org/Error Tracking & Crash Reporting for Software Developers - Rollbar https://rollbar.com/PagerDuty https://www.pagerduty.com/