我尝试从Elasticsearch+Kibana和Fluentd中安装以进行使用

首先

我安装 Fluentd 时也安装了 Elasticsearch 和 Kibana。
(Translation: When I installed Fluentd, I also installed Elasticsearch and Kibana.)

环境

    CentOS7

安装

安装 OpenJDK

yum install -y java-1.8.0-openjdk

安装elasticsearch和kibana。

请参考以下链接:https://www.elastic.co/guide/cn/elasticsearch/current/rpm.html

# 公開鍵インポート
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

# レポジトリ登録
cat <<'EOT' > /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOT

# インストール
yum install elasticsearch kibana

# 自動起動
systemctl enable elasticsearch kibana

设定

首先,在0.0.0.0上监听。

diff elasticsearch.yml elasticsearch.yml_org  | grep "^<"
< network.host: 0.0.0.0

Kibana日志配置

由于默认情况下会将其输出到/var/log/messages,所以需要进行清理。

cat <<'EOT' > /etc/rsyslog.d/kibana.conf
:programname, isequal, "kibana" -/var/log/kibana.log
& stop
EOT
systemctl restart rsyslog &&\
sed -i '1i\/var\/log\/kibana.log' /etc/logrotate.d/syslog

删除索引脚本

鉴于索引似乎越来越庞大,根据以下网站的参考,创建一个自动删除脚本。

#!/bin/bash

index_rotate_day=3
index[0]=$(date +apache.access-%Y.%m.%d --date "$index_rotate_day days ago")
index[1]=$(date +apache.error-%Y.%m.%d --date "$index_rotate_day days ago")
index[2]=$(date +postfix.maillog-%Y.%m.%d --date "$index_rotate_day days ago")

logdir=/usr/local/bin/del_elasticsearch_index/log
logfile=del_elasticsearch_index-$(date "+%Y%m%d").log
log_rotate_day=+31

{
find ${logdir} -name 'del_elasticsearch_index*' -mtime "$log_rotate_day" -exec rm -vf {} \;

for ((i=0; i < ${#index[@]}; i++))
do
  curl -XDELETE -w'\n' http://localhost:9200/"${index[$i]}"
done

} 2>&1 | awk '{print strftime("%Y-%m-%d %H:%M:%S "),$0 } { fflush() } ' | tee -a "$logdir/$logfile"
广告
将在 10 秒后关闭
bannerAds