1、ELK经典架构
Logstash部署至服务主机,对各个服务的日志进行采集、过滤、推送。
Elasticsearch存储Logstash传送的结构化数据,提供给Kibana。
Kibana提供用户web页面进行数据展示和分析形成图表等
由于Logstash消耗资源大,而服务器资源相当宝贵,所以引进另一个轻量级日志采集框架Beats,其中有Filebeat ,Filebeat用于搜集文件数据
2、ELK搭建(非集群)
2.1、下载ELK(保持版本一致)
elasticsearch-6.3.0.tar kibana-6.3.0下载 linux64位 logstash-6.3.0.tar
2.2、 配置jdk
2.3、安装elasticsearch
创建elsearch用户
修改系统配置文件限制 sed -i '$a\vm.max_map_count = 655360' /etc/sysctl.conf
修改安全限制配置文件 /etc/security/limits.conf 65536
重启linux系统
启动elasticsearch
su elsearch(必须切换用户) /home/elasticsearch-6.3.0/bin/elasticsearch -d #后台运行
查看端口,一共两个:端口: 9200 、9300
访问elasticsearch http://192.168.0.91:9200/
安装es管理插件
安装npm :添加环境变量 必须重启系统 查看版本 node -v npm -v
安装es的管理插件:下载 elasticsearch-head mv elasticsearch-head /home/
下面所有操作需要进入elasticsearch-head文件目录
安装grunt命令行工具grunt-cli npm install -g grunt-cli
安装grunt及其插件 npm install grunt --save-dev
查看安装版本情况 grunt -version
修改head的连接地址为9200:vi /home/elasticsearch-head/_site/app.js
修改服务器的监听地址:添加hostname: 192.168.0.91, 这是grunt所在的地址
修改elasticseach的配置文件elasticsearch.yml, 修改对应的ip以及跨域的设置,
重启es
启动head cd /home/elasticsearch-head/ && grunt server
在浏览器访问 http://192.168.0.91:9100
浏览器上配置连接elasticsearch;查看索引
2.4、安装kibana
修改配置文件 vi /home/kibana-6.3.0-linux-x86_64/config/kibana.yml
server.port: 5601 ##服务端口
server.host: "192.168.0.91" ##服务器ip 本机地址
elasticsearch.url: "http://192.168.0.91:9200" ##elasticsearch服务地址 与elasticsearch对应
启动kibana su elsearch && nohup /home/kibana-6.3.0-linux-x86_64/bin/kibana & #后台
查看kibana端口:5601
访问kibana:http://192.168.0.91:5601
2.5、安装logstash
新建logback-es.conf配置文件
cat> /home/logstash-6.3.0/config/logback-es.conf<<EOF
input { ##input 输入源配置
tcp { ##使用tcp输入源 官网有详细文档
port => 9601 ##服务器监听端口9061 接受日志 默认ip localhost
codec => json_lines ##使用json解析日志 需要安装json解析插件
}
}
filter { ##数据处理
}
output { ##output 数据输出配置
elasticsearch { ##使用elasticsearch接收
hosts => "192.168.0.91:9200" ##集群地址 多个用,隔开,这里不能写localhost,否则无法启动
}
stdout { codec => rubydebug} ##输出到命令窗口
}
检查配置文件是否有语法错
/home/logstash-6.3.0/bin/logstash-f/home/logstash-6.3.0/config/logback-es.conf --config.test
安装logstash json插件
/home/logstash-6.3.0/bin/logstash-plugin install logstash-codec-json_lines
启动logstash :su root
nohup /home/logstash-6.3.0/bin/logstash -f /home/logstash-6.3.0/config/logback-es.conf &
2.6、elk收集tomcat中catalina.out日志
只在logstash节点增加如下文件,重启logstash即可:
cat >>/home/logstash-6.3.0/config/tomcat_catalina.out.conf<<EOF
input {
file {
path => ["/usr/local/tomcat/logs/catalina.out"]
type => "tomcat_log"
start_position => "beginning"