我有计算机 1volts.json
每秒将电压数据记录到一个文件中。
我的第二台计算机通过连接ssh
并每 5 分钟抓取一次该文件。Splunk 为仪表板索引该文件。
以这种方式是scp
有效的,如果是这样就可以了。接下来是如何管理文件并保持小而不增长到 2mb 可以说?是否有命令滚出较早的日志并保持最新的?
json 现在看起来像这样:
{
"measuredatetime": "2022-06-27T18:00:10.915668",
"voltage": 207.5,
"current_A": 0.0,
"power_W": 0.0,
"energy_Wh": 2,
"frequency_Hz": 60.0,
"power_factor": 0.0,
"alarm": 0
}
{
"measuredatetime": "2022-06-27T18:00:11.991936",
"voltage": 207.5,
"current_A": 0.0,
"power_W": 0.0,
"energy_Wh": 2,
"frequency_Hz": 59.9,
"power_factor": 0.0,
"alarm": 0
}
ssh
,典型的工具是rsync
.logrotate
非常专用。ssh
通过强制命令来确保无人看管的简单任务.ssh/authorized_keys
是一种极好的做法。例子:
设置
/etc/logrotate.d/volts
文件(模仿经典的系统日志设置)用 ;创建一个任务专用的密钥对
ssh-keygen
;在这种特殊情况下,您不需要密码;通过autorized_keys
限制确保安全中
.ssh/authorized_keys
,设置:另一方面,在
crontab
,设置在计算机 1 上,您还可以用命名管道替换日志文件,制作一个使用流并安全写入文件的守护程序脚本(例如,使用信号量来管理并发 I/O),这样您就可以很好地控制超过数据完整性。