Files
odin/containers/elasticsearch
2019-01-12 15:50:03 -05:00

98 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# Configure Elasticsearch for Odin
#
echo -e "\e[93m"
log() {
echo -e "\t\e[96m[*]${1}\e[93m"
}
export IP=$(ip route | awk '/src/{print $9}')
echo "elasticsearch" >/etc/hostname
echo -e "${IP}\telasticsearch" >> /etc/hosts
deluser -q --remove-home ubuntu
apt-get update || exit 1
apt-get --purge remove snapd lxd -y
apt-get upgrade -y
apt-get install -y htop wget default-jre python-pip
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" >/etc/apt/sources.list.d/elastic-5.x.list
apt-get update
apt-get install elasticsearch -y
apt-get clean
pip install elasticsearch-curator
sed -i 's/#cluster.name: my-application/cluster.name: odin/g' /etc/elasticsearch/elasticsearch.yml
sed -i 's/#node.name: node-1/node.name: node-1/g' /etc/elasticsearch/elasticsearch.yml
sed -i 's/#bootstrap.memory_lock: true/bootstrap.memory_lock: true/g' /etc/elasticsearch/elasticsearch.yml
sed -i "s/#network.host: 192.168.0.1/network.host: ${IP}/g" /etc/elasticsearch/elasticsearch.yml
sed -i 's/-Xms2g/-Xms8g/g' /etc/elasticsearch/jvm.options
sed -i 's/-Xmx2g/-Xmx8g/g' /etc/elasticsearch/jvm.options
mkdir /etc/curator/
cat >/etc/curator/delete_indices.yml <<EOF
---
actions:
1:
action: delete_indices
description: >-
Delete indices older than 30 days for odin- prefixed indices.
options:
ignore_empty_list: True
timeout_override:
continue_if_exception: False
disable_action: False
filters:
- filtertype: pattern
kind: prefix
value: odin-
exclude:
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 30
exclude:
EOF
cat >/etc/curator/curator.yml<<EOF
---
client:
hosts:
- elasticsearch
port: 9200
url_prefix:
use_ssl: False
certificate:
client_cert:
client_key:
ssl_no_validate: False
http_auth:
timeout: 30
master_only: False
logging:
loglevel: INFO
logfile:
logformat: default
blacklist: ['elasticsearch', 'urllib3']
EOF
cat > /etc/cron.daily/curator <<EOF
#!/bin/bash
/usr/local/bin/curator /etc/curator/delete_index.yml --config /etc/curator/curator.yml
EOF
chmod +x /etc/cron.daily/curator
apt-get install -y prometheus-node-exporter
systemctl enable elasticsearch
systemctl start elasticsearch
echo -e "\e[0m"