1 ELK平台简介
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。
在该文档中,我我们将讨论如何在Ubuntu 17.04安装ELK,即Elasticsearch 2.2.x, Logstash 2.2.x, and Kibana 4.4.x。还将介绍如何使用Topbeat进行系统状态的监控,使用Filebeat进行日志的收集、解析和存储。Kibana是一个web接口,可以用来搜索和查看日志存储已索引的日志,这些工具都是基于Elasticsearch。
我们将在一台服务器上安装前三个组件,这将称为ELK服务器。Filebeat和Topbeat将安装在我们想要收集的所有客户机服务器上,我们将它们统称为客户机服务器。
2 准备工作
ELK服务器需要的CPU、RAM和存储的数量取决于您想要收集的日志的数量。此次安装,使用以下规格的VPS作为ELK服务器:
- OS: Ubuntu 17.04
- RAM: 8GB
- CPU: 1
除了ELK服务器之外,还需要其他一些服务器来收集日志(本次只准备了一台)。
下面开始配置ELK服务器:
3 安装Java 8
Elasticsearch和Logstash需要Java支持,所以我们现在就安装它。Elasticsearc建议安装Oracle Java 8版本,不过安装OpenJDK也是可以的。
- 添加创库源并更新软件列表
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
- 安装java JDK:
$ sudo apt-get install oracle-java8-installer
安装过程中需要接受协议
- 安装需要等待很久,安装完成后 查看java 版本
$ java -version
- 安装Elasticsearch
- 将Elasticseach的公共GPG密钥导入到apt中
$ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
- 添加Elasticsearch仓库源
$ echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
- 更新apt软件包
$ sudo apt-get update
- 安装Elasticsearch
$ sudo apt-get -y install elasticsearch
- 安装完成之后,配置elasticserch.yml
$ sudo vi /etc/elasticsearch/elasticsearch.yml
为了系统安全,我们需要限制外部网络访问Elasticsearch(9200端口)。取消下面一行注释,并把值替换为localhost:
network.host: localhost
保存退出。
- 现在启动Elasticseach
$ sudo service elasticsearch restart
7.查看一下服务状态
$ service elasticsearch status
8.运行下面的命令,设置Elasticsearch开机自启:
$ sudo update-rc.d elasticsearch defaults 95 10
5 安装Kibana
1.添加kibana的仓库源
$ echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list.d/kibana-4.5.x.list
2.更新apt软件包,并安装kibana
$ sudo apt-get update
$ sudo apt-get install kibana
3.安装完成后,打开kibana的配置文件
$ sudo vi /opt/kibana/config/kibana.yml
去掉server.host一行的注释,并把值改为localhost:
上面配置了只能从本地访问Kibana;因为我们要使用Nginx做反向代理。
4.启用Kibana服务并启动它