日志分析和ELK监控

一、ELK引入

日志分析和ELK监控_第1张图片

nginx的日志文件位置

 

二进制安装:/var/log/nginx/access.log

源码编译安装:/usr/local/nginx/logs/access.log

日志分析和ELK监控_第2张图片

 一般情况想要得到web服务器的PV和UV必须在日志轮转之前查看日志文件

PV (Page View)
页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次。可以统计服务一天的访问日志得到;

UV (Unique Visitor)
独立访客,统计1天内访问某站点的用户数。可以统计服务一天的访问日志并根据用户的唯一标识去重得到。响应时间(RT):响应时间是指系统对请求作出响应的时间,一般取平均响应时间。可以通过Nginx、Apache之类的Web Server得到。

二、ELK概述

日志分析和ELK监控_第3张图片

 日志分析和ELK监控_第4张图片

 三、环境准备

日志分析和ELK监控_第5张图片

日志分析和ELK监控_第6张图片 

 3、关闭防火墙和selinux  时间同步ntpd

四、单点elasticsearch的安装和配置

查找配置文件 

日志分析和ELK监控_第7张图片修改配置文件

日志分析和ELK监控_第8张图片

日志分析和ELK监控_第9张图片

 

查看是服务是否启动成功

日志分析和ELK监控_第10张图片最后用curl命令 或者 浏览器访问

 日志分析和ELK监控_第11张图片

 五、elasticsearch集群的安装和配置

scp上传安装包到另外的 节点

日志分析和ELK监控_第12张图片

 打开network监听  和http端口

unicast 单播  点对点   multicast  组播    boardcast 广播

日志分析和ELK监控_第13张图片这里每个节点都必须配置单播,并且把ip都写进配置文件用逗号隔开

node.master:true 就是中心管理节点  其他节点可以配置成false

日志分析和ELK监控_第14张图片

 systemctl  enable  elasticsearch

集群高可用的中心节点解决方法都差不多,都能防止脑裂

日志分析和ELK监控_第15张图片

 日志分析和ELK监控_第16张图片

 timeout是超时就踢出去,保证集群的高可用

日志分析和ELK监控_第17张图片

 elasticsearch中 一行日志就是document    一个日志文件就是index

 

 和ceph分布式存储类似镜像备份实现高可用

API格式

增加和删除index

日志分析和ELK监控_第18张图片

 日志分析和ELK监控_第19张图片

 

 elasticsearch-head

官网地址:https:/github.com/mobz/elasticsearch-head
日志分析和ELK监控_第20张图片

 node.js下载页面: https://nodejs.org/en/download/


日志分析和ELK监控_第21张图片日志分析和ELK监控_第22张图片

注意创建软链接必须把目录写对 要不然会报错

日志分析和ELK监控_第23张图片日志分析和ELK监控_第24张图片

 

 日志分析和ELK监控_第25张图片

 日志分析和ELK监控_第26张图片日志分析和ELK监控_第27张图片

 连接的ip必须都配置了下面的两个参数日志分析和ELK监控_第28张图片

 日志分析和ELK监控_第29张图片

 

 六、logstash

日志分析和ELK监控_第30张图片

 input插件:用于导入日志源(配置必须)
https://www.elastic.co/guide/en/logstash/current/input-plugins.html

filter插件:用于过滤(不是配置必须的)
https://www.elastic.co/guide/en/logstash/current/filter-plugins.html

output插件:用于导出(配置必须)
https://www.elastic.co/guide/en/logstash/current/output-plugins.html

 6.1、logstash的安装和启动验证

网络很慢,建议去阿里云镜像站里面找,但是这个软件没有

最好提前官网下载好

Releases · elastic/logstash (github.com)icon-default.png?t=N2N8https://github.com/elastic/logstash/releases

最小化安装可能没有jdk

日志分析和ELK监控_第31张图片

 

日志分析和ELK监控_第32张图片

 stden 标准输入法  指键盘输入的内容

通过标准输入和标准输出测试启动

日志分析和ELK监控_第33张图片

 要等一会儿之后才能启动

启动成功之后可以键盘输入测试 message

日志分析和ELK监控_第34张图片

 第二种测试方法

 

日志分析和ELK监控_第35张图片

 日志分析和ELK监控_第36张图片

 多日志采集配置日志分析和ELK监控_第37张图片

 采集的两个日志文件分别对应两个索引日志分析和ELK监控_第38张图片

 启动之后如果yum日志是空的 或者刚好日志轮转就不会采集到数据

日志分析和ELK监控_第39张图片

 

采集的日志配置都编写在里面日志分析和ELK监控_第40张图片

七、kibana介绍


Kiban是一个开源的可视化平台,可以为ElasticSearch集群的管理提供友好的Web界面,帮助汇总,分析和搜索重要的日志数据。
文档路径: https://www.elastic.colguide/en/kibana/current/setup.html

可以根据官方文档安装和配置kibana

日志分析和ELK监控_第41张图片

 下载rpm软件包可以把wget去掉,直接在网页下载

7.1、kibana部署


第1步:在kibana服务器(我这里是VM1)上安装kibana
日志分析和ELK监控_第42张图片

 日志分析和ELK监控_第43张图片

 写错了 标准输出是stdout

重启kibana服务设置开机自启 然后浏览器访问就可以使用了

日志分析和ELK监控_第44张图片

 

7.2、kibana 汉化

https://github.com/anbai-inc/Kibana Hanization/
这个github的资源已经没有了  希望大哥大姐可以给我一个新的

日志分析和ELK监控_第45张图片

 日志分析和ELK监控_第46张图片

 汉化成功之后再刷新访问web 注意:只有安装了kibana的服务器才能访问

日志分析和ELK监控_第47张图片日志分析和ELK监控_第48张图片

 点击发现,可以过滤日志产生的时间

日志分析和ELK监控_第49张图片

 还可以通过筛选器来 精确筛选日志的信息,想看什么信息就看什么 

日志分析和ELK监控_第50张图片可视化操作可以把日志信息画图显示

日志分析和ELK监控_第51张图片

 仪表盘其实就是聚合图形,把所有的可视化图聚合在一起

日志分析和ELK监控_第52张图片

 

 八、filebeat

 注意:下载的是下x86_64rpm

日志分析和ELK监控_第53张图片

日志分析和ELK监控_第54张图片如果使用EFK架构的话,日志没有通过logstash过滤

日志分析和ELK监控_第55张图片

 8.1、filebeat采集日志发送给es集群

日志分析和ELK监控_第56张图片

 日志分析和ELK监控_第57张图片

 yaml格式特别严格

这配置是为了把采集到的 日志发送给es集群

日志分析和ELK监控_第58张图片

 日志分析和ELK监控_第59张图片

 

开启filebeat服务之后如果不取消kibana的筛选就会看不到日志

日志分析和ELK监控_第60张图片

 

8.2、filebeat采集的日志输出到logstash

这里必须要把filebeat的配置文件output.elasticsearch改成output.logstash

日志分析和ELK监控_第61张图片 日志分析和ELK监控_第62张图片

 在logstash服务器上配置端口5044接收filebeat的日志日志分析和ELK监控_第63张图片

 

 后台开启logstash服务,开启服务的命令不需要记忆

日志分析和ELK监控_第64张图片&

收集nginx日志

yum  install   epel-release  -y   

一般用yum源安装的软件 日志文件都在/var/log/软件名称

日志分析和ELK监控_第65张图片在filebeat.yml文件里面配置filebeat  output  nginx的访问日志路径或者error.log日志

把nginx的access.log配置好   

可能会出现的问题日志分析和ELK监控_第66张图片

 filebeat可以配置通过关键字采集日志

日志分析和ELK监控_第67张图片

 

logstash插件

tcp

日志分析和ELK监控_第68张图片

 把本地的信息传输变成网络的

日志分析和ELK监控_第69张图片

 json

日志分析和ELK监控_第70张图片

 把日志信息过滤成 key -value 方便单独统计UV

就是把message里面的信息过滤成content里面的key-value 

如果把target => "content"  去掉 就直接过滤成key-value

日志分析和ELK监控_第71张图片

 kv

分隔带有字符字段的信息

·自动解析为key=value。
·也可以任意字符串分割数据。
. field_split一串字符,指定分隔符分析键值对
 

日志分析和ELK监控_第72张图片

 和json类似,只不过json是处理key-value的值  kv是处理字符分隔的信息

 

日志分析和ELK监控_第73张图片

grok

grok是将非结构化数据解析为结构化
·这个工具非常适于系统日志,mysql日志,其他Web服务器日志以及通常人类无法编写任何日志的格式。
·默认情况下,Logstash附带约120个模式。也可以添加自己的模式(patterns_dir)·模式后面对应正则表达式
·查看模式地址: https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns
日志分析和ELK监控_第74张图片

 日志分析和ELK监控_第75张图片

 日志分析和ELK监控_第76张图片

 字段和过滤的message的类容是按顺序一 一 对应的

geoip

开源lP地址库
自己找

日志分析和ELK监控_第77张图片

 

你可能感兴趣的:(ELK架构,elk,运维)