DataStax Enterpriseログの形式

ログ形式は、簡単なパイプ区切りの名前/値のペアのセットです。名前/値のペア(フィールド)は、その特定のイベントの値が存在する場合にのみ、ログ行に含まれます。

ログ形式は、簡単なパイプ区切りの名前/値のペアのセットです。ペア自体はパイプ記号("|")で区切られ、各ペアの名前と値の部分はコロンで区切られています。名前/値のペア(フィールド)は、その特定のイベントの値が存在する場合にのみ、ログ行に含まれます。常に値が指定され、常に存在するフィールドもあれば、指定された操作に関連しないフィールドもあります。自動ツールによる解析を簡単に行うために、ログ行にフィールド(存在する場合)が表示される順序は予測しやすくなっています。たとえば、CQL文のテキストは引用符で囲まれていませんが、存在する場合は、常にログ行の最後のフィールドにあります。

フィールド・ラベル フィールド値 オプション
host dseノード・アドレス 必須
source クライアント・アドレス 必須
user 認証ユーザー 必須
timestamp ログ・イベントのシステム時刻 必須
category DML/DDL/QUERYなど 必須
type APIレベルの操作 必須
batch バッチID 任意
ks キースペース 任意
cf カラム・ファミリー 予約
operation テキスト形式の説明 予約

操作フィールド・ラベルのテキスト形式の説明の値は現在、CQLでのみ表示されます。

監査は権限管理と完全に異なります。ただし、ログに記録されるデータ・ポイントにはクライアント・アドレスと認証ユーザーが含まれます。この認証ユーザーは、デフォルトのオーセンティケーターが上書きされていない場合は、一般のユーザーになっていることがあります。要求ロギングは、「DataStax Enterpriseでのデータ監査の有効化」に記載されたカテゴリーのリストのいずれかまたはすべてに対してアクティブにできます。

CQLロギングの例

通常、SELECTクエリーはQUERYカテゴリーに分類されます。INSERT、UPDATE、およびDELETE文はDMLとして分類されます。CREATE KEYSPACEやDROP KEYSPACEなど、スキーマに影響するCQL文はDDLとして分類されます。

CQL USE

USE dsp904;

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351003707937|category:DML|type:SET_KS|ks:dsp904|operation:use dsp904;

CLI USE

USE dsp904;

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351004648848|category:DML|type:SET_KS|ks:dsp904

CQLクエリー

SELECT * FROM t0;

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351003741953|category:QUERY|type:CQL_SELECT|ks:dsp904|cf:t0|operation:select * from t0;

CQL BATCH

BEGIN BATCH
INSERT INTO t0(id, field0) VALUES (0, 'foo')
INSERT INTO t0(id, field0) VALUES (1, 'bar')
DELETE FROM t1 WHERE id = 2
APPLY BATCH;

host:192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351005482412|category:DML|type:CQL_UPDATE
|batch:fc386364-245a-44c0-a5ab-12f165374a89|ks:dsp904|cf:t0
|operation:INSERT INTO t0 ( id , field0 ) VALUES ( 0 , 'foo' )

host:192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351005482413|category:DML|type:CQL_UPDATE
|batch:fc386364-245a-44c0-a5ab-12f165374a89|ks:dsp904|cf:t0
|operation:INSERT INTO t0 ( id , field0 ) VALUES ( 1 , 'bar' )

host:192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351005482413|category:DML|type:CQL_DELETE
|batch:fc386364-245a-44c0-a5ab-12f165374a89|ks:dsp904|cf:t1
|operation:DELETE FROM t1 WHERE id = 2

CQL DROP KEYSPACE

DROP KEYSPACE dsp904;

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351004777354|category:DDL|type:DROP_KS
|ks:dsp904|operation:drop keyspace dsp904;

CQLのプリペアド・ステートメント

host:/10.112.75.154|source:/127.0.0.1|user:allow_all
|timestamp:1356046999323|category:DML|type:CQL_UPDATE
|ks:ks|cf:cf|operation:INSERT INTO cf (id, name) VALUES (?, ?)[id=1,name=vic]

Thrift batch_mutate

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351005073561|category:DML|type:INSERT
|batch:7d13a423-4c68-4238-af06-a779697088a9|ks:Keyspace1|cf:Standard1

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351005073562|category:DML|type:INSERT
|batch:7d13a423-4c68-4238-af06-a779697088a9|ks:Keyspace1|cf:Standard1

host:/192.168.56.1|source:/192.168.56.101|user:#User allow_all groups=[]
|timestamp:1351005073562|category:DML|type:INSERT
|batch:7d13a423-4c68-4238-af06-a779697088a9|ks:Keyspace1|cf:Standard1

DataStax Java Driverクエリー

host:ip-10-85-22-245.ec2.internal/10.85.22.245|source:/127.0.0.1|user:anonymous
|timestamp:1370537557052|category:DDL|type:ADD_KS
|ks:test|operation:create keyspace test with replication = {'class':'NetworkTopologyStrategy', 'Analytics': 1};

host:ip-10-85-22-245.ec2.internal/10.85.22.245|source:/127.0.0.1|user:anonymous
|timestamp:1370537557208|category:DDL|type:ADD_CF
|ks:test|cf:new_cf|operation:create COLUMNFAMILY test.new_cf ( id text PRIMARY KEY , col1 int, col2 ascii, col3 int);

host:ip-10-85-22-245.ec2.internal/10.85.22.245|source:/127.0.0.1|user:anonymous
|timestamp:1370537557236|category:DML|type:CQL_UPDATE
|ks:test|cf:new_cf|operation:insert into test.new_cf (id, col1, col2, col3) values ('test1', 42, 'blah', 3);

host:ip-10-85-22-245.ec2.internal/10.85.22.245|source:/127.0.0.1|user:anonymous
|timestamp:1370537704885|category:QUERY|type:CQL_SELECT
|ks:test|cf:new_cf|operation:select * from test.new_cf;

バッチ更新

バッチ更新は、Thrift batch_mutate呼び出しから受け取るか、CQL BEGIN BATCH.APPLY BATCHブロックで受け取るかにかかわらず、以下の方法でログに記録されます。UUIDがバッチ用に生成された後、各操作が個別に報告されます。レポートの追加フィールドには、バッチIDが表示されます。