ELK日志分析系统(一)
来源:互联网 发布:2016淘宝开店教程 编辑:程序博客网 时间:2024/06/04 22:47
本人java开发菜鸟一枚,这篇博客主要记录小菜学习ELK的历程,希望能帮到想要学习ELK的兄弟们,如果内容中有不对或者不好的地方,请各位批评指正。话不多说,直接上货。
一、资源准备
- JDK1.8-linux-x64
- Elasticsearch-6.0.0
- Logstash-6.0.0
- Kibana-6.0.0
- FileBeat-linux-x64
- node-v8.9.1-linux-x64.tar.xz
二、安装
(一)安装JDK
1.将下载好的jdk包放置到linux服务器,我的是放在/usr/local/src/java下,然后,解压。
tar -xvf jdk-8u121-linux-x64.tar.gz
2.配置环境变量
vim /etc/profile
添加如下内容到末尾:
export JAVA_HOME='/usr/local/src/java/jdk1.8.0_121'export JAVA_BIN='/usr/local/src/java/jdk1.8.0_121'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binexport JAVA_HOME JAVA_BIN CLASSPATH PATH
然后保存退出(:wq)
3.刷新环境变量,使之生效
source /etc/profile
4.检验
java -version
提示jdk版本信息如下:
java version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
至此,JDK安装完毕!
(二)安装Elasticsearch
1.创建elasticsearch用户(elasticsearch不允许root用户启动)
adduser elasticsearch
修改密码:
passwd elasticsearch
2.使用elasticsearch用户安装elasticsearch
①解压elasticsearch,以下将ES的解压目录标记为:ES_HOME
tar -xvf elasticsearch-5.5.1.tar.gz
②修改ES_HOME/config/elasticsearch.yml
vim elasticsearch.yml
修改参数如下,注意该配置顺序分先后:
1.集群名称:cluster.name: elk
2.节点名称:node.name: single-node(集群中的各个节点名称都不能相同)
3.数据目录:path.data: /path/to/data(若没有特殊数据路径,注释掉该参数,默认使用ES_HOME/data)
4.日志目录:#path.logs: /path/to/logs(若没有特殊数据路径,注释掉该参数,默认使用ES_HOME/logs)
5.锁定物理内存设置:bootstrap.memory_lock: false(注释掉该参数,默认使用false)
6.系统过滤器调用设置:bootstrap.system_call_filter: false
7.节点主机IP:network.host: 10.0.1.215
8.节点端口:http.port: 9200
9.数据传输端口:transport.tcp.port: 9300
10.集群节点获取类型:discovery.type: single-node(注意该配置只在单节点集群中使用,多节点集群不能使用,使用默认类型)
11.集群节点列表:discovery.zen.ping.unicast.hosts: [“host1:port1”, “host2: port2”](该配置在多节点集群中使用,单节点不适用该配置。其中,host表示集群中其他节点的ip地址,port表示集群中其他节点的数据传输端口):
12.集群有效节点最小值:discovery.zen.minimum_master_nodes: 3(该配置在多借点集群中使用,单节点不适用。其中,该配置的值不能大于总节点数量,建议使用 [节点数量/2 + 1] 来计算该配置值)
13.是否允许跨源 REST 请求:http.cors.enabled: true(如果不配置该项,head插件连接ES可能会连接不上)
14.允许跨源REST请求的地址:http.cors.allow-origin: “*”
(在开启允许跨源 REST 请求之后,才使用该配置,不然不能使用。其中”*”标识允许所有的跨源访问)
15.最大的http请求长度:http.max_initial_line_length: 10m
3.启动和关闭elasticsearch
以elasticsearch用户登录
启动:
cd $ES_HOME./bin/elasticsearch -d -p pid
关闭:
cd $ES_HOMEkill cat pid`
4.检查elasticsearch安装
http://localhost:9200
返回如下结果,表示安装成功
{ "name" : "node-1", "cluster_name" : "slinceob", "cluster_uuid" : "aNf85FB3T9yNMRkyGXcWWQ", "version" : { "number" : "5.5.1", "build_hash" : "19c13d0", "build_date" : "2017-07-18T20:44:24.823Z", "build_snapshot" : false, "lucene_version" : "6.6.0" }, "tagline" : "You Know, for Search"}
至此,elasticsearch安装成功!
(三)安装Logstash
1.将下载好的资源包解压:
tar -xvf logstash-5.5.1.tar.gz
2.logstash的安装比较简单,直接解压,运行即可。不妨做一个简单的测试
cd logstash-5.5.1./bin/logstash -e 'input { stdin { } } output { stdout {} }'
待logstash启动起来后,在控制台输入:
hello elk
你会看到如下信息:
2013-11-21T01:22:14.405+0000 0.0.0.0 hello elk
3.将logstash作为服务启动
(三)安装kibana
1.将下载好的资源包解压:
tar -xvf kibana-5.5.1-linux-x86_64.tar.gz
2.进入kibana解压目录,修改配置文件config/kibana.yml。
kibana服务器端口号:server.port: 5601kibana服务器ip地址:server.host: "10.10.10.102"kibana连接ES地址:elasticsearch.url: "http://10.10.10.102:9200"
3.启动
nohup bin/kibana &>/dev/null &
4.查看是否启动
打开浏览器,访问:http://IP:5601即可。
(四)附:安装head插件(依赖与node.js)
1.将下载好的资源包解压
xz -d node-v8.9.1-linux-x64.tar.xztar -xvf node-v8.9.1-linux-x64.tar
2.做软连接
cd ./node-v6.11.1-linux-x64/binln -s /home/elasticsearch/node-v8.9.1-linux-x64/bin/node /usr/local/bin/nodeln -s /home/elasticsearch/node-v8.9.1-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
3.安装验证
npm -version
出现版本号后,表示安装成功。
4.安装head插件
git clone git://github.com/mobz/elasticsearch-head.gitcd elasticsearch-headnpm installnpm run start
5.验证head安装
http://localhost:9100/
(五)filebeat安装
1.将下载好的资源包解压
tar -xvf filebeat-6.0.0-x86_64.tar.gz
2.配置fields.yml
至此,安装完成。
- ELK 日志分析系统(一)
- ELK日志分析系统(一)
- ELK(一)ELK日志收集分析系统环境搭建
- ELK日志分析系统实战(一)安装和部署
- 搭建ELK日志分析系统(一)-Elasticsearch安装
- 日志分析系统ELK(业务日志)
- elk 日志分析系统
- ELK 日志分析系统
- ELK 日志分析系统
- ELK日志分析系统
- ELK 日志分析系统
- ELK 日志分析系统
- ELK 日志分析系统
- ELK日志分析系统
- ELK 日志分析系统
- ELK 日志分析系统
- ELK 日志分析系统
- ELK日志分析系统
- 使用线程池导出Excel数据
- C语言实验——余弦
- 原生Android开发—蓝牙
- Scala高阶函数
- LeetCode 152.Maximum Product Subarray
- ELK日志分析系统(一)
- ngork完整使用步骤总结最新2017
- JavaScript02_函数和window对象
- 039day(类和对象的基本概念的进一步学习)
- Bailian4013 中位数【中位数】
- Scala中的breakable
- 一套非常好的Git教程
- LeetCode 628. Maximum Product of Three Numbers
- 常用的 python os 模块