ELK日志分析平台

搭建ELK日志分析平台


准备条件

  1. 阿里云服务器
  2. CentOS 7.5
  3. Java 服务器日志
  4. JDK环境

ELK简介

ELK是三个开源软件的缩写,分别为:Elasticsearch 、 Logstash以及Kibana , 它们都是开源软件。不过现在还新增了一个Beats,它是一个轻量级的日志收集处理工具(Agent),Beats占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具,目前由于原本的ELK Stack成员中加入了 Beats 工具所以已改名为Elastic Stack。

Elastic Stack包含:

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。详细可参考Elasticsearch权威指南

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。


安装Elasticsearch

  • 在线 rpm 安装 网速允许的前提
  1. 导入elastic公开签名 public signing key:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
  1. 创建文件 elasticsearch.repo/etc/yum.repos.d/ 目录下
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. 安装 elasticsearch
yum install elasticsearch 
  1. 设置开机自动启动
chkconfig --add elasticsearch
  1. 启动测试
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
  • 下载 rpm 安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.rpm.sha512
shasum -a 512 -c elasticsearch-6.3.2.rpm.sha512 
sudo rpm --install elasticsearch-6.3.2.rpm

安装Kibana

  1. yum安装
yum -y install kibana
  1. 对kibana进行配置
vim /etc/kibana/kibana.yml

修改以下内容

server.port: 5601                       # 配置kibana的端口
server.host: "0.0.0.0"                  # 配置监听ip
elasticsearch.url: "http://ip:9200"     # 配置es服务器的ip,如果是集群则配置该集群中主节点的ip
logging.dest: /var/log/kibana.log       # 配置kibana的日志文件路径,不然默认是messages里记录日志
  1. 创建日志文件
touch /var/log/kibana.log
chmod 777 /var/log/kibana.log
  1. 设置开机自动启动
chkconfig --add kibana
  1. 启动kibana服务
systemctl start kibana
  1. 检查进程和监听端口
ps aux |grep kibana
netstat -lntp |grep 5601

安装 Logstash

  1. yum安装
yum install -y  logstash

yum源的速度太慢的话就下载rpm包来进行安装

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.rpm
rpm -ivh logstash-6.3.2.rpm
  1. 设置开机自动启动
chkconfig --add logstash
  1. 配置logstash

logstash收集nginx日志

vim /etc/logstash/conf.d/nginx.conf

增加如下内容

input {
  file {  # 指定一个文件作为输入源
    path => "/tmp/elk_access.log"  # 指定文件的路径
    start_position => "beginning"  # 指定何时开始收集
    type => "nginx"  # 定义日志类型,可自定义
  }
}
filter {  # 配置过滤器
    grok {
        match => { "message" => "%{IPORHOST:http_host} %{IPORHOST:clientip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:http_verb} %{NOTSPACE:http_request}(?: HTTP/%{NUMBER:http_version})?|%{DATA:raw_http_request})\" %{NUMBER:response} (?:%{NUMBER:bytes_read}|-) %{QS:referrer} %{QS:agent} %{QS:xforwardedfor} %{NUMBER:request_time:float}"}  # 定义日志的输出格式
    }
    geoip {
        source => "clientip"
    }
}
output {
    stdout { codec => rubydebug }
    elasticsearch {
        hosts => ["192.168.77.128:9200"]
        index => "nginx-test-%{+YYYY.MM.dd}"
  }
}

检测配置文件是否有错

cd /usr/share/logstash/bin
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/nginx.conf --config.test_and_exit

重启logstash服务

systemctl restart logstash
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值