2021-03-24

ELK安装文档

本实验是将ELK的3个组件安装在了一台主机上!当然也可以安装在3个主机上,一个组件一台主机
1.部署环境:
系统:Centos7.5
同步时间:
安装包连接:https://pan.baidu.com/s/1Oz8ybXI0eOoue1jSwsY4lA
提取码:rn7j
jdk环境的话自己安装就好

yum -y install ntpdate
ntpdate  0.cn.pool.ntp.org

在这里插入图片描述

2.上传ELK安装包至服务器:

在这里插入图片描述

3.安装ELK组件

rpm -ivh jdk-8u131-linux-x64_.rpm
rpm -ivh elasticsearch-6.6.0.rpm
rpm -ivh logstash-6.6.0.rpm
rpm -ivh kibana-6.6.0-x86_64.rpm

4.elasticsearch配置和启动

ulimit -n 65536
vim /etc/sysctl.conf

在这里插入图片描述

sysctl -p

修改配置文件,配置监听地址:

vim /etc/elasticsearch/elasticsearch.yml

在这里插入图片描述

关闭防火墙并启动elasticsearch

systemctl stop firewalld
setenforce 0
systemctl start elasticsearch

稍等一会,启动需要时间,等启动成功后可以查看到9200端口已经处于监听状态
在这里插入图片描述

5.logstash配置收集系统日志
logstash是用来收集日志,并对日志做过滤处理的,我们下面要分析的是系统日志,所以要编写一个收集日志的配置文件

vim /etc/logstash/conf.d/system.conf

内容如下:

input {
    file {
       path => "/var/log/messages"
       type => "system-log"
       start_position => "beginning"
    }
}

output {
    elasticsearch {
      hosts => "192.168.189.128:9200"
      index => "system_log-%{+YYYY.MM.dd}"
    }
}

input日志输入模块:日志的获取方式和路径
数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

fileter日志的过滤模块:数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。
output日志的输出模块:导出你的数据
尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。

Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例

我们这里是从本地某个目录下以文件的形式获取的日志,并且没有过滤讲日志直接输出给了elasticsearch

这里为了测试,将/var/log/messages日志的权限修改为了644,因为logstash是以logstash用户的身份运行的,不改权限是读取不了日志内容的

改权限

chmod 644 /var/log/messages

启动logstash

systemctl start logstash

稍等1分钟后可以查看9600端口是否监听
若未监听可以查看日志是否有错误

tail -f /var/log/logstash/logstash-plain.log

6.配置并启动kibana
这里只需要配置监听地址和elasticsearch的ip就可以了

vim /etc/kibana/kibana.yml

在这里插入图片描述

稍等片刻后查看5601端口是否监听,监听后直接访问即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

给系统日志添加可视化图形
在这里插入图片描述

选择创建图形类型为线性图
在这里插入图片描述

选择绘画哪个索引的图形

在这里插入图片描述

选择X轴为绘画日期的柱状图,然后点击开始获取数据
在这里插入图片描述
在这里插入图片描述
此图形是根据时间统计日志在一段时间内的增加数量趋势图,让然也可以添加其他的图形
7.分析nginx访问日志
我们可以先搭建一个LNMP环境发布一个电商项目,这样可以产生测试数据
我这里采用源码安装的nginx其他为yum安装,nginx访问日志路径为:

/usr/local/nginx/access.log

创建文件nginx_access,定义配置规则NIGNXACCESS,用来配置nginx访问日志

cd /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/
vim nginx_access

URIPARAM1 [A-Za-z0-9$.+!’|(){},~@#%&/=:;_?-[]]
NGINXACCESS %{IPORHOST:client_ip} (%{USER:ident}|- ) (%{USER:auth}|-) [%{HTTPDATE:timestamp}] “(?:%{WORD:verb} (%{NOTSPACE:request}|-)(?: HTTP/%{NUMBER:http_version})?|-)” %{NUMBER:status} (?:%{NUMBER:bytes}|-) “(?:%{URI:referrer}|-)” “%{GREEDYDATA:agent}”

或将编写好的nginx_access文件上传至此目录

添加logstash的nginx日志收集配置文件

vim /etc/logstash/conf.d/nginx-log.conf
input {
   file {
      path  => "/usr/local/nginx/logs/access.log"
      type  => "nginx-log"
      start_position => "beginning"
    }
}

filter {
    grok { 
        match => { "message" => "%{NGINXACCESS}" }
    }

}

output {
   elasticsearch {
      hosts => ["192.168.189.128:9200"]
      index => "nginx_log-%{+YYYY.MM.dd}"
   }

}

重启logstash

systemctl restart logstash

等待2分钟logstash启动后去kibana上添加nginx的索引
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8.添加nginx日志的可视化图形
1.添加状态码统计饼状图
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.添加统计pv的图形
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.按照以上步骤再次添加ip访问量前10的ip
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.访问量趋势图
在这里插入图片描述
在这里插入图片描述

5.添加仪表板
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最后保存

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值