2019/11/08 6社の開発現場ツール大公開Night
サイボウズ株式会社 kintoneチーム鈴木 亜耶 @szkayeah2019/11/08 6社の開発現場ツール大公開Nightkintoneを 丸 裸 にするモニタリング&ロギングツールキントーン
View Slide
鈴木 亜耶 @szkayeahすずき あ や• Webエンジニア• 安定稼働に繋がる改善タスクが多め• 2017年1月にUターンで転職• 好き:CI・自動化・データ可視化• 大好き:紅茶
質問があればTwitterや懇親会で!ハッシュタグは#devtool_night発表資料は公開済です
kintone• クラウドサービス• Webデータベース型の業務改善プラットフォーム• データ+コミュニケーション
今回、製品の詳細はお話しません。これを対象にしたモニタリング・ロギングの話です。
モニタリング• 2つの監視サービスを併用している• Infrastructure:Datadog• APM:New Relic引用: https://www.datadoghq.com/ , https://newrelic.com/
Infrastructure:Datadog• サイボウズは自社クラウド基盤を持つ• 割とヘビーに活用している• 機材故障の検知にも有効(特定機材のみ高負荷が続く等)• カスタムメトリクスで業務的な監視も• バッチのキューが滞留していないか?• どれくらい製品のトライアルの申し込みがあったか? etc
Integrationを導入するだけでもサクッと監視できる例:Java Integration障害時のスパイク
カスタムメトリクスでより業務的な監視もバッチのキューが滞留している様子
APM:New Relic• アクセス障害時の重いトランザクション特定• マルチテナントのサービスのためテナント間で影響がある• どのテナントのどの操作が重そうか分かる• 重いトランザクションは自動的に記録される(便利)
重いトランザクションを簡単に検知障害時のスパイク
Datadog VS New Relic• Datadog APM も New Relic Infrastructure もある• どうしてまとめないの? → 歴史的経緯です• どちらも良いところがある• Datadogの豊富なIntegration• New Relicの柔軟なクエリ(NRQL)
もっと自由にデータ可視化したい• Elasticsearch+Kibana• 監視サービス標準ではやりたいデータ可視化ができない時• 収集方法が異なるデータをマッシュアップしたい時• 各監視サービスでAPIが提供されている引用: https://www.elastic.co/
監視サービス+Elasticsearch+Kibana引用: https://www.elastic.co/ , https://www.datadoghq.com/ , https://newrelic.com/自社ツールAPIでメトリクス取得↓データ加工↓Elasticsearchに投入メトリクス収集データ可視化
監視サービス+Elasticsearch+KibanaSLO閾値超えをしているかhostごとのアクセス性質を見る
ロギング• サイボウズのログ基盤• よくある所だとアクセスログやアプリケーションログ• MySQLのエラーログやslowログ• 自社クラウド基盤を持つため物理機材のログも• VM・物理機材を合わせて1000を超えるhost(大量ログ)→高速で安定して(欠損せず)ログが活用できる基盤が必要
サイボウズのログ基盤 2018年版https://blog.cybozu.io/entry/2018/03/19/080000
ログ基盤の全貌(ブログ記事より)https://blog.cybozu.io/entry/2018/03/19/080000引用: https://hadoop.apache.org/ , https://hbase.apache.org/ , https://hive.apache.org/ , https://kafka.apache.org/ ,https://www.elastic.co/ , https://www.graylog.org/ , http://prestodb.github.io/ , https://redash.io/
ログ基盤の活用• ログ基盤自体についてはブログ記事をご参照ください• 私は開発に関わっていないので…(小声)• 今回は偉大なログ基盤を利用者観点で紹介します• 障害対応, 製品分析でよく利用するため
ログ基盤の全貌(ブログ記事より)https://blog.cybozu.io/entry/2018/03/19/080000引用: https://hadoop.apache.org/ , https://hbase.apache.org/ , https://hive.apache.org/ , https://kafka.apache.org/ ,https://www.elastic.co/ , https://www.graylog.org/ , http://prestodb.github.io/ , https://redash.io/あらゆる種類のログの閲覧
共通のログ閲覧方法• あらゆるログは同じ方法で閲覧できる• ログ種類・日時・hostで絞り込み• 2つのアクセス手段• CLI(HBase client)• GUI(Elasticsearch+Graylog)
共通のログ閲覧方法• CLI(HBase client)• 長期間のログが閲覧可• いわゆるテキストなので流し読みしやすい• GUI(Elasticsearch+Graylog)• 短期間(1週間ほど)だが複数hostを高速に閲覧可• エラーコードが分かる時など特定行の検索が得意• データ可視化
アプリケーションログよりkintoneの利用状況を可視化
ログ基盤の全貌(ブログ記事より)https://blog.cybozu.io/entry/2018/03/19/080000引用: https://hadoop.apache.org/ , https://hbase.apache.org/ , https://hive.apache.org/ , https://kafka.apache.org/ ,https://www.elastic.co/ , https://www.graylog.org/ , http://prestodb.github.io/ , https://redash.io/アクセスログ活用
アクセスログ活用• Presto+Redash• SQLライクにログを検索• CLIでログを読めるエンジニアでも嬉しい• Prestoの便利関数が利用できる(url_extract_path等)• Redashのデータ可視化
アクセスログ活用• 加工したデータの列を追加してより検索しやすく• 製品(service)• kintone, garoon などで絞り込める• 「URLが /k/ 始まりのやつ」と指定しなくて良い• ブラウザ(browser)• UAってめっちゃ文字入ってますよね• Mozilla/5.0 (Linux; Android 10; Pixel 3a Build/QP1A.190711.020; wv) AppleWebKit/537.36...• Chrome, IE11 などで絞り込める
アクセスログから楽々データ可視化
あらゆるツールを組み合わせてメトリクスやログを収集&可視化しkintoneを丸裸にしています
ありがとうございました!!