機能の提供状況
この機能はすべてのリージョンで利用できるわけではありません。お使いのリージョンでサポートされているかどうかを確認し、代替ソリューションを検討するには、データセンターとリージョンの提供状況ページを参照してください。
Lensでデータをクエリする前に、サポートされているデータソースへの接続を設定する必要があります。Lensは、NRDBデータにアクセスするためのsystem connectorsと、外部データベースやその他のデータソースに接続するためのdata connectorsの両方を提供します。
要件
data connectorsをセットアップする前に、以下の要件を満たしていることを確認してください。
権限
Organization Managerの場合、デフォルトですべてのLens機能にアクセスする権限があります。Organization Managerではない場合、Authentication Domain Managerは以下のいずれかの方法を使用して、必要なLens権限を持つ組織スコープのカスタムロールを付与する必要があります:
重要
一部の機能は、他の機能よりも幅広いアクセス権を付与します。たとえば、Modifyは作成、更新、削除、およびクエリまたはリフレッシュのアクセス権も付与します。より限定的な機能のみを付与したい場合は、Modifyの代わりにその特定の機能を選択してください。
次の権限 ID はLens connectorsへのアクセスを制御します:
機能 | 権限ID | 説明 |
|---|
Lens Connector > Read | nr_lens.read.catalogs
| connectors とその詳細を表示 |
Lens Connector > Modify | nr_lens.read.catalogsnr_lens.create.catalogsnr_lens.update.catalogsnr_lens.delete.catalogsnr_lens.query.connector
| 表示、作成、編集、削除、およびクエリ connectors |
Lens Connector > Other : Query Connectors | nr_lens.query.connector
| 〜によって付与される広範なアクセス権なしで、 connectors に対する明示的なクエリ権限を付与します。 Modify |
次の権限 ID はmaterialized viewsへのアクセスを制御します:
機能 | 権限ID | 説明 |
|---|
Lens Materialized Views > Read | nr_lens.read.materialized_views
| View materialized views |
Lens Materialized Views > Modify | nr_lens.read.materialized_viewsnr_lens.create.materialized_viewsnr_lens.update.materialized_viewsnr_lens.refresh.materialized_viewsnr_lens.delete.materialized_views
| 表示、作成、編集、更新、および削除 materialized views |
Lens Materialized Views > Other : Refresh Materialized Views | nr_lens.refresh.materialized_views
| によって付与される幅広いアクセス権なしで、 materialized views に対する明示的なリフレッシュ権限を付与します Modify |
データベースアクセス要件
外部データベースがIPアドレスによってアクセスを制限している場合、Lensが接続してデータをクエリできるように、New RelicのIPアドレスをホワイトリストに登録する必要があります。データベースの許可リストに追加するIPアドレスのリストは、こちらで確認してください。
System connectors
Lens NRDB データにアクセスするための 3 つのsystem connectorsを提供します。これらconnectorsは自動的に使用可能になり、セットアップは必要ありません。
Connector | 説明 | アクセスレベル |
|---|
Telemetry | NRDB からトランザクション、ログ、メトリクスなどのテレメトリーデータにアクセスします。 | アカウントレベル。権限を持つアカウントのデータにのみアクセスできます。 |
Entity | サービス、ホスト、アプリケーションなどの NRDB からのエンティティ データにアクセスします。 | アカウントレベル。権限を持つアカウントのデータにのみアクセスできます。 |
Materialized views | NRDB に保存されている materialized view データ (複数のデータベースを結合するクエリの結果) にアクセスします。 | 組織レベル。 Lens アクセス権を持つすべてのユーザーは materialized views クエリできます。 |
Data connectors
Data connectors Lensをデータベース、データウェアハウス、スプレッドシートなどの外部データソースに接続します。connectorsを作成、編集、または削除するには、特定のRBAC権限が必要です。
アクセス制御
Lens connectorsをクエリできるユーザーを制御するには、次の 2 つの方法があります。
- RBAC 権限: Lens connectors RBAC 権限を持つユーザーは、組織内のすべてのconnectorsを書き込むことができます。
- きめ細かいアクセスコントロール:広範なRBAC権限を持たないユーザーでも、それらのconnectorsへのきめ細かいアクセス権が付与されていれば、特定のconnectorsをクエリできます。これは、次の手順の一部として、connectorを作成するときに設定します。
作成する connector
data connectorを設定するには:
one.newrelic.com > Administration > Connectorsに移動します。
Create a connectorをクリックします。
ドロップダウン メニューからconnectorタイプを選択します。
選択したconnectorタイプに必要な接続情報を入力します。
RBAC 権限を持たないユーザーまたはグループにこのコネクタへのアクセスを許可するには、 Access controlセクションからきめ細かなアクセス制御を構成します。
- ユーザーまたはグループを含むAuth domainを選択します。
- User or groupを選択します。
- Lens Viewerロールを選択します。
- さらにユーザーまたはグループを追加するには、 Addをクリックして上記の手順を繰り返します。
Createをクリックします。
connectorを作成した後:
- スキーマを表示またはconnectorを削除するには、 connector行からのメニュー。
- アクセス制御設定を更新するには、 connectorを選択し、アクセス許可を追加または削除して、変更を保存します。
- connector設定を更新するには、 connectorを削除し、新しい詳細で再作成します。
Connector
必須フィールドを表示するには、 connectorタイプを選択してください。
Google Sheetsに接続して、 Lensから直接スプレッドシート データを作成します。
パラメータ | 説明 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。たとえば、 gsheets
または employee_data
。 |
資格情報キー | Google クラウド サービス アカウントの Base64 でエンコードされた JSON キー。 これにより、 Lens Google Sheets API で認証されます。手順については、 「サービス アカウント認証情報キーの生成」を 参照してください。 |
シートID | Lens を通じてアクセスするすべてのシートに関する情報が含まれるメタデータ Google スプレッドシートの ID。手順については、 「Google スプレッドシートのアクセスを設定する」を ご覧ください。 |
サービスアカウント認証情報キーを生成する
Google Sheetsを使用してLens認証するには、 Google Cloudサービス アカウントを作成し、JSON キーを生成する必要があります。
キー作成の権限を設定する
サービス アカウントのキーを作成するには、適切な権限が必要です。必要な権限の詳細については、 「必要な権限」を参照してください。
JSONキーをbase64に変換する
Lensで JSON キーを使用するには、JSON ファイルの内容全体を base64 エンコードに変換し、テキスト ファイルに保存します。
Googleスプレッドシートへのアクセスを設定する
認証情報キーを生成したら、Google スプレッドシートへのアクセスを構成します。
サービスアカウントとシートを共有する
Lensデータにアクセスできるようにするには、接続する各 Google スプレッドシートのサービス アカウントのメール アドレスに読み取り権限を付与します。
Lensで利用可能なシートを管理するには、次の 4 つの列を含む新しい Google スプレッドシートを作成します。
- Sheetname : Lensを使用してアクセスする各シートの名前。リストされているすべてのシートは、サービス アカウントからアクセスできる必要があります。
- Sheetid : 各シートの一意の識別子。これはシート URL:
https://docs.google.com/spreadsheets/d/SHEET_ID/editで確認できます。 - 所有者: シートの所有者。デフォルト値として
Trinoを使用します。 - 注記: シートに関する追加の注記または説明。
Lensメタデータを読み取れるようにするには、メタデータ シートの読み取り権限をサービス アカウントに付与します。
connectorを構成するには、メタデータ シート URL からシート ID をコピーします。シート ID は URL 内で次のように表示されます: https://docs.google.com/spreadsheets/d/SHEET_ID/edit 。
重要
Glue データカタログと Iceberg データを含む S3 バケットは、同じ AWS リージョンに存在する必要があります。
メタデータ管理にGlue Data Catalogを使用して、 AWSに保存されているApache Icebergテーブルに接続します。
付与 Lens
Lens を Iceberg テーブルに接続するには:
IAMポリシーを作成する
次の権限を持つIAM ポリシーを作成し、 Lens Glue メタデータと S3 内のデータファイルを読み取ることを許可します。{REGION} 、 {ACCOUNT_ID} 、 {DATABASE_NAME} 、 {S3_BUCKET_NAME}を実際の値に置き換えます。入力したポリシー名をメモしてください。このポリシーを IAM ロールにアタッチするときに必要になります。
"arn:aws:glue:{REGION}:{ACCOUNT_ID}:catalog",
"arn:aws:glue:{REGION}:{ACCOUNT_ID}:database/{DATABASE_NAME}",
"arn:aws:glue:{REGION}:{ACCOUNT_ID}:table/*"
"Action": ["s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation"],
"arn:aws:s3:::{S3_BUCKET_NAME}",
"arn:aws:s3:::{S3_BUCKET_NAME}/*"
信頼関係を持つIAMロールを作成する
IAMロールを作成し、Lensサービスアカウントがそれを引き受けられるように信頼関係を設定してください。ロールを設定する際は、以下の値を使用してください:
信頼されたエンティティタイプ: AWS アカウント
アカウント ID : 017663287629 (New Relic の AWS アカウント)
Require external ID:有効。AWSではロールの作成を完了するために値が必要なため、一時的なプレースホルダー(たとえばtemp-id)を入力します。これは、次のステップでLensが生成する外部IDに置き換えます。
権限ポリシー: 前の手順で作成したポリシー名を検索して選択します。
信頼ポリシーは次の形式と一致する必要があります。<AUTO_GENERATED_EXTERNAL_ID_FROM_LENS_UI>を、上記で入力したのと同じ一時的なプレースホルダーに置き換えます — この値は、後の手順でLensが生成した実際の外部IDで再度更新します。
"AWS": "arn:aws:iam::017663287629:user/service_fdp_customer_account_data_access"
"Action": "sts:AssumeRole",
"sts:ExternalId": "<AUTO_GENERATED_EXTERNAL_ID_FROM_LENS_UI>"
ロールを作成したら、ロールの概要ページを開き、Role ARNをコピーします。次のステップでconnectorを作成するために、この ARN が必要になります。
作成 connector
one.newrelic.com > Administration > Connectorsに移動し、Create a connectorをクリックし、Icebergを選択して、以下の詳細を入力します:
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述する際にこの connector を識別するための一意の名前。名前は nrlens-
で始まる必要があります。 | nrlens-CostDB
, nrlens-Customermetadata
|
aws_リージョン | Iceberg テーブルが保存されている AWS リージョン。インフラストラクチャ チームからこれを入手します。 | us-east-2
|
グルーカタログID | リージョン内で Glue データカタログを一意に識別する 12 桁の AWS アカウント ID。これはAWS Consoleの Account Settings [アカウント設定]で見つかります。 | 123456789012
|
aws_iam_role_arn | 前の手順でコピーした Role ARN [ロールARN]。 | arn:aws:iam::123456789012:role/ExampleRole
|
Createをクリックします。Lensはconnectorの外部IDを自動生成します。
生成された外部IDで信頼ポリシーを更新する
- connector'sの詳細ビューを開き、自動生成された外部IDをコピーします。
- AWSで、IAMロールの信頼ポリシーを編集し、
sts:ExternalIdの一時的なプレースホルダーの値をLensからコピーした外部IDに置き換えます。
Snowflakeデータ ウェアハウスに接続してcloudデータを作成します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | Employeedata
|
username | 認証用の Snowflake ユーザー名。 | user123
|
password | Snowflake ユーザーのパスワード。 | password@123
|
接続URL | Snowflake に接続するための JDBC URL。フォーマット: jdbc:snowflake://ACCOUNT.snowflakecomputing.com
。 | jdbc:snowflake://ACCOUNT.snowflakecomputing.com
|
アカウント | Snowflake アカウント識別子。これは、Snowflake URL または、Snowflake コンソールの Admin > Accounts で見つかります。 | ACCOUNT
|
データベース | 接続する Snowflake データベースの名前。 | DATABASE
|
役割 | ユーザーに割り当てられた Snowflake ロール。これによってアクセス権限が決まります。 | ROLE
|
倉庫 | 計算リソースに使用する Snowflake ウェアハウスの名前。 | WAREHOUSE
|
リレーショナル データをクエリするには、 PostgreSQLデータベースに接続します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | salesdata
|
接続URL | PostgreSQL に接続するための JDBC URL。フォーマット: jdbc:postgresql://[host]:[port]/[database]
。 | jdbc:postgresql://cluster.amazonaws.com:5432/test_db
|
username | PostgreSQL データベースのユーザー名。 | username
|
password | PostgreSQL ユーザーのパスワード。 | password
|
リレーショナル データをクエリするには、 MySQLデータベースに接続します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | CRMdata
|
接続URL | MySQL に接続するための JDBC URL。フォーマット: jdbc:mysql://[host]:[port]/[database]
。 | jdbc:mysql://test-db-mysql.cluster-cl3aokvievxs.us-east-2.rds.amazonaws.com:3306/test_db
|
username | MySQL データベースのユーザー名。 | username
|
password | MySQL ユーザーのパスワード。 | password
|
Amazon Redshiftデータ ウェアハウスに接続して、分析データを作成します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | AppDB
|
接続URL | Redshift に接続するための JDBC URL。フォーマット: jdbc:redshift://[host]:[port]/[database]
。 | jdbc:redshift://example.net:5439/database
|
username | Redshift データベースのユーザー名。 | root
|
password | Redshift ユーザーのパスワード。 | password
|
cloudデータウェアハウスのテーブルをクエリするには、Google BigQueryに接続します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | bigquery_data
|
プロジェクトID | Google Cloud プロジェクトID。 | my-gcp-project
|
資格情報キー | Google Cloud サービスアカウントのbase64エンコードされたJSONキー。これにより、 Lens が BigQuery で認証されます。手順については、「 サービスアカウントの認証情報キーの生成 」を参照してください。 | <base64-encoded-json-key>
|
サービスアカウント認証情報キーを生成する
Lens を BigQuery で認証するには、適切な BigQuery ロールを持つ Google Cloud サービスアカウントと、そのアカウントのJSONキーが必要です。
サービスアカウントを作成する
まだサービスアカウントをお持ちでない場合は、サービスアカウントの作成を参照して作成してください。
BigQueryロールを付与する
データの読み取りとクエリの実行は別々のBigQuery権限であるため、サービスアカウントにこれら両方のロールを付与するには、「IAMロールの付与」を参照してください:
- BigQuery Data Viewer (
roles/bigquery.dataViewer):connectorがテーブルデータとメタデータを読み取れるようにします。より厳密なアクセスにするために、プロジェクト全体ではなく特定のデータセットにこれをスコープできます。 - BigQuery Job User (
roles/bigquery.jobUser):connectorがクエリを実行できるようにします。BigQueryではジョブの実行はデータセットレベルの権限ではないため、これをプロジェクトレベルで付与してください。
JSONキーをbase64に変換する
Lensで JSON キーを使用するには、JSON ファイルのコンテンツ全体を base64 エンコードに変換します:
$base64 -i your-key-file.json | tr -d '\n'
connectorを作成したら、出力をcredential_keyフィールドにコピーしてください。
Prometheusに接続してメトリクス データを書き込みます。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | MetricsDB
|
ウリ | Prometheus サーバーの URL。 | http://localhost:9090
|
ユーザー名 (オプション) | Prometheus サーバーで基本認証が必要な場合のユーザー名。 | username
|
パスワード (オプション) | 基本認証のパスワード。 | password
|
query_chunk_duration (オプション) | Prometheus に送信される各クエリ チャンクの期間。チャンクが小さいとメモリの使用量は減りますが、 requestsの数は増加します。 | 1d
|
max_query_range (オプション) | クエリの最大時間範囲。 Lens この範囲を query_chunk_duration
に基づいてチャンクに分割します。 | 21d
|
cache_ttl (オプション) | 更新する前にこのデータ ソースの値をキャッシュする期間。 | 30s
|
MongoDBデータベースに接続してドキュメント データを記述します。
重要
接続 URL にはパスワードなどの機密情報が含まれているため、設定後は読み取ることができません。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | CustomerDB
|
接続URL | MongoDB 接続文字列。フォーマット: mongodb://<user>:<pass>@<host>:<port>/
。ユーザー名とパスワードは両方とも URL エンコードされている必要があります。 | mongodb://user:pass@cluster.mongodb.net:27017/
|
MongoDB Atlasユーザーの場合: Lensに入力するユーザー名とパスワードはユーザーの資格情報であり、Atlas Web UIへのログインに使用する資格情報ではありません。
URL エンコード: ユーザー名とパスワードは URL エンコードする必要があります。
Elasticsearchに接続して、検索データと分析データを作成します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | |
ホスト | Elasticsearch サーバーのホスト名または IP アドレス。 | |
port | Elasticsearch サーバーのポート番号。 | |
安全 | 認証のためのセキュリティ方法。 | |
username | 認証用の Elasticsearch ユーザー名。 | |
password | Elasticsearch ユーザーのパスワード。 | |
tls_enabled (オプション) | Elasticsearch サーバーへの安全な接続のために TLS を有効にします。 | |
AWS CloudWatchに接続してクラウドモニタリング データを書き込みます。
重要
CloudWatch connectorはリージョン固有です。クエリを実行する AWS リージョンごとに個別のconnectorsを作成します。
付与 Lens
LensをCloudWatchメトリクスに接続するには:
IAMポリシーを作成する
次の権限を持つIAM ポリシーを作成して、 Lens AWSアカウントから CloudWatchメトリクスを読み取ることを許可します。 入力したポリシー名をメモしてください。このポリシーを IAM ロールにアタッチするときに必要になります。
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics",
信頼関係を持つIAMロールを作成する
IAMロールを作成し、Lensサービスアカウントがそれを引き受けられるように信頼関係を設定してください。ロールを設定する際は、以下の値を使用してください:
信頼されたエンティティタイプ: AWS アカウント
アカウント ID : 017663287629 (New Relic の AWS アカウント)
Require external ID:有効。AWSではロールの作成を完了するために値が必要なため、一時的なプレースホルダー(たとえばtemp-id)を入力します。これは、次のステップでLensが生成する外部IDに置き換えます。
権限ポリシー: 前の手順で作成したポリシー名を検索して選択します。
信頼ポリシーは次の形式と一致する必要があります。<AUTO_GENERATED_EXTERNAL_ID_FROM_LENS_UI>を、上記で入力したのと同じ一時的なプレースホルダーに置き換えます — この値は、後の手順でLensが生成した実際の外部IDで再度更新します。
"AWS": "arn:aws:iam::017663287629:user/service_fdp_customer_account_data_access"
"Action": "sts:AssumeRole",
"sts:ExternalId": "<AUTO_GENERATED_EXTERNAL_ID_FROM_LENS_UI>"
ロールを作成したら、ロールの概要ページを開き、Role ARNをコピーします。次のステップでconnectorを作成するために、この ARN が必要になります。
作成 connector
one.newrelic.com > Administration > Connectorsに移動し、Create a connectorをクリックしてAWS CloudWatchを選択し、前の手順のRole ARNを使用して次の詳細を入力します:
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述する際にこの connector を識別するための一意の名前。名前は nrlens-
で始まる必要があります。 | nrlens-cloudwatch-metrics
|
aws_リージョン | CloudWatch データが保存される AWS リージョン。 | us-east-2
|
aws_iam_role_arn | 前の手順でコピーした Role ARN [ロールARN]。 | arn:aws:iam::123456789012:role/LensCloudwatchAccessRole
|
Createをクリックします。Lensはconnectorの外部IDを自動生成します。
生成された外部IDで信頼ポリシーを更新する
- connector'sの詳細ビューを開き、自動生成された外部IDをコピーします。
- AWSで、IAMロールの信頼ポリシーを編集し、
sts:ExternalIdの一時的なプレースホルダーの値をLensからコピーした外部IDに置き換えます。
ClickHouseに接続して分析データを作成します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | AnalyticsDB
|
username | ClickHouse データベースのユーザー名。 | admin
|
password | ClickHouse ユーザーのパスワード。 | password
|
接続URL | ClickHouse に接続するための JDBC URL。フォーマット: jdbc:clickhouse://<host>:8123/<database>?ssl=true
。 | jdbc:clickhouse://clickhouse.example.com:8123/analytics_db?ssl=true
|
リレーショナル データをクエリするには、 Microsoft SQL Serverに接続します。
パラメータ | 説明 | サンプル値 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。 | SalesDB
|
接続URL | SQL Server に接続するための JDBC URL。フォーマット: jdbc:sqlserver://<host>:<port>;databaseName=<database>;encrypt=false
。 | jdbc:sqlserver://sqlserver.example.com:1433;databaseName=sales_db;encrypt=false
|
username | SQL Server データベースのユーザー名。 | sa
|
password | SQL Server ユーザーのパスワード。 | password
|
Lensから直接データをクエリするには、Databricks (Azure)に接続してください。
パラメータ | 説明 |
|---|
名前 | クエリを記述するときにこの connector を識別する一意の名前。たとえば、 databricks
または employee_data
。 |
rest_catalog_uri | クエリを実行しているDatabricksカタログのURIです。形式: https://adb-<workspace-id>.azuredatabricks.net/api/2.1/unity-catalog/iceberg-rest
|
rest_catalog_warehouse | Databricks (Azure) ワークスペースのカタログ名です。 |
oauth2_server_uri | Lens 経由でクエリを実行する Databricks (Azure) ワークスペースのOAuth2サーバーURIです。 |
oauth2_token | Databricks (Azure) ワークスペースの OAuth2トークンを作成 してください。 |
azure_access_key | Azure Storageアカウントの アクセスキー です。 |
設定を確認する
connectorが機能していることを確認するには:
- connector行のメニューからスキーマを表示して、Lensがデータソースのテーブルを表示できることを確認してください。
connection_name.schema.table形式を使用してコネクタをクエリします。クエリが結果を返した場合、connectorは正しく設定されています。
マテリアライズド・ビューをサポートするためにconnectorをセットアップしている場合、materialized viewが正常に作成されることで、connectorがエンドツーエンドで機能することが確認できます。