mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 12:45:32 +08:00
29 lines
1.7 KiB
PHP
29 lines
1.7 KiB
PHP
<?php
|
||
|
||
use think\migration\Migrator;
|
||
|
||
/**
|
||
* nginx 日志分析 - 文件读取位置表
|
||
*
|
||
* 记录每个被解析日志文件的 inode/offset/最近读取时间/失败计数等增量读取状态。
|
||
*/
|
||
class NginxLogPosition extends Migrator
|
||
{
|
||
public function change()
|
||
{
|
||
$table = $this->table('nginx_log_position')
|
||
->setComment('nginx 日志文件读取位置(增量读取状态)')
|
||
->addColumn('file_path', 'string', ['limit' => 500, 'null' => false, 'comment' => '日志文件绝对路径'])
|
||
->addColumn('inode', 'biginteger', ['default' => 0, 'comment' => '文件 inode,用于检测日志轮转', 'signed' => false])
|
||
->addColumn('offset', 'biginteger', ['default' => 0, 'comment' => '上次读取到的字节偏移', 'signed' => false])
|
||
->addColumn('last_read_time', 'integer', ['limit' => 11, 'default' => 0, 'comment' => '上次读取时间戳', 'signed' => false])
|
||
->addColumn('last_line_hash', 'string', ['limit' => 32, 'default' => '', 'comment' => '上次最后一行的 md5 哈希(容错校验)'])
|
||
->addColumn('parse_fail_count', 'integer', ['limit' => 11, 'default' => 0, 'comment' => '解析失败累计次数', 'signed' => false])
|
||
->addColumn('parse_fail_samples', 'text', ['null' => true, 'comment' => '解析失败样本行(最多保留若干条)'])
|
||
->addColumn('create_time', 'integer', ['limit' => 11, 'comment' => '创建时间戳', 'signed' => false])
|
||
->addColumn('update_time', 'integer', ['limit' => 11, 'comment' => '更新时间戳', 'signed' => false])
|
||
->addIndex(['file_path'], ['unique' => true, 'name' => 'uniq_file_path'])
|
||
->create();
|
||
}
|
||
}
|