クラウドサービスを利用した開発には必ずリソースやマシンの管理や情報の収集・監視が必要です。
常に監視しておくことで障害などのトラブルが発生した際には原因を発見し、適切な対処ができるようになります。
この記事ではAlibaba Cloudが提供する「LogService」について紹介します。
LogServiceとは?
LogServiceはAlibaba Cloudが提供するサービスの一つです。
ログデータを収集、処理、送信、照会、分析する機能があり、特別な開発が必要なくワンストップで利用できるのが特徴です。
AWSなどの他のクラウドサービスではログの管理をするために、クラウドウォッチなどのいくつものソフトウェアを連携する必要があり、プロジェクトごとに開発の手間がかかってしまいます。
しかし、LogServiceは構築の際に「LogServiceをアクティベートしますか?」というメッセージが出た際に実行するだけで、必要な機能が自動的にアクティベートされるため、あまり使っているという感覚はないまま、使えてしまいます。
Alibaba Cloud製品にあまり馴染みがない人にとっては、心配や不安があるかもしれません。
しかし、Alibaba Cloudは通販サービス大手のアリババで1年に1度のセールを実施する「独身の日」でサーバダウンがなく運用され、毎日50億回の攻撃への対処にも成功している信頼できるサービスです。
LogServiceの機能
それではLogServiceの機能について紹介します。
LogServiceには主に3つのモジュールがありそれぞれ役割が異なります。
モジュールは次の3つです。
- LogHub
- LogShipper
- LogSearch / Analytics
仮想サーバやコンテナ、モバイル端末、オープンソースソフトウェアなどのリアルタイムのログデータへアクセスし、連携や処理を行います。
また、自動で構築され、データ移行、収集がいつのまにかできるようになります。
あるゲーム会社ではLogServiceだけで簡単な解析を行っています。
ここでは
- リアルタイムデータ収集
- データ処理
- クエリ分析
- 業務監視
- ログ監査
- データ統合・利⽤
を紹介します。
リアルタイムデータ収集
アリババグループの基盤を支えている機能で、Metric、Event、 BinLog 、TextLog、Click などの様々なリアルタイムのログデータにアクセスします。
Syslogやデータベースはもちろん、オープンソースのサードパーティ製のソフトウェアなどからもデータを収集できます。
データ処理
ビッグデータを扱う際にもすぐに活用ができます。
クエリ分析
様々なログデータを収集する際に、自動的に適切なラベル付けをして検索や分析がしやすい状態にしてくれます。
業務監視
ログを監視してアラートを発報するようなサーバ監視では一般的な機能も超高速で稼働します。
ログ監査
アクセスやアカウントの管理など基板を使っている際の動きの監査をする機能があります。
データ統合・利⽤
様々な言語や環境のログデータを統合して管理ができます。
世界的大手企業も使用している機能の一つです。
LogServiceの活用シーン
様々な機能のあるLogService。
実際にシステムの現場ではどのような活用がされているのでしょうか。
ログ検索 + 分析プラットフォーム
LogServiceのメインとなる活用方法で一番多く使われている方法です。
独身の日のインプット、アウトプットに耐えられる実績をあますことなく活用して、膨大なログデータから情報の検索し、改善のための分析が用意にできます。
業務監視
基盤の中で不具合の検知やリソースに対する警告など様々なログデータを抽出、集計、視覚化などを行えます。
ログに対してSQL92のような構文を利用して分析をかけられるなど、他のクラウドサービスでは複数のソフトを利用しないと実現できない機能をワンストップで使えます。
データ収集 / 処理 / 配信
独身の日には最大50万件/秒以上の注文が入ります。
これらの注文に対応するための、基盤の応答速度や安定性を活かしたデータの管理ができます。
LogServiceの使い方
ここからは実際にLogServiceを使用する方法を紹介します。
はじめに、ログサービスがどこから使用するかについて以下の画像をご覧ください。
コンソール画面の左上のハンバーガーメニューを開き、「分析」の項目の中にあります。
アクティブ化
次に有効化の手順を紹介します。
先程の「Log Service」をクリックすると次の画面になります。
「Log Serviceのアクティブ化」と書かれた青いボタンを押すと次の画面になります。
規約に同意して「Active Now」を実行します。
私はここでポップアップでURLが表示されたので、そのページを開いてみるとクレジットカードの確認が必要ということでした。
支払い方法の確認が不要な人は次の画面になります。
5分ほど待ってくださいとのことだったので、しばらく待ってから再度コンソールのハンバーガーメニューから「Log Service」を開くと次の画面になりました。
この画面が出ればアクティブ化は完了です。
プロジェクトの作成
次にプロジェクトを作成します。
先程の画面を下にスクロールすると次の画面になります。
ここからプロジェクトを作成します。
リージョンは日本を選択してプロジェクト名を決めます。
プロジェクト名は重複すると使えません。
このままLogStoreを作成します。
このままOKをするとどこからデータを収集するかの画面に変わります。
今回はテストなのでSyslogにします。
マシングループを決めます。
マシンに対して必要なパッチを当てます。
パッチ適用後、画面下にスクロールして「完全なインストール」を押すとマシングループの作成に移行します。
設定して次に進みます。
必要なサーバグループが入っていれば、ハートビートのチェックをして次に進みます。
データソースの指定もそのまま進めます。
最後のクエリと分析の設定を進めます。
今回はまだデータなしでしたが、インポートできるデータがあれば右のプレビューに表示されます。
次に進めるとこの画面になり、プロジェクトの作成は完了です。
検索と分析
先程の画面でログ紹介を押すと作成したプロジェクトの画面になります。
グラフタブは次のように表示されます。
このままではただのテーブルですが、右にあるグラフの形を選ぶと視覚的にわかりやすいものにすることができます。
また、下の赤線部分では時系列の表示もされます。
最後に、LogStore名の下の検索バーでは特定のログデータ名での検索やSQL92ベースの検索ができます。
まとめ
Alibaba CloudのLogServiceについて紹介しました。
安定性、信頼性のある基盤の中で高機能、高性能なLogServiceはクラウドサービスの中で珍しいワンストップで管理ができるツールです。
今回はSyslogでのテストでしたが、NginxやGrafanaなどのフレームワークのログを監視、管理することもできます。