DataStax Enterpriseのログの形式
ログ形式は、簡単なパイプ区切りの名前/値のペアのセットです。名前/値のペア(フィールド)は、その特定のイベントの値が存在する場合にのみ、ログ行に含まれます。
ログ形式は、簡単なパイプ区切りの名前/値のペアのセットです。ペア自体はパイプ記号(|
)で区切られ、各ペアの名前と値の部分はコロンで区切られています。名前/値のペア(フィールド)は、その特定のイベントの値が存在する場合にのみ、ログ行に含まれます。常に値が指定され、常に存在するフィールドもあれば、指定された操作に関連しないフィールドもあります。自動ツールによる解析を容易にするため、フィールドが存在する場合にログ行に表示される順序は予測できるようになっています。たとえば、CQL文のテキストは引用符で囲まれていませんが、存在する場合は常にログ行の最後のフィールドにあります。
フィールド・ラベル | フィールド値 | オプション |
---|---|---|
host | desノード・アドレス | 未予約 |
source | クライアント・アドレス | 未予約 |
user | 認証ユーザー | 未予約 |
timestamp | ログ・イベントのシステム時刻 | 未予約 |
category | DML/DDL/QUERYなど | 未予約 |
type | APIレベルの操作 | 未予約 |
batch | バッチID | 予約 |
ks | keyspace | 予約 |
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が表示されます。