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 '$avm.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"