ELK 是三个开源软件的缩写,分别为:Elasticsearch、Logstash 以及 Kibana,它们都是开源软件。不过如今还新增了一个 Beats,它是一个轻量级的日志收集处理工具(Agent),Beats 占用资源少,适合于在各个服务器上搜集日志后传输给 Logstash,官方也推荐此工具,目前因为本来的 ELK Stack 成员中加入了 Beats 工具因此已更名为 Elastic Stack。html
根据 Google Trend 的信息显示,Elastic Stack 已经成为目前最流行的集中式日志解决方案。java
Elastic Stack 包含:node
ELK Stack (5.0版本以后)--> Elastic Stack == (ELK Stack + Beats)。linux
目前 Beats 包含六种工具:git
ELK 简单架构图:github
ElasticSearch:(存储数据信息,搜索组件)web
因为elasticsearch是用Java语言编写的须要跑在Java虚拟机上,因此在安装elasticsearch以前须要安装Java的JDK包。版本至少要在1.80版本上的包。npm
#yum install java-1.8.0-openjdk-devel
官方软件下载:https://www.elastic.co/products vim
若是须要下载之前的版本点击下面。windows
配置文件:
/etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/jvm.options /etc/elasticsearch/log4j2.properties Unit File:elasticsearch.service
程序文件:
/usr/share/elasticsearch/bin/elasticsearch /usr/share/elasticsearch/bin/elasticsearch-keystore: /usr/share/elasticsearch/bin/elasticsearch-plugin:管理插件程序
#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.rpm #下载rpm的包 #yum install java-1.8.0-openjdk-devel #安装JDK的包 #rpm -ivh elasticsearch-5.6.10.rpm #将下载下来的包安装,因为此包没有依赖因此使用rpm安装就能够 #systemctl start elasticsearch #启动服务 #/etc/elasticsearch/elasticsearch.ym #修改配置文件 测试使用,主要设置网络: network.host: 192.168.130.7 #本机Ip http.port: 9200 #监听端口
#vim /etc/elasticsearch/jvm.options
-Xms1g #虚拟机内存
-Xmx1g # curl http://192.168.130.7:9200/ 测试
使用git安装elasticsearch-head # yum install -y npm # git clone git://github.com/mobz/elasticsearch-head.git # cd elasticsearch-head # npm install # npm run start 检查端口是否起来 netstat -antp |grep 9100
浏览器访问测试是否正常 http://IP:9100/
nod01:(192.168.130.7)
#vim /etc/hostname #修改主机名 node1 #vim /etc/hosts #解析DNS 192.168.130.7 node1 #yum install java-1.8.0-openjdk-devel #安装JDK的包 #rpm -ivh elasticsearch-5.6.10.rpm #将下载下来的包安装,因为此包没有依赖因此使用rpm安装就能够 systemctl daemon-reload #包装好后执行此命令 vim /etc/elasticsearch/jvm.options #修改配置文件;jdk的配置文件 -Xms1g -Xmx1g #占用内存设置选项,两个的值必须设为相同 vim /etc/elasticsearch/elasticsearch.yml #修改主配置文件 cluster.name: myelssss #设定是否在同一个集群的标识;可自定义名称 node.name:node1 #当前节点的IP地址,此处作了dns解析能够用作节点的名称 #node.attr.rack: r1 (节点处于哪一个机架上的设置,系统会识别机架,不将数据的主切片和从切片放到同一个机架上,本实验中不须要设置) path.data: /data/myels #数据存放的路径;能够自定义,或者将目录挂载到存储设备上 path.logs: /data/logs #日志存放的路径 network.host: 192.168.130.7 #当前主机的IP地址 http.port: 9200 #启用端口号 discovery.zen.ping.unicast.hosts: [“192.168.130.7″,http.port: 9200″192.168.130.8”] #定义集群的成员 discovery.zen.minimum_master_nodes: 2 #mkdir /data/myels #mkdir /data/logs #建立存放数据和日志的文件夹 #chown elasticsearch: /data/* #将刚建立的文件夹的属主和数组都改成elasticsearch全部 #systemctl start elasticsearch #启动服务
nod02:(192.168.130.8)
#vim /etc/hostname #修改主机名 node2 #vim /etc/hosts #解析DNS 192.168.130.8 node2 #yum install java-1.8.0-openjdk-devel #安装JDK的包 #rpm -ivh elasticsearch-5.6.10.rpm #将下载下来的包安装,因为此包没有依赖因此使用rpm安装就能够 systemctl daemon-reload #包装好后执行此命令 vim /etc/elasticsearch/jvm.options #修改配置文件;jdk的配置文件 -Xms1g -Xmx1g #占用内存设置选项,两个的值必须设为相同 vim /etc/elasticsearch/elasticsearch.yml #修改主配置文件 cluster.name: myelssss #设定是否在同一个集群的标识;可自定义名称 node.name:node1 #当前节点的IP地址,此处作了dns解析能够用作节点的名称 #node.attr.rack: r1 (节点处于哪一个机架上的设置,系统会识别机架,不将数据的主切片和从切片放到同一个机架上,本实验中不须要设置) path.data: /data/myels #数据存放的路径;能够自定义,或者将目录挂载到存储设备上 path.logs: /data/logs #日志存放的路径 network.host: 192.168.130.8 #当前主机的IP地址 http.port: 9200 #启用端口号 discovery.zen.ping.unicast.hosts: [“192.168.130.8″,http.port: 9200″192.168.130.7”] #定义集群的成员 discovery.zen.minimum_master_nodes: 2 #mkdir /data/myels #mkdir /data/logs #建立存放数据和日志的文件夹 #chown elasticsearch: /data/* #将刚建立的文件夹的属主和数组都改成elasticsearch全部 #systemctl start elasticsearch #启动服务
官网:https://www.elastic.co/products/logstash
集中,转换,存储
高度插件化程序
三类核心插件:输入插件(指定数据源抽取数据),过滤器插件,输出插件(处理后的结果保留到不一样位置)
多个logstash从本地日志文件中收集日志-->可在此添加消息队列-->发送到logstash server(过滤器插件过滤)-->elasticsearch
三类插件
# yum install java-1.8.0-openjdk-devel #下载JDK # wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.8.rpm #下载相关包 # rpm -ivh logstash-5.6.8.rpm #安装logstash /usr/share/logstash默认路径 #vim /etc/profile.d/logstash.sh #路径加载到系统环境搜索变量中 export PATH=/usr/share/logstash/bin :$PATH #exec bash #重行启动bash #logstash --help #启动很慢 #cd /etc/logstash #vim /conf.d/test1.conf #编辑测试配置文件,输入什么输出什么 input { stdin{} } output { stdout{ } } #logstash -f test.conf -t #指定配置文件并检查 #logstash -f test.conf #启动
自我独立的web服务器
默认监听端口:5600
工做与http协议
搜索,数据聚合
图形界面展现
# wget ftp://172.20.0.1/pub/Sources/7.x86_64/elasticstack/kibana-5.6.8-x86_64.rpm #下载相关包 # rpm -ivh kibana-5.6.8-x86_64.rpm #安装kibana # cd /etc/kibana/ /etc/kibana]# ls kibana.yml /etc/kibana]# vim kibana.yml #修改配置文件 server.port: 5601 #监听于5601 server.host: "0.0.0.0" #监听本机全部地址 elasticsearch.url: "http://172.20.81.7:9200" #elasticsearch所在主机
http://172.20.81.81:5601进入图形界面配置
页面使用:Discover
可视化:Visualize
面板:Dashboard
filebeat
rides在中间作消息队列