我有一个Python代码,可将来自终端的ps aux
输出通过管道发送给InfluxDB。
def main(host='localhost', port=8086):
user = '----'
password = '----'
dbname = '----'
protocol = 'line'
client = DataFrameClient(host, port, user, password, dbname)
a = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE).communicate()[0].decode("utf-8")
# a = a.translate(None, '%')
pyperclip.copy(a)
df = pd.read_clipboard(index_col=False)
df = df[["USER", "%CPU", "%MEM", "START"]]
# df.index = pd.to_datetime(df.index)
ind = pd.DatetimeIndex(data=df["START"])
df.set_index(ind, inplace=True)
print(df)
client.create_database(dbname)
client.write_points(df, dbname, protocol=protocol)
我得到一个包含400多个行的表。
当我打开InfluxDB并从数据库中选择所有内容时,它仅读取22行。
time %CPU %MEM START USER
---- ---- ---- ----- ----
1570543920000000000 0 0 14:12 ani
1570543980000000000 0 0.3 14:13 root
1570544040000000000 0 0.4 14:14 ani
1570544100000000000 0 0 14:15 ani
1570544160000000000 0.1 1.1 14:16 ani
1570544520000000000 0 0 14:22 ani
1570544700000000000 0.1 0.6 14:25 grafana
1570545060000000000 0 0 14:31 ani
1570545240000000000 0 0.1 14:34 ani
1570545300000000000 0 0 14:35 ani
1570545780000000000 0 0 14:43 root
1570545960000000000 0 0 14:46 root
1570547460000000000 0 0 15:11 root
1570547580000000000 0 0 15:13 ani
1570548240000000000 0 0 15:24 root
1570548660000000000 0.2 0.4 15:31 influxdb
1570549560000000000 0 0 15:46 root
1570549740000000000 0 0 15:49 root
1570549800000000000 0 0.6 15:50 ani
1570550040000000000 0 0 15:54 ani
1570550100000000000 0 0 15:55 root
1570550160000000000 0 0 15:56 ani
其余数据在哪里?