elk

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"
原文地址:https://www.cnblogs.com/effortsing/p/10405226.html