前言
由于公司项目众多,要对这么多项目日志进行巡查和监控,一个个去查,效率会比较低。因此需要一个对日志进行统一管理的工具。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 | wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - |
1 | # 官网的速度有点忙,想快点的话,这里可以换成国内镜像 |
安装 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
3network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
接着配置一下 kibana
/etc/kibana/kibana.yml
1
2
3
4
5server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://127.0.0.1:9200"]
# 可以使用中文
i18n.locale: "zh-CN"
最后重启一下 elasticsearch & kibana
1 | sudo service elasticsearch restart |
最后访问一下 http://127.0.0.1:5601 能进入到 kibana 就OK了
Docker 方式
这里我是用 deviantony 编写好的 docker-composer
脚本 docker-elk
1 | git clone https://github.com/deviantony/docker-elk.git |
等docker构建完,就可以访问 http://127.0.0.1:5601
开启用户管理
因为 ELK 是没有登录,用户管理等功能,所以我们要开启 x-pack
。
由于
x-pack
是付费功能,在 kibana 中管理 → 许可管理
在
/etc/elasticsearch/elasticsearch.yml
添加xpack.security.enabled: true
。添加完后记得重启sudo service elasticsearch restart
设置密码
1
2
3
4# 这个是手动设置密码
sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
# 如果不想手动设置密码,也可以使用自动设置
sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto设置好密码后,在
/etc/kibana/kibana.yml
添加。(添加好后记得重启kibanasudo service kibana restart
)1
2elasticsearch.username: "elastic"
elasticsearch.password: "这里填写你设置的密码"