こんにちは! エンジニアのYです。
今回は、Alibaba Cloudの【LogService】の検索編④を投稿します。
前回の記事では、LogServiceにて収集したログのダウンロードを実施しました。
今回は、ダッシュボードの作成を交えて様々なグラフ作成をご紹介していきます。
以下、目次です。
ログ検索画面までの遷移
まずは、以下の手順でログの閲覧画面まで遷移します。
Alibaba Cloudのコンソール画面へログインし、【LogService】画面を開きます。
確認対象の
Project
をクリックします。
ここでは、webserver-project
をクリックします。Logstore
の一覧が表示されます。
この中から確認対象のLogstore
を選択します。
ここでは、web1-logstore
のログ使用モード
配下にある検索
をクリックします。収集したログが表示されます。
次項で、ダッシュボードの作成を実施します。
ダッシュボードの作成
グラフを作成後、ダッシュボード化します。
検索対象のログは、Logstoreweb1-logstore
にて収集している全てのサーバの中の/var/log/httpd/access_logを対象とします。
以下、手順です。
横棒グラフを作成し、ダッシュボード化
横棒グラフを作成し、ダッシュボード化します。
ここでは、アクセス元の上位10をグラフ化します。
横棒グラフの作成(アクセス元上位10を横棒グラフ化)
以下、手順です。
ログの検索期間をグラフ化可能な期間に設定します。
ここでは、30日(相対)
に設定します。-
ログの集計を実施します。
ここでは、下記のクエリを入力後検索と分析
をクリック、もしくはエンター
を押下します。
クエリが正常に発行されるとグラフ画面へ遷移します。* and __tag__:__path__ : /var/log/httpd/access_log | with_pack_meta | select "remote_addr" , pv, pv *1.0/sum(pv) over() as percentage from( select count(*) as pv , "remote_addr" from (select "remote_addr" from log) group by "remote_addr" order by pv desc) order by pv desc limit 10
※GUIを使用したクエリ発行は、こちらの記事の【ログの集計】をご参照下さい。 グラフ画面後、
横棒グラフ
を選択します。グラフが表示されます。
プロパティ
を選択すると、グラフの調整が可能です。
ここでは、デフォルト値のまま作成します。ダッシュボードに追加
を選択します。
グラフをダッシュボードへ追加
前項に引き続き、作業を実施します。
ダッシュボードに追加
の画面で、新規ダッシュボードを作成
を選択します。ダッシュボード名
とチャート名
は任意の値を設定します。 ここでは、下記の通り設定します。
ダッシュボード名:test-dashboard
チャート名:アクセス元上位10
ダッシュボードに追加
の画面で、新規ダッシュボードを作成
を選択します。左ペインに作成したダッシュボード名が表示されたらクリックします。
ダッシュボードが表示されます。
既存ダッシュボードへのグラフ追加
前項までは、新規ダッシュボードの作成方法でした。
ここでは、作成済みのダッシュボードへグラフを追加する際の手順について、記載します。
- 作成済みのダッシュボードにグラフを追加したい場合は、
項番6
にて既存のダッシュボードに追加
を選択し、ダッシュボードを選択します。
以降の手順は、ダッシュボード作成
と同様です。
その他のグラフ作成およびダッシュボードへの追加
作成したダッシュボードへグラフを追加していきます。
ここでは、下記のグラフをダッシュボードへ追加します。
⦿折れ線グラフ(PV数の遷移を折れ線グラフ化)
⦿円グラフ(閲覧上位5ページを円グラフ化)
⦿ヒートマップ(アクセス元をヒートマップ化)
折れ線グラフの作成(PV数の遷移を折れ線グラフ化)
LogServiceの日付と時間の関数を使用し、PV数を日毎に表示させます。
ここでは、/var/log/httpd/access_log
のstatus
が200
となっているログを日毎に集計し、折れ線グラフ化します。
以下、グラフ作成手順です。
ログの検索期間をグラフ化可能な期間に設定します。
ここでは、30日(相対)
に設定します。-
ログの集計を実施します。
ここでは、下記のクエリを入力後検索と分析
をクリック、もしくはエンター
を押下します。
クエリが正常に発行されるとグラフ画面へ遷移します。* and status: 200 | select date_format(date_trunc('day',__time__), '%Y/%m/%d') as date, count(*) as PV group by date order by date
グラフの中から
折れ線グラフ
を選択します。プロパティ
タブにて必要に応じてグラフを編集します。折れ線グラフにて、PV数の遷移を可視化することができます。
ダッシュボードに追加
を選択後、既存のダッシュボードに追加します。
※ダッシュボードの追加手順は、本記事内の既存ダッシュボードへのグラフ追加
をご参照下さい。
円グラフの作成(閲覧上位5ページを円グラフ化)
円グラフを作成し、ダッシュボード化します。
ここでは、閲覧頻度の多いWEBページの上位5をグラフ化します。
以下、グラフ作成手順です。
ログの検索期間をグラフ化可能な期間に設定します。
ここでは、30日(相対)
に設定します。-
ログの検索を実施します。
* and status: 200 | select "request_uri" , pv, pv *1.0/sum(pv) over() as percentage from( select count(*) as pv , "request_uri" from (select "request_uri" from log) group by "request_uri" order by pv desc) order by pv desc limit 5
グラフの中から
円グラフ
を選択します。プロパティ
タブにて必要に応じてグラフを編集します。円グラフにて、閲覧上位5ページを可視化することができます。
ダッシュボードに追加
を選択後、既存のダッシュボードに追加します。
※ダッシュボードの追加手順は、本記事内の既存ダッシュボードへのグラフ追加
をご参照下さい。
ヒートマップの作成(アクセス元をヒートマップ化)
LogServiceのIP機能を使用し、ヒートマップを表示させます。 IP機能
を使用することで、グローバルIPアドレスが属する国、地域、都市を抽出することができます。
ここでは、ヒートマップとして活用します。
以下、グラフ作成手順です。
ログの検索期間をグラフ化可能な期間に設定します。
ここでは、30日(相対)
に設定します。-
ログの集計を実施します。
ここでは、下記のクエリを入力後検索と分析
をクリック、もしくはエンター
を押下します。
クエリが正常に発行されるとグラフ画面へ遷移します。* and __tag__:__path__ : /var/log/httpd/access_log | SELECT ip_to_geo( remote_addr ) AS geo, COUNT(*) as count GROUP BY geo ORDER BY count DESC LIMIT 10
グラフの中から
ヒートマップ
を選択します。経度/緯度
は検索クエリの中で定義しているgeo
を選択します。 ここでは、クエリの中のremote_addr
を検索対象とします。数値カラム
はcount
を使用します。ヒートマップにて、アクセス元を可視化することができます。
※【ヒートマップ】や【電子地図】のように経度/緯度の特定を要するものについては、
中国・日本を拠点としたグローバルIPアドレスであれば、記載の通り、地図上に表示されていることを確認しました。
ただし、その他の国について、いくつか試しましたが、正常に地図上に表示されない国(シンガポール、シドニー等)もあるため、
使用の際はご注意下さい。ダッシュボードに追加
を選択後、既存のダッシュボードに追加します。
※ダッシュボードの追加手順は前項のここでの手順は割愛します。
以上でダッシュボードの作成作業が完了です。
次項でダッシュボードの編集方法をご紹介します。
ダッシュボードの編集
作成した
ダッシュボード
を選択します。グラフがダッシュボードとして追加されます。
ダッシュボードを編集するために
編集
をクリックします。編集用のバー
が表示されます。グラフのクエリ等を編集する場合は、グラフ内の
編集
をクリックします。グラフの編集画面に遷移します。
今回は、変更しませんが、クエリやグラフの種類を修正したい場合は、こちらで修正します。インタラクション
タブでは、グラフをクリックした際の挙動を定義します。
今回は、無効化
とします。設定変更を反映させたい場合は、
OK
、設定変更を行わない場合はキャンセル
をクリックします。
今回は、設定変更を行わないため、キャンセル
をクリックします。各種グラフのサイズを変更し、適切な位置に配置します。
保存
をクリックし、ダッシュボードを保存します。ポップアップが表示されたら
OK
をクリックします。下記の通り、ダッシュボードが作成されました。
ダッシュボードの活用
本項では、作成したダッシュボードの活用方法について、いくつかご紹介します。
グラフ操作
ダッシュボード化したグラフは、時間軸を一括変更可能です。
必要に応じて、時間軸を変更して下さい。ダッシュボード内のグラフは、グラフ毎に図内に記載されているような詳細情報の表示が可能です。
詳細については、こちらの公式ドキュメントをご参照下さい。
ダッシュボードのメール添付
作成したダッシュボードについては、サブスクライブ
機能を使用し、定期的にメール添付することが可能です。
以下、手順です。
ダッシュボード画面にて
サブスクライブ
をクリックします。サブスクリプションの作成画面にて、
サブスクリプション名
、送信頻度
を設定します。次へ
をクリックします。送信方法
、宛先
、件名
を設定します。送信
をクリックします。下記のポップアップが表示されたら
OK
をクリックします。受信したメールには、下記の通り、ダッシュボードが表示されます。
メール内のリンクをクリック後、AlibabaCloudアカウントへログインすることで、
LogServiceのダッシュボード画面へ遷移することができます。ダウンロードボタン
をクリックすることで、png形式
でダッシュボードをダウンロードすることが可能です。
まとめ
今回は、ダッシュボードの作成を実施しました。
次回は、LogServiceを使用したアラート機能について、ご紹介致します。
ありがとうございました。