在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站: https://www.elastic.co/product
E:\u\elk\pic\01_1.png
2、安装准备Elk平台环境
系统
版本
服务器操作系统
CentOS release 6.7 (Final)
ElasticSearch
2.3.4
Logstash
2.3.4
Kibana
4.5.3
Jdk
1.8
注:由于Logstash的运行依赖于Java环境,而Logstash1.5以上版本不低于java 1.7,因此推荐使用最新版本的Java。因为我们只需要Java的运行环境,所以可以只安装JRE,不过这里我依然使用JDK,请自行搜索安装,我这里准备使用1.7
3、下载官方网址:https://www.elastic.co/downloads,如下图所示:E:\u\elk\pic\01_2.png
从中获得下载地址:
wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz
4、安装调试 4.1、安装jdk
使用root安装jdk
mkdir -p /usr/lib/jvm
tar -xvf jdk-8u45-linux-x64.tar.gz -C /usr/lib/jvm
# vim /etc/profile 配置系统参数
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_45/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_45/bin/javac 300
4.2、安装elasticsearch
使用elk账号安装elasticearch:
# 解压缩安装
useradd elk
su - elk
tar -xvf elasticsearch-2.3.4.tar.gz
cd elasticsearch-2.3.4
# 安装Head插件
./bin/plugin install mobz/elasticsearch-head
ls plugins/
# ls能看到head文件即可表示ok了。
[elk@hch_test_dbm1_121_62 elasticsearch-2.3.4]$ ll plugins/
总用量 4
drwxrwxr-x. 5 elk elk 4096 8月 2 17:26 head
[elk@hch_test_dbm1_121_62 elasticsearch-2.3.4]$
编译es的配置文件:
cluster.name: es_cluster
node.name: node0
path.data: /home/elk/data
path.logs: /home/elk/logs
# 当前的host ip地址
network.host: 192.168.121.62
network.port: 9200
启动es:
./bin/elasticsearch &
看后台日志,发现它和其它的节点的传输端口为9300,而接受HTTP请求的端口为9200。日志如下所示:
[elk@hch_test_dbm1_121_62 elasticsearch-2.3.4]$ more ../logs/es_cluster.log