bugfix: rework of kibana objects

- consolidation of default index
- cluster_name is optional
- cluster_service is optional
main
Sven Ketelsen 2 years ago
parent 5e909c6375
commit 7dd094b83d

@ -121,12 +121,57 @@
- actions
- osquery
- savedObjectsTagging
es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*'
es_index_pattern_services:
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*-{{ cluster_service }}-*"
name: "{{ cluster_service }}"
tasks:
- name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-*>"
set_fact:
es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-*'
elastic_index_patterns:
- id: "{{ stage }}-{{ tenant_id }}-*"
name: "{{ stage }}-{{ tenant_id }}"
search_name: "{{ stage }}-{{ tenant_id }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-*"
with_container_filter: false
when:
- cluster_name is not defined
- cluster_service is not defined
- name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-{{ cluster_name }}>"
set_fact:
es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-*'
elastic_index_patterns:
- id: "{{ stage }}-{{ tenant_id }}-*"
name: "{{ stage }}-{{ tenant_id }}"
search_name: "{{ stage }}-{{ tenant_id }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-*"
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}"
search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
when:
- cluster_name is defined
- cluster_service is not defined
- name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}>"
set_fact:
es_index_pattern_tenant: ''
elastic_index_patterns:
- id: "{{ stage }}-{{ tenant_id }}-*"
name: "{{ stage }}-{{ tenant_id }}"
search_name: "{{ stage }}-{{ tenant_id }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-*"
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}"
search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*-{{ cluster_service }}-*"
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}"
search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}-*"
when:
- cluster_service is defined
- cluster_name is defined
- name: "Do some stuff in elastic with spaces ... "
include_role:
name: kibana
@ -176,8 +221,7 @@
vars:
es_space: *es_space_name
es_indexpattern_title: '{{ es_indexpattern_name }}'
es_index_pattern_tenant_uuid: '{{ es_index_pattern_tenant | to_uuid }}'
es_panel_uuid: "{{ 'panel_' + es_dashboard_name | to_uuid }}"
es_panel_uuid: "{{ 'panel_' + elastic_dashboard_name | to_uuid }}"
tags:
- es-importobjects

@ -104,12 +104,57 @@
- actions
- osquery
- savedObjectsTagging
es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*'
es_index_pattern_services:
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*-{{ cluster_service }}-*"
name: "{{ cluster_service }}"
tasks:
- name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-*>"
set_fact:
es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-*'
elastic_index_patterns:
- id: "{{ stage }}-{{ tenant_id }}-*"
name: "{{ stage }}-{{ tenant_id }}"
search_name: "{{ stage }}-{{ tenant_id }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-*"
with_container_filter: false
when:
- cluster_name is not defined
- cluster_service is not defined
- name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-{{ cluster_name }}>"
set_fact:
es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-*'
elastic_index_patterns:
- id: "{{ stage }}-{{ tenant_id }}-*"
name: "{{ stage }}-{{ tenant_id }}"
search_name: "{{ stage }}-{{ tenant_id }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-*"
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}"
search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
when:
- cluster_name is defined
- cluster_service is not defined
- name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}>"
set_fact:
es_index_pattern_tenant: ''
elastic_index_patterns:
- id: "{{ stage }}-{{ tenant_id }}-*"
name: "{{ stage }}-{{ tenant_id }}"
search_name: "{{ stage }}-{{ tenant_id }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-*"
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}"
search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*"
- id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*-{{ cluster_service }}-*"
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}"
search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}-*"
dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}-*"
when:
- cluster_service is defined
- cluster_name is defined
- name: "Do some stuff in elastic with spaces ... "
include_role:
name: kibana
@ -159,8 +204,7 @@
vars:
es_space: *es_space_name
es_indexpattern_title: '{{ es_indexpattern_name }}'
es_index_pattern_tenant_uuid: '{{ es_index_pattern_tenant | to_uuid }}'
es_panel_uuid: "{{ 'panel_' + es_dashboard_name | to_uuid }}"
es_panel_uuid: "{{ 'panel_' + elastic_dashboard_name | to_uuid }}"
tags:
- es-importobjects

@ -1,14 +1,18 @@
---
- name: "Importing kibana objects to <{{ shared_service_url_kibana }}>"
include_tasks: import_service_ojects.yml
loop: "{{ es_index_pattern_services }}"
loop: "{{ elastic_index_patterns }}"
loop_control:
label: "{{ es_index_pattern_service.id }}"
loop_var: es_index_pattern_service
label: "{{ elastic_index_pattern.id }}"
loop_var: elastic_index_pattern
when:
- cluster_name is defined
- elastic_index_patterns is defined
- name: "Setting default index pattern"
set_fact:
elastic_default_index: "{{ elastic_index_patterns | first | map(attribute='id') | to_uuid }}"
- name: "Setting default index to <{{ elastic_default_index }}>"
delegate_to: localhost
uri:
url: "{{ shared_service_url_kibana }}/s/{{ stage }}-{{ tenant_id }}/api/kibana/settings"
@ -22,8 +26,8 @@
body_format: json
body:
changes:
defaultIndex: '{{ es_index_pattern_tenant_uuid }}'
defaultIndex: "{{ elastic_default_index }}"
become: false
when:
- cluster_name is defined
- elastic_state == 'present'
- elastic_index_patterns is defined

@ -1,18 +1,22 @@
---
- name: "Initializing service variables for <{{ es_index_pattern_service.name }}>"
- name: "Printing access_token for keycloak server"
debug:
msg:
- "{{ elastic_index_pattern }}"
- name: "Initializing service variables for <{{ elastic_index_pattern.name }}>"
set_fact:
api_path: '/s/{{ es_space }}/api/saved_objects'
es_search_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ es_index_pattern_service.name }}'
es_dashboard_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ es_index_pattern_service.name }}'
es_container_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01-{{ es_index_pattern_service.name }}'
elastic_search_name: "{{ elastic_index_pattern.search_name }}"
elastic_dashboard_name: "{{ elastic_index_pattern.dashboard_name }}"
elastic_index_pattern_uuid: "{{ elastic_index_pattern.id | to_uuid }}"
- name: "Importing smardigo default dashboard and its related objects (index-pattern,search,...)"
delegate_to: localhost
set_fact:
es_object_smardigo_index_pattern_tenant: "{{ lookup('template','smardigo_index_pattern_tenant.json.j2') }}"
es_object_smardigo_index_pattern_service: "{{ lookup('template','smardigo_index_pattern_service.json.j2') }}"
es_object_smardigo_search: "{{ lookup('template','smardigo_search.json.j2') }}"
es_object_smardigo_dashboard: "{{ lookup('template','smardigo_dashboard.json.j2') }}"
es_object_smardigo_index_pattern: "{{ lookup('template','smardigo_index_pattern.json.j2') }}"
when:
- elastic_state == 'present'
@ -22,10 +26,9 @@
dest: '/tmp/es_objects_ready_to_import__objects.ndjson'
mode: '0644'
content: |
{{ es_object_smardigo_index_pattern_tenant | to_json(separators=(',',':')) }}
{{ es_object_smardigo_index_pattern_service | to_json(separators=(',',':')) }}
{{ es_object_smardigo_search | to_json(separators=(',',':')) }}
{{ es_object_smardigo_dashboard | to_json(separators=(',',':')) }}
{{ es_object_smardigo_index_pattern | to_json(separators=(',',':')) }}
when:
- elastic_state == 'present'

@ -0,0 +1 @@
{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}

@ -8,16 +8,16 @@
"optionsJSON" : "{\"useMargins\":true,\"syncColors\":false,\"hidePanelTitles\":false}",
"panelsJSON" : "[{\"version\":\"7.16.1\",\"type\":\"search\",\"gridData\":{\"x\":0,\"y\":0,\"w\":50,\"h\":50,\"i\":\"{{ es_panel_uuid }}\"},\"panelIndex\":\"{{ es_panel_uuid }}\",\"embeddableConfig\":{\"enhancements\":{}},\"panelRefName\":\"panel_{{ es_panel_uuid }}\"}]",
"timeRestore" : false,
"title" : "{{ es_dashboard_name }}",
"title" : "{{ elastic_dashboard_name }}",
"version" : 1
},
"coreMigrationVersion" : "7.16.1",
"id" : "{{ es_dashboard_name | to_uuid }}",
"id" : "{{ elastic_dashboard_name | to_uuid }}",
"migrationVersion" : {
"dashboard" : "7.16.0"
},
"references" : [ {
"id" : "{{ es_search_name | to_uuid }}",
"id" : "{{ elastic_search_name | to_uuid }}",
"name" : "{{ es_panel_uuid }}:panel_{{ es_panel_uuid }}",
"type" : "search"
} ],

@ -4,11 +4,11 @@
"fields" : "[]",
"runtimeFieldMap" : "{}",
"timeFieldName" : "@timestamp",
"title" : "{{ es_index_pattern_tenant }}",
"title" : "{{ elastic_index_pattern.id }}",
"typeMeta" : "{}"
},
"coreMigrationVersion" : "7.16.1",
"id" : "{{ es_index_pattern_tenant_uuid }}",
"id" : "{{ elastic_index_pattern_uuid }}",
"migrationVersion" : {
"index-pattern" : "7.11.0"
},

@ -1,17 +0,0 @@
{
"attributes" : {
"fieldAttrs" : "{\"message_full\":{\"count\":1}}",
"fields" : "[]",
"runtimeFieldMap" : "{}",
"timeFieldName" : "@timestamp",
"title" : "{{ es_index_pattern_service.id }}",
"typeMeta" : "{}"
},
"coreMigrationVersion" : "7.16.1",
"id" : "{{ es_index_pattern_service.id | to_uuid }}",
"migrationVersion" : {
"index-pattern" : "7.11.0"
},
"references" : [ ],
"type" : "index-pattern"
}

@ -2,25 +2,30 @@
"attributes" : {
"columns" : [ "message_full" ],
"description" : "",
"grid" : {
},
"grid" : {},
"hideChart" : false,
"kibanaSavedObjectMeta" : {
"searchSourceJSON" : "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"meta\":{\"alias\":null,\"negate\":false,\"disabled\":false,\"type\":\"phrase\",\"key\":\"container.name\",\"params\":{\"query\":\"{{ es_container_name }}\"}},\"query\":{\"match_phrase\":{\"container.name\":\"{{ es_container_name }}\"}},\"$state\":{\"store\":\"appState\"}}],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"
"searchSourceJSON" : "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"
},
"sort" : [ [ "@timestamp",
"desc" ] ],
"title" : "{{ es_search_name }}"
"sort" : [
[
"@timestamp",
"desc"
]
],
"title" : "{{ elastic_search_name }}"
},
"coreMigrationVersion" : "7.16.1",
"id" : "{{ es_search_name | to_uuid }}",
"id" : "{{ elastic_search_name | to_uuid }}",
"migrationVersion" : {
"search" : "7.9.3"
},
"references" : [ {
"id" : "{{ es_index_pattern_service.id | to_uuid }}",
"references" : [
{
"id" : "{{ elastic_index_pattern_uuid }}",
"name" : "kibanaSavedObjectMeta.searchSourceJSON.index",
"type" : "index-pattern"
} ],
}
],
"type" : "search"
}
Loading…
Cancel
Save