From 90592e7388388e25b709030c7b7c9307e186de2b Mon Sep 17 00:00:00 2001 From: Marco Ochse Date: Wed, 12 Apr 2017 20:46:12 +0000 Subject: [PATCH] manage kibana objetcs, dump and restore --- installer/bin/dump_kibana-objects.sh | 62 ++++++++++++++++++++ installer/bin/restore_elk.sh | 2 +- installer/bin/restore_kibana-objects.sh | 75 ++++++++++++++++++++++++ installer/data/kibana-objects.tgz | Bin 0 -> 18511 bytes preseed/tpot.seed | 2 +- 5 files changed, 139 insertions(+), 2 deletions(-) create mode 100755 installer/bin/dump_kibana-objects.sh create mode 100755 installer/bin/restore_kibana-objects.sh create mode 100644 installer/data/kibana-objects.tgz diff --git a/installer/bin/dump_kibana-objects.sh b/installer/bin/dump_kibana-objects.sh new file mode 100755 index 00000000..7c9c7f19 --- /dev/null +++ b/installer/bin/dump_kibana-objects.sh @@ -0,0 +1,62 @@ +#!/bin/bash +myDATE=$(date +%Y%m%d%H%M) +myES="http://127.0.0.1:64298/" +myINDEXCOUNT=$(curl -s -XGET ''$myES'.kibana/index-pattern/logstash-*' | tr '\\' '\n' | grep "scripted" | wc -w) +myDASHBOARDS=$(curl -s -XGET ''$myES'.kibana/dashboard/_search?filter_path=hits.hits._id&pretty&size=10000' | jq '.hits.hits[] | {_id}' | jq -r '._id') +myVISUALIZATIONS=$(curl -s -XGET ''$myES'.kibana/visualization/_search?filter_path=hits.hits._id&pretty&size=10000' | jq '.hits.hits[] | {_id}' | jq -r '._id') +mySEARCHES=$(curl -s -XGET ''$myES'.kibana/search/_search?filter_path=hits.hits._id&pretty&size=10000' | jq '.hits.hits[] | {_id}' | jq -r '._id') +myCOL1="" +myCOL0="" + +# Export index patterns +mkdir -p patterns +echo $myCOL1"### Now dumping"$myCOL0 $myINDEXCOUNT $myCOL1"index patterns." $myCOL0 +curl -s -XGET ''$myES'.kibana/index-pattern/logstash-*?' | jq '._source' > patterns/index-patterns.json +echo + +# Export dashboards +mkdir -p dashboards +echo $myCOL1"### Now dumping"$myCOL0 $(echo $myDASHBOARDS | wc -w) $myCOL1"dashboards." $myCOL0 +for i in $myDASHBOARDS; + do + echo $myCOL1"###### "$i $myCOL0 + curl -s -XGET ''$myES'.kibana/dashboard/'$i'' | jq '._source' > dashboards/$i.json + done; +echo + +# Export visualizations +mkdir -p visualizations +echo $myCOL1"### Now dumping"$myCOL0 $(echo $myVISUALIZATIONS | wc -w) $myCOL1"visualizations." $myCOL0 +for i in $myVISUALIZATIONS; + do + echo $myCOL1"###### "$i $myCOL0 + curl -s -XGET ''$myES'.kibana/visualization/'$i'' | jq '._source' > visualizations/$i.json + done; +echo + +# Export searches +mkdir -p searches +echo $myCOL1"### Now dumping"$myCOL0 $(echo $mySEARCHES | wc -w) $myCOL1"searches." $myCOL0 +for i in $mySEARCHES; + do + echo $myCOL1"###### "$i $myCOL0 + curl -s -XGET ''$myES'.kibana/search/'$i'' | jq '._source' > searches/$i.json + done; +echo + +# Pack into tar +echo $myCOL1"### Now packing archive"$myCOL0 "kibana-objects_"$myDATE".tgz" +tar cvfz kibana-objects_$myDATE.tgz patterns dashboards visualizations searches > /dev/null + +# Cleanup +rm -rf patterns dashboards visualizations searches + +# Stats +echo +echo $myCOL1"### Statistics" +echo $myCOL1"###### Dumped"$myCOL0 $myINDEXCOUNT $myCOL1"index patterns." $myCOL0 +echo $myCOL1"###### Dumped"$myCOL0 $(echo $myDASHBOARDS | wc -w) $myCOL1"dashboards." $myCOL0 +echo $myCOL1"###### Dumped"$myCOL0 $(echo $myVISUALIZATIONS | wc -w) $myCOL1"visualizations." $myCOL0 +echo $myCOL1"###### Dumped"$myCOL0 $(echo $mySEARCHES | wc -w) $myCOL1"searches." $myCOL0 +echo + diff --git a/installer/bin/restore_elk.sh b/installer/bin/restore_elk.sh index 1a1291bd..ea68c621 100755 --- a/installer/bin/restore_elk.sh +++ b/installer/bin/restore_elk.sh @@ -7,7 +7,7 @@ myCOL0="" # Check if parameter is given and file exists if [ "$myDUMP" = "" ]; then - echo $myCOL1"### Please proive a backup file name."$myCOL0 + echo $myCOL1"### Please provide a backup file name."$myCOL0 echo $myCOL1"### restore-elk.sh "$myCOL0 echo exit diff --git a/installer/bin/restore_kibana-objects.sh b/installer/bin/restore_kibana-objects.sh new file mode 100755 index 00000000..59cfdf6c --- /dev/null +++ b/installer/bin/restore_kibana-objects.sh @@ -0,0 +1,75 @@ +#!/bin/bash +myDUMP=$1 +myES="http://127.0.0.1:64298/" +myCOL1="" +myCOL0="" + +# Check if parameter is given and file exists +if [ "$myDUMP" = "" ]; + then + echo $myCOL1"### Please provide a backup file name."$myCOL0 + echo $myCOL1"### restore-kibana-objects.sh "$myCOL0 + echo + exit +fi +if ! [ -a $myDUMP ]; + then + echo $myCOL1"### File not found."$myCOL0 + exit +fi + +# Unpack tar +tar xvfz $myDUMP > /dev/null + +# Restore index patterns +myINDEXCOUNT=$(cat patterns/index-patterns.json | tr '\\' '\n' | grep "scripted" | wc -w) +echo $myCOL1"### Now restoring"$myCOL0 $myINDEXCOUNT $myCOL1"index patterns." $myCOL0 +curl -s -XDELETE ''$myES'.kibana/index-pattern/logstash-*' > /dev/null +curl -s -XPUT ''$myES'.kibana/index-pattern/logstash-*' -T patterns/index-patterns.json > /dev/null +echo + +# Restore dashboards +myDASHBOARDS=$(basename -s .json -a dashboards/*.json) +echo $myCOL1"### Now restoring "$myCOL0$(echo $myDASHBOARDS | wc -w)$myCOL1 "dashboards." $myCOL0 +for i in $myDASHBOARDS; + do + echo $myCOL1"###### "$i $myCOL0 + curl -s -XDELETE ''$myES'.kibana/dashboard/'$i'' > /dev/null + curl -s -XPUT ''$myES'.kibana/dashboard/'$i'' -T dashboards/$i.json > /dev/null + done; +echo + +# Restore visualizations +myVISUALIZATIONS=$(basename -s .json -a visualizations/*.json) +echo $myCOL1"### Now restoring "$myCOL0$(echo $myVISUALIZATIONS | wc -w)$myCOL1 "visualizations." $myCOL0 +for i in $myVISUALIZATIONS; + do + echo $myCOL1"###### "$i $myCOL0 + curl -s -XDELETE ''$myES'.kibana/visualization/'$i'' > /dev/null + curl -s -XPUT ''$myES'.kibana/visualization/'$i'' -T visualizations/$i.json > /dev/null + done; +echo + +# Restore searches +mySEARCHES=$(basename -s .json -a searches/*.json) +echo $myCOL1"### Now restoring "$myCOL0$(echo $mySEARCHES | wc -w)$myCOL1 "searches." $myCOL0 +for i in $mySEARCHES; + do + echo $myCOL1"###### "$i $myCOL0 + curl -s -XDELETE ''$myES'.kibana/search/'$i'' > /dev/null + curl -s -XPUT ''$myES'.kibana/search/'$i'' -T searches/$i.json > /dev/null + done; +echo + +# Clean up +rm -rf patterns dashboards visualizations searches + +# Stats +echo +echo $myCOL1"### Statistics" +echo $myCOL1"###### Restored"$myCOL0 $myINDEXCOUNT $myCOL1"index patterns." $myCOL0 +echo $myCOL1"###### Restored"$myCOL0 $(echo $myDASHBOARDS | wc -w) $myCOL1"dashboards." $myCOL0 +echo $myCOL1"###### Restored"$myCOL0 $(echo $myVISUALIZATIONS | wc -w) $myCOL1"visualizations." $myCOL0 +echo $myCOL1"###### Restored"$myCOL0 $(echo $mySEARCHES | wc -w) $myCOL1"searches." $myCOL0 +echo + diff --git a/installer/data/kibana-objects.tgz b/installer/data/kibana-objects.tgz new file mode 100644 index 0000000000000000000000000000000000000000..937bf8b49a622e44cb682c04696a6c8eabd918ac GIT binary patch literal 18511 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

Di^_Pw{yeHM2| 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 P9|l@z;DJh9GXeK6;Z_dx literal 0 HcmV?d00001 diff --git a/preseed/tpot.seed b/preseed/tpot.seed index 5bc51361..032bfd20 100755 --- a/preseed/tpot.seed +++ b/preseed/tpot.seed @@ -100,7 +100,7 @@ tasksel tasksel/first multiselect ubuntu-server ######################## ### Package Installation ######################## -d-i pkgsel/include string apache2-utils apparmor apt-transport-https aufs-tools bash-completion build-essential ca-certificates cgroupfs-mount curl dialog dnsutils docker.io dstat ethtool genisoimage git glances html2text htop iptables iw libltdl7 lm-sensors man nginx-extras nodejs npm ntp openssh-server openssl syslinux psmisc pv python-pip vim wireless-tools wpasupplicant +d-i pkgsel/include string apache2-utils apparmor apt-transport-https aufs-tools bash-completion build-essential ca-certificates cgroupfs-mount curl dialog dnsutils docker.io dstat ethtool genisoimage git glances html2text htop iptables iw jq libltdl7 lm-sensors man nginx-extras nodejs npm ntp openssh-server openssl syslinux psmisc pv python-pip vim wireless-tools wpasupplicant ################# ### Update Policy