kintoneの保守管理ってどうやるの?
「本番運用には保守管理」
kintoneの保守管理は一体どのように行うのでしょうか?kintoneには動作中に、実行ログでも出ているのでしょうか?システムを実運用するにあたって、保守運用は必須です。では、Kintoneではどのように保守運用をしているのか、調査してみました。
従来の保守管理
従来のWebサーバーの保守管理とは、稼働しているアプリケーション、アプリケーションサーバ、データベース、インフラ、ハードウェアのログの死活監視をしつつ、エラーのような問題をすぐに発見することにあります。具体的な方法としては、アプリケーションの各処理ごとにログを出力するコードを挟み(ロギング)、ログの内容を自動的にフィルタリングしてエラーが出れば担当者へ通知が飛ぶ、といった監視方法が一般的かと思います。既に広まっている技術スタックを採用しているなら、既存のロギング・監視を使えば楽なのですが、kintoneでも同じことができるのでしょうか?
kintoneで同じことは可能か?
kintoneヘルプ を一瞥しただけでは実行ログのようなものは見当たりません。それは、kintoneはSaaSと呼ばれるサービスであることが理由であると思います。
SaaS - Wikipedia
ユーザーは、Kintoneがどのデータセンターの、どのサーバーの、どのアプリケーションであるかを全く意識しなくても済むようになっています。そのようなハードウェア、インフラ、サーバの死活監視に気を遣わなければならない人はベンダーであるサイボウズだけであり、ユーザーである私たちはそれらを構う必要はありません。これは便利であると同時に、障害発生時、私達ユーザーからは何もできることはありません。何か障害があればサイボウズの障害情報を参照するだけです。 インフラやサーバーの運用を「サイボウズに全て任せている」と考えれば、なんと楽なことでしょう。
サイボウズからのお知らせ
kintoneはどのようなログを出力しているか
kintoneには「実行ログ」のようなものは見当たらない一方で「監査ログ」というものがあります。上記の「実行ログ」とは全く異なるものですが、「運用はサイボウズに全ておまかせ」しているのですから、ユーザーは別のログが見られるのだろう、と想像できます。この「監査ログ」には、例えばユーザーのレコードに対する操作のログなどが書かれています。もしユーザーが間違った操作をしてしまった時は、管理者は監査ログを見ながら失敗した操作を特定し、手動で失敗を戻すことができます。このように考えると、「監査ログ」は「操作ログ」とも呼べるかもしれません。
cybozu.comのシステム管理→監査ログ→閲覧とダウンロードの画面では、以下のような監査ログを閲覧できます。
kintoneの監査ログの確認方法/ログ一覧
ログというと読み方を知らなければ何のことか理解出来なさそうで尻込みしていまいますが、要するに以下のようなことだけが列挙されていました。ヘッダーを見ましょう。
いつ(日時)、どこの(接続元)、誰が(ユーザー)、何の(サービス)、何をして(どうして)、どうだった(結果)
例えば結果がSUCCESSではなくFAILEDだった場合、どのユーザーが何の操作をして失敗したのか理解できます。
このログを辿れば、誰がどのような操作をして、その結果がどうだったのかを後からトレースすることができます。
操作ログは以下の3種類。FAILEDだけほしいところですが、フィルタ機能がないようです。
SUCCESS 操作が成功したことを表します。
FAILED 操作が失敗したことを表します。
VALIDATION ERROR 入力値が不正だったために、操作が失敗したことを表します。
標準機能での監査ログの出力方法は同画面の「ダウンロード」ボタンによりCSVファイルでダウンロードできるのですが、以下の参照ページによると、Kintoneのログはメールで通知できないようです。
Kintoneはメール通知の対象外?
Kintoneのドキュメントには、以下のように書かれています。
それではKintoneのログは、必ず人間が手動でダウンロードして確認しなければならないのでしょうか?
APIはないのか?
メールによる通知、テキストファイルとしてのダウンロードのみ。監査ログ取得APIは現状、存在しないようです。cybozu developer networkの、以下の発言に何のコメントも付いていない、ということは、APIはないのでしょうね。
サービスがkintoneで結果がFAILEDの監査ログを通知させたい
市場に存在するプラグインで実現可能か?
ログ出力プラグインは幾つかありましたが、いずれも「標準機能で出力されない操作のログ出力が可能」というだけで、ログ自体は「出力用アプリ」を別途作成して、そちらに書き込まれるようです。やはり「監視」ではありません。
監査用詳細ログ出力プラグイン
アクセスログ出力プラグイン
まとめ
SaaSについて。 SaaSであるkintoneは「ログを監視して失敗があれば対処」といった旧来のサーバーサイドの保守管理方法とはレイヤーが違うのでは?つまりkintoneは「サーバー」ではありませんし、アプリケーションサーバーの上に乗っているアプリケーションでもありません(実際はそのような実装なのでしょうが、ユーザーからは見えないようになっています)。kintoneは単なる「アプリ」です。ローカルのPCに入っているアプリと同じで、それがたまたまWebブラウザ上で動いている、というだけです。
監査ログについて。 kintone監査ログとは「ユーザーによる操作ログ」であり、システム運用にありがちな「サーバー/アプリの動作ログ」ではありません。ユーザー操作に対する SUCCESS / FAILED / VALIDATION ERROR はログに出力されますが、これをリアルタイムで監視しても、リアルタイムで修正できるわけではないので妥当な監視ソリューションのようなものはなさそうです。 ネットで少し調べた限りでは、kintoneで作成したシステムをリアルタイム監視するような「保守運用」をしている、といった記事は見当たりませんでした。
監査ログの使い道について。 ユーザーによる特定の操作結果がFAILEDであった場合、それがバリデーションエラーであった場合などはアプリ側の問題であり、アプリ側の既知の不具合を修正するきっかけにはなりそうです。
お問い合わせ
Kintone導入検討時のご相談から、導入後の利活用・定着化に至るまで、私たちは、お客様と「伴走」しながら思いを込めてサポートいたします。ご相談無料ですので、ぜひお気軽にお問い合わせください。
記事作成
Kintone推進チーム
使用画像
UnsplashのActon Crawfordが撮影した写真