如何将整个索引数据从一台 Splunk 服务器迁移到另一台 Splunk 服务器
How to migrate entire index data from one Splunk server to another Splunk server
我有一个带有 650k 事件索引数据的 Splunk 服务器。我想将整个数据从一个实例迁移到另一个新实例。
我尝试使用带有数据字段 -27D@d 的迁移脚本,但我只能迁移 50k 数据。
-27D@d 是初始数据可用的起点。
你能帮我吗?
这是代码:
import splunklib.client as client
import splunklib.results as results
import json
import requests
send_string = ""
service=client.connect(host="host1", port=8089, username="admin", password="xxxx")
rr = results.ResultsReader(service.jobs.export('search index=my_index latest=-27D@d' ))
for result in rr:
if isinstance(result, results.Message):
continue
elif isinstance(result, dict):
final = dict(result)
data = final['_raw']
send_string = json.dumps({"event" : data,"source" : "test"},ensure_ascii=False).encode('utf8')
url='http://host2:8088/services/collector'
authHeader = {'Authorization': 'Splunk 5fbxxxx'}
#Send data to Splunk
response = requests.post(url, headers=authHeader, data=send_string, verify=False)
if response.status_code == 200:
print("Successfully pushed the data to Splunk source")
else:
print("Failed to push the data to Splunk source")
如果主机 2 上不存在索引 my_index,则只需将目录 $SPLUNK_DB/my_index 复制到主机 2,将 my_index 添加到 indexes.conf,然后重新启动 Splunk。
我有一个带有 650k 事件索引数据的 Splunk 服务器。我想将整个数据从一个实例迁移到另一个新实例。 我尝试使用带有数据字段 -27D@d 的迁移脚本,但我只能迁移 50k 数据。 -27D@d 是初始数据可用的起点。 你能帮我吗? 这是代码:
import splunklib.client as client
import splunklib.results as results
import json
import requests
send_string = ""
service=client.connect(host="host1", port=8089, username="admin", password="xxxx")
rr = results.ResultsReader(service.jobs.export('search index=my_index latest=-27D@d' ))
for result in rr:
if isinstance(result, results.Message):
continue
elif isinstance(result, dict):
final = dict(result)
data = final['_raw']
send_string = json.dumps({"event" : data,"source" : "test"},ensure_ascii=False).encode('utf8')
url='http://host2:8088/services/collector'
authHeader = {'Authorization': 'Splunk 5fbxxxx'}
#Send data to Splunk
response = requests.post(url, headers=authHeader, data=send_string, verify=False)
if response.status_code == 200:
print("Successfully pushed the data to Splunk source")
else:
print("Failed to push the data to Splunk source")
如果主机 2 上不存在索引 my_index,则只需将目录 $SPLUNK_DB/my_index 复制到主机 2,将 my_index 添加到 indexes.conf,然后重新启动 Splunk。