initial commit
This commit is contained in:
97
containers/elasticsearch
Normal file
97
containers/elasticsearch
Normal file
@@ -0,0 +1,97 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user