搭建 ELK 7.x 日志分析平台

前言

由于公司项目众多,要对这么多项目日志进行巡查和监控,一个个去查,效率会比较低。因此需要一个对日志进行统一管理的工具。so 本人就采用了 ELK 方案。

什么是 ELK ❓

ELK 是由 Elasticsearch + Logstash + Kibana 这三个工具组成的一套开源日志监控、日志可视化管理的解决方案

安装 ⚙️

这里有两种安装方式,apt 常规安装 和 Docker 方式。本人在公司采用的是 apt 常规安装,自用的服务器是用 Docker 方式

apt常规安装

前期准备

本文使用环境:
Ubuntu 16.04.4 LTS
Jdk 1.8.0_191
Elasticsearch 7.0.1
Kibana 7.0.1
Logstash 7.0.1

1
2
3
4
5
6
7
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

sudo apt-get install apt-transport-https

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

sudo apt-get update
1
2
# 官网的速度有点忙,想快点的话,这里可以换成国内镜像
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

安装 elasticsearch kibana logstash

1
sudo apt-get install elasticsearch kibana logstash

注意:ELK 依赖 Java,务必安装好 Java。( 本人之前用 Java 9 好像有点问题,如果用 Java 9 也遇到问题,可以尝试改为Java 8 )

配置

先配置一下 elasticsearch

/etc/elasticsearch/elasticsearch.yml

1
2
3
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

接着配置一下 kibana

/etc/kibana/kibana.yml

1
2
3
4
5
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://127.0.0.1:9200"]
# 可以使用中文
i18n.locale: "zh-CN"

最后重启一下 elasticsearch & kibana

1
2
sudo service elasticsearch restart
sudo service kibana restart

最后访问一下 http://127.0.0.1:5601 能进入到 kibana 就OK了

Docker 方式

这里我是用 deviantony 编写好的 docker-composer 脚本 docker-elk

1
2
3
git clone https://github.com/deviantony/docker-elk.git
cd docker-elk
docker-composer up -d

等docker构建完,就可以访问 http://127.0.0.1:5601

开启用户管理

因为 ELK 是没有登录,用户管理等功能,所以我们要开启 x-pack

  1. 由于 x-pack 是付费功能,在 kibana 中 管理 → 许可管理

  2. /etc/elasticsearch/elasticsearch.yml添加xpack.security.enabled: true。添加完后记得重启sudo service elasticsearch restart

  3. 设置密码

    1
    2
    3
    4
    # 这个是手动设置密码
    sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
    # 如果不想手动设置密码,也可以使用自动设置
    sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
  4. 设置好密码后,在/etc/kibana/kibana.yml添加。(添加好后记得重启kibana sudo service kibana restart

    1
    2
    elasticsearch.username: "elastic"
    elasticsearch.password: "这里填写你设置的密码"
  5. 最后访问 http://127.0.0.1:5601

0%