メインコンテンツまでスキップ
Sumo Logic Japanese

Microsoft SQL Server のログの収集

このページでは、SQL Server ERRORLOG データを収集するためのローカル ファイル ソースと、SQL Server のパフォーマンス メトリクスを収集するためのスクリプト ソースを設定する手順について説明します。

スクリプト ソースでは、VB スクリプトを使用して SQL Server データベース テーブルを照会します。スクリプトは、Windows Server 2012 R2 Standard と SQL Server 2014 で開発、デプロイ、テストされています。

スクリプトは、提供された設定ファイルで指定されたデータベース ユーザを使用して SQL Server に接続します。次に、設定ファイルで指定された SQL クエリを実行し、次のようなキーと値のペアとして SQL クエリ結果の各レコードを出力します。

{fieldname1:fieldvalue1} {fieldname2:fieldvalue2} {fieldname3:fieldvalue4}...

Windows 用のコレクタのインストール

「Windows へのコレクタのインストール」の手順に従って Windows 用のコレクタをインストールして設定します (まだの場合)。

ローカル ファイル ソースの設定

通常、ERRORLOG では UTF-16LE エンコーディングが使用されますが、SQL Server でこの設定に使用されるファイル エンコーディングを確認する必要があります。

Mac で ERRORLOG エンコーディングを確認するには、次のコマンドを使用します。

MacBookPro:Downloads npande$ file -I ERRORLOG*ERRORLOG* ERRORLOGERRORLOG: text/plain; charset=utf-16le ERRORLOG.1: text/plain; charset=utf-16le ERRORLOG.2: text/plain; charset=utf-16le

Notepad ++ を使用して ERRORLOG エンコーディングを確認することもできます。

ERRORLOG を取り込むためのローカル ファイル ソースを設定するには、「ローカル ファイル ソース」の手順に従いますが、次の点が異なります。

  1. 手順 4 で、システムに応じて [File Path (ファイル パス)]C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\LOG\ERRORLOG などを使用します。
  2. [Source Category (ソース カテゴリ)][DB/MSSQL/ERROR] を設定します。
  3. 手順 5 で、[Encoding (エンコーディング)][UTF-16LE] を選択します。

スクリプトと設定ファイルのダウンロード

次のファイルをダウンロードします。

Windows システム内に作成したフォルダ (C:\MSSQL_Perf_Monitor_Script) にファイルをコピーします。

データベース ログイン パラメータの設定

MSSQL_Perf_Monitor.cfg ファイルに対して次の更新を行います。 

[dbLogin] セクションで、各パラメータの値を指定します。

Server=CompleteServerName Database=DatabaseName

例:

Server=WIN-Server-prod-01 Database=master

クエリの有効化と無効化

MSSQL_Perf_Monitor.cfg[queries] セクションには、9 個の SQL クエリが含まれます。  

クエリをコメントアウトするには、先頭にシャープ記号 (#) を付けます。

クエリを追加するには、次のフォーマットでクエリをファイルに入力するか、貼り付けます。

SQLQuery = 1 行のクエリ (改行なし)

スクリプトのテスト

スクリプトをテストするには、次の手順を実行します。

  1. コマンド プロンプトに移動し、.bat ファイルを実行します。

    C:\MSSQL_Perf_Monitor_Script>MSSQL_Monitor.bat
  2. .batファイルによって vbs ファイルが実行されます。VB スクリプトで、.cfg ファイルで指定された SQL クエリが実行されます。 
  3. 各 SQL クエリ結果の出力がコンソールに表示されます。

スクリプトが正常に実行されたら、次のセクションの説明に従って Sumo スクリプト ソースを設定します。

スクリプト ソースの設定

  1. Sumo Logic で、[Manage Data (データの管理)] > [Collection (コレクション)] > [Collection (コレクション)] に移動します。
  2. ソースを追加するインストール済みコレクタの名前を見つけます。[Add... (追加...)] をクリックして、ポップアップ メニューから[Add Source (ソースの追加)] を選択します。
  3. [Script (スクリプト)] をソース タイプとして選択します。
  4. [Name (名前)]SQL Server Script (SQL Server スクリプト) などの名前を入力します。
  5. 必要に応じて [Description (説明)] を入力します。
  6. [Source Category (ソース カテゴリ)] に、目的のカテゴリを入力します。たとえば、DB/MSSQL/DBQueryScript などの値を入力できます。
  7. [Frequency (頻度)] で、目的の頻度を選択します。 
  8. [Specify a timeout for your command (コマンドのタイムアウトを指定)] で、実行時間の長いクエリを完了できる十分な長さの値を選択します。
  9. [Command (コマンド)] で、[Windows Script (Windows スクリプト)] を選択します。
  10. [Script (スクリプト)] で、[Type a path to the script to execute (実行するスクリプトへのパスを入力)] を選択し、C:\MSSQL_Perf_Monitor_Script\MSSQL_Monitor.bat と入力します。
  11. [Working Directory (作業ディレクトリ)] に、C:\MSSQL_Perf_Monitor_Script と入力します。
  12. [Save (保存)] をクリックします。

サンプル ログ

2018-05-02 00:05:09,876 Logon       Login succeeded for user 'bob'. Connection made using SQL Server authentication. [CLIENT: 242.95.35.122]

2018-00-02 00:00:33,803 spid884s     SQL Server is now ready for client connections. This is an informational message; no user action is required.

2018-00-02 00:00:09,521 spid500     Could not allocate space for object 'dbo.SORT temporary run storage:  262898620895351' in database 'cache' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

  • この記事は役に立ちましたか?