MsSQL エージェント

Microsoft SQL Server (MSSQL) エージェントをインストールすると、SQL Server インスタンスのバックアップ、メンテナンス、監視などの様々なタスクの管理と自動化に役立ちます。またこの機能は、SQL Server 環境の健全性とパフォーマンスの維持にも有用です。

前提条件

  • エージェントのインストールに必要な前提条件の確認については エージェントのインストールに必要な前提条件の確認 を参照してください。
  • SixthSense コレクターの URL/IP(カスタマーサポートから提供されるテナント URL)。
  • SixthSense ポータルからのアクセストークン。トークン取得については「SixthSense ポータル はじめに」の アクセストークンの取得 を参照してください。
  • MsSQL エージェントの最新バージョン
  • データベースの詳細(ホスト名、ポート、DB 名、DB ユーザーの認証情報)
  • エージェントをダウンロードするためのパッケージトークン(オンボーディングチームより提供されます)。
  • DB ユーザーの権限: すべてのキースペースに対する SELECT 権限を db_user に付与します。

1. エージェントのダウンロードと展開

Linuxの場合:

a. 次のコマンドを使用して SixthSense MsSQL DB エージェントをダウンロードします。

curl --header "PRIVATE-TOKEN:{{TOKEN}}" --output Sixthsense-Meter-Agent.zip "https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/32/packages/generic/Meter-Agent/latest/meter-agent.zip"

b. meter-agent.zip ファイルを解凍し、以下の文書に記載されているように、yaml ファイルの設定を編集します。

Windowsの場合:

a. cmd を開き、以下の curl コマンドを使用して SixthSense MsSQL DB Agent をダウンロードします。

curl --header "PRIVATE-TOKEN:{{TOKEN}}" --output Sixthsense-Meter-Agent.zip "https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/32/packages/generic/Meter-Agent/latest/meter-agent.zip"

b. meter-agent.zip ファイルを解凍し、このドキュメントに記載されているように、yaml ファイルの構成を編集します。

  1. マスター DB に SixthSense ユーザーを作成します。

以下のコマンドを使用します。

USE master;
CREATE LOGIN sixthsense WITH PASSWORD = 'xxxxxxxxxxx';
CREATE USER sixthsense FOR LOGIN sixthsense;
  1. マスター DB に SixthSense ユーザーの権限を付与します。
GRANT CONNECT SQL TO sixthsense;
GRANT VIEW SERVER STATE TO sixthsense;
-- Goes through each user database and adds public permissions
DECLARE @name NVARCHAR(max)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM MASTER.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE('USE "' + @name + '"; CREATE USER sixthsense FOR LOGIN sixthsense;' );
FETCH next FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor

4. MsSQL エージェントの設定

エージェントと同じディレクトリに config.yaml ファイルを作成します。

# sixthsense-kubernetes-agent can be configured via yaml or environment variables
#
# Note: Environment Variables are given higher priority over yaml file
#
# Following are the environment variables that can be set:
# ENV VARIABLE CORRESPONDS TO
# SS_SERVICE_NAME service_name
# SS_AUTHENTICATION authentication
# SS_BACKEND sixthsense_backend
# SS_LOGGING logging
# SS_SECURE secure
sixthsense:
service_name: <name of the service>
# Login to the SixthSense portal and copy the access token. For more information about copying the access token, see [Accessing your access token](../getting-started.md#accessing-your-access-token).
authentication: <authentication token from dashboard>
# debug|error|info
logging: <level> (level supported: debug ,error ,info)
# For GCP: grpc-collector-observability.sixthsense.rakuten.com:443
# (One Cloud) For connectivity to backend using intra public network: 133.237.176.44:80
# (One Cloud) For connectivity to backend using onecloud private network: 100.99.116.221:80
sixthsense_backend: <Name of the Collector>
# SSL connection with backend true|false
secure: true
# (For One Cloud) secure: false
# MY | ES | MS | CB | OR
type: <Database Type>(Select MY for MySql)
# cron: "* * * * *"(optional)
hostname: <Hostname of the database>
port: <Port number of the database>
user: <Database User>
password: <Password for the database user>
# database: <Name of the database>(optional)
# socket: <Socket File> (Set this if your are running MySql using sock file Ex: /tmp/mysql.sock)
note
  • sql ポートまたはソケットのどちらかを使用します。
  • ホスト名とともにインスタンス名もサポートします。

例: hostname: Hostname

5. エージェントの実行

Linuxの場合:

ターミナルで以下のコマンドを使用して、MsSQL エージェントを実行します。

./meter-agent path/to/config/ss-mssql-config.yaml

Windowsの場合:

a. 管理者としてコマンドプロンプトを開き、次のコマンドを入力します。

nssm.exe install “Service_Name”

次の NSSM サービスインストーラ画面では、[アプリケーション] タブがデフォルトで選択されています。

NSSM installer

b. 次の詳細を入力します。

  • パス:meter-agent.exeのフルパス
  • スタートアップディレクトリ:フォルダパス
  • 引数:yamlフルネーム

c. [詳細] タブをクリックします。

NSSM installer

d. 次の詳細を入力します。

  • 表示名:サービスの表示名
  • 説明:サービスの説明
  • セットアップの種類:「自動」等のセットアップの種類を選択します。

e. [ログオン]タブをクリックします。

NSSM installer

f. [ローカルシステムアカウント] ラジオボタンを選択します。

g. [サービスがデスクトップと対話できるようにする] チェックボックスを選択します。

h. [サービスのインストール] をクリックします。

次の画面が表示されます。

Cloud Monitoring dashboard

yamlファイルの設定の編集

yaml ファイルに以下の設定を追加します。

  1. service_name: UI に表示されるサービス名
  2. authentication: 設定の下にあるダッシュボードからアクセストークンを取得
  3. sixthsense_backend: バックエンドコレクターURL
  4. hostname: ホスト名
  5. port: ポート
  6. user: db_user
  7. password: db_user_password
note

ホスト名だけでなく、インスタンス名もサポートしています。

例:

hostname: Hostname/SQLExpress