Created
September 16, 2022 18:38
-
-
Save blcarlson01/9aaaf69c6d5b7f953633fea784385187 to your computer and use it in GitHub Desktop.
Kibana Spaces & ML API Notes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
username = '' | |
password = '' | |
create_url = "/api/spaces/space" | |
URL= ':5601' | |
def requester(**kwargs): | |
headers = { | |
"Content-Type": "application/json", | |
"kbn-xsrf": "True", | |
} if not "files" in kwargs else { | |
"kbn-xsrf": "True", | |
} | |
auth = (username, password) if (username and password) else None | |
return requests.request(headers=headers, auth=auth, verify=False, **kwargs) | |
url = URL + create_url | |
# Get All Spaces | |
response = requester(url=url, method="get") | |
response.json() | |
# Create Space | |
def create_space(url, data): | |
response = requester(url=url, method="post", data=json.dumps(data)) | |
return response | |
url = URL + create_url | |
data = {"id": "test2", | |
"name": "TEST2", | |
"initials": "LL", | |
"color": "#6092C0", | |
"disabledFeatures": ["enterpriseSearch", | |
"logs", | |
"infrastructure", | |
"apm", | |
"uptime", | |
"observabilityCases", | |
"siem"]} | |
resp = create_space(url, data) | |
resp.text | |
# Update Space | |
def update_space(url, data): | |
response = requester(url=url, method="put", data=json.dumps(data)) | |
return response | |
update_url = '/test2' | |
url = URL + create_url + update_url | |
data = {"id": "test2", | |
"name": "AA", | |
"initials": "AA", | |
"color": "#6092C0", | |
"disabledFeatures": ["enterpriseSearch", | |
"logs", | |
"infrastructure", | |
"apm", | |
"uptime", | |
"observabilityCases", | |
"siem"]} | |
resp = update_space(url, data) | |
resp.text | |
# Update Default Space | |
def update_space(url, data): | |
response = requester(url=url, method="put", data=json.dumps(data)) | |
return response | |
update_url = '/default' | |
url = URL + create_url + update_url | |
data = {'id': 'default', | |
'name': 'Default', | |
"initials": "RR", | |
'description': 'This is your default space!', | |
'color': '#00bfb3', | |
'disabledFeatures': ["enterpriseSearch"]} | |
resp = update_space(url, data) | |
resp.text | |
# Bulk Import ML Jobs | |
import json | |
def load_ml_jobs(url, data): | |
response = requester(url=url, method="post", data=json.dumps(data)) | |
return response | |
with open('anomaly_detection_jobs.json', 'r') as dfile: | |
data = json.load(dfile) | |
ml_url = '/api/ml/jobs/bulk_create' | |
url = URL + ml_url | |
resp = load_ml_jobs(url, data) | |
resp.text | |
# Open and Start ML Job | |
def start_ml_job(url, data): | |
response = requester(url=url, method="post", data=json.dumps(data)) | |
return response | |
ml_open_job = '/api/ml/anomaly_detectors/netatmo/_open' | |
url = URL + ml_open_job | |
resp = start_ml_job(url, {}) | |
print(resp.text) | |
ml_start_job = '/api/ml/datafeeds/datafeed-netatmo/_start' | |
url = URL + ml_start_job | |
resp = start_ml_job(url, {}) | |
resp.text |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment