New Relicはオブザーバビリティを実践するうえで役立つプラットフォームですが、社内で活用する中において 「誰が、いつ、New Relicにログイン・ログアウトしたのか」 という情報を詳細に追跡したいと思ったことはありませんか?
この度New RelicのNrAuditEventイベントが拡張され、ログインおよびログアウトイベントの照会が可能になりました!これにより、New Relic利用状況の透明性を高めることができます!
本記事では、この新しい機能の概要と利用方法、そして活用例について解説します。
最新のアップデートの詳細はこちら
NrAuditEventとは?
NrAuditEventは、New Relicアカウント内で発生した様々な監査可能なイベントを記録するイベントタイプです。これまでは主に、設定変更やユーザー追加・削除といったアカウントレベルの変更履歴を追跡するために利用されてきました。
今回のアップデートにより、このNrAuditEventにログイン・ログアウトも記されるようになっています。これにより、New Relicへのアクセス履歴がより詳細に記録され、NRQLを使って簡単に照会できるようになりました。
- Login and logout events :ログインとログオフイベント ←NEW
- Users added or deleted :ユーザーの追加/削除
- User permission changes:ユーザー権限の変更
- Account changes made via API:API経由でのアカウント変更
- Synthetic monitor changes:Syntheticモニターの変更
- Dashboard deletion:Dashboardの削除
- Workload configuration changes:Workloadの設定変更
詳細は公式ガイドを参照ください。
ログイン・ログアウトイベントの照会方法
NRQLクエリを使って、これらのイベントを照会することができます。
基本的なNRQLクエリは以下の通りです。コピー&ペーストして試してみてください。
例1)過去1週間のログインとログアウトを一覧表示
下記のNRQLを実行することで、ログインとログアウトの過去一週間の状況を一覧で表示ができます。
SELECT *
FROM NrAuditEvent
WHERE actionIdentifier = 'user.login' OR actionIdentifier = 'user.logout'
SINCE 1 week ago
LIMIT MAX
ただ、ちょっとこれだと味気ないので、ユーザー毎で分析できるようにしてみます!
例2)過去1週間のユーザー毎のログイン数を表示
description属性の中からメールアドレスを抽出して、そのユーザー毎に過去1週間のログイン数をまとめてみます。
SELECT count(*)
FROM NrAuditEvent
WHERE actionIdentifier = 'user.login'
FACET aparse(description, 'User * log%')
SINCE 1 week ago
LIMIT MAX
ユーザー毎になってちょっと見やすくなりました!
例3)過去1週間のユーザー毎のログイン数を時系列で表示
ではさらに、TIMESERIESを追加して時系列でログイン状況をみてみたいと思います。
SELECT count(*)
FROM NrAuditEvent
WHERE actionIdentifier = 'user.login'
FACET aparse(description, 'User * log%')
SINCE 1 week ago
LIMIT MAX
TIMESERIES
これで、いつ頃に誰が頻繁にログインしたか、俯瞰して確認していくことが可能です。
まとめ
New RelicのNrAuditEventでログイン・ログアウトイベントが照会可能になったことで、アカウント管理の観点で知りたい情報を得ることができるようになりました。New Relicを活用するためにも各ユーザーの利用状況を把握してみるのはいかがでしょうか?
ぜひご自身のNew RelicアカウントでこれらのNRQLクエリを試してみてください。
その他
New Relic株式会社のQiita Organizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!