一、ELK引入

日志监控工作原理 日志监控elk优缺点_elk

nginx的日志文件位置

 

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

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

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_02

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

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

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

二、ELK概述

日志监控工作原理 日志监控elk优缺点_运维_03

 

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_04

 三、环境准备

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_05

日志监控工作原理 日志监控elk优缺点_elasticsearch_06

 

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

四、单点elasticsearch的安装和配置

查找配置文件 

日志监控工作原理 日志监控elk优缺点_nginx_07

修改配置文件

日志监控工作原理 日志监控elk优缺点_运维_08

日志监控工作原理 日志监控elk优缺点_运维_09

 

查看是服务是否启动成功

日志监控工作原理 日志监控elk优缺点_elk_10

最后用curl命令 或者 浏览器访问

日志监控工作原理 日志监控elk优缺点_elk_11

 

日志监控工作原理 日志监控elk优缺点_运维_12

 五、elasticsearch集群的安装和配置

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

 打开network监听  和http端口

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

日志监控工作原理 日志监控elk优缺点_elasticsearch_13

这里每个节点都必须配置单播,并且把ip都写进配置文件用逗号隔开

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

日志监控工作原理 日志监控elk优缺点_elk_14

 systemctl  enable  elasticsearch

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

日志监控工作原理 日志监控elk优缺点_nginx_15

 

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_16

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

日志监控工作原理 日志监控elk优缺点_elk_17

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

日志监控工作原理 日志监控elk优缺点_nginx_18

 

日志监控工作原理 日志监控elk优缺点_运维_19

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

API格式

增加和删除index

日志监控工作原理 日志监控elk优缺点_nginx_20

 

日志监控工作原理 日志监控elk优缺点_elk_21

 

 elasticsearch-head

日志监控工作原理 日志监控elk优缺点_elk_22

官网地址:https:/github.com/mobz/elasticsearch-head

日志监控工作原理 日志监控elk优缺点_elk_23

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

日志监控工作原理 日志监控elk优缺点_nginx_24

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_25

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

日志监控工作原理 日志监控elk优缺点_elasticsearch_26

日志监控工作原理 日志监控elk优缺点_elk_27

 

 

日志监控工作原理 日志监控elk优缺点_运维_28

 

日志监控工作原理 日志监控elk优缺点_elasticsearch_29

日志监控工作原理 日志监控elk优缺点_elk_30

 连接的ip必须都配置了下面的两个参数

日志监控工作原理 日志监控elk优缺点_elk_31

 

日志监控工作原理 日志监控elk优缺点_nginx_32

 

 六、logstash

日志监控工作原理 日志监控elk优缺点_elasticsearch_33

 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)

日志监控工作原理 日志监控elk优缺点_elk_34

https://github.com/elastic/logstash/releases

最小化安装可能没有jdk

日志监控工作原理 日志监控elk优缺点_elasticsearch_35

 

日志监控工作原理 日志监控elk优缺点_nginx_36

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

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

日志监控工作原理 日志监控elk优缺点_elasticsearch_37

 要等一会儿之后才能启动

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

日志监控工作原理 日志监控elk优缺点_运维_38

 第二种测试方法

 

日志监控工作原理 日志监控elk优缺点_elasticsearch_39

 

日志监控工作原理 日志监控elk优缺点_nginx_40

 多日志采集配置

日志监控工作原理 日志监控elk优缺点_elk_41

 采集的两个日志文件分别对应两个索引

日志监控工作原理 日志监控elk优缺点_elk_42

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

日志监控工作原理 日志监控elk优缺点_nginx_43

 

采集的日志配置都编写在里面

日志监控工作原理 日志监控elk优缺点_elk_44

七、kibana介绍

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

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

日志监控工作原理 日志监控elk优缺点_nginx_45

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

7.1、kibana部署

第1步:在kibana服务器(我这里是VM1)上安装kibana

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_46

 

日志监控工作原理 日志监控elk优缺点_运维_47

 写错了 标准输出是stdout

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

日志监控工作原理 日志监控elk优缺点_运维_48

 

7.2、kibana 汉化

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

日志监控工作原理 日志监控elk优缺点_nginx_49

 

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_50

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

日志监控工作原理 日志监控elk优缺点_elasticsearch_51

日志监控工作原理 日志监控elk优缺点_nginx_52

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

日志监控工作原理 日志监控elk优缺点_运维_53

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

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_54

可视化操作可以把日志信息画图显示

日志监控工作原理 日志监控elk优缺点_nginx_55

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

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_56

 

 八、filebeat

 注意:下载的是下x86_64rpm

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_57

日志监控工作原理 日志监控elk优缺点_elk_58

如果使用EFK架构的话,日志没有通过logstash过滤

日志监控工作原理 日志监控elk优缺点_nginx_59

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

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_60

 

日志监控工作原理 日志监控elk优缺点_运维_61

 yaml格式特别严格

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

日志监控工作原理 日志监控elk优缺点_elk_62

 

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_63

 

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

日志监控工作原理 日志监控elk优缺点_nginx_64

 

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

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

日志监控工作原理 日志监控elk优缺点_运维_65

 

日志监控工作原理 日志监控elk优缺点_elk_66

 在logstash服务器上配置端口5044接收filebeat的日志

日志监控工作原理 日志监控elk优缺点_运维_67

 

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

日志监控工作原理 日志监控elk优缺点_elk_68

&

收集nginx日志

yum  install   epel-release  -y   

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

日志监控工作原理 日志监控elk优缺点_nginx_69

在filebeat.yml文件里面配置filebeat  output  nginx的访问日志路径或者error.log日志

把nginx的access.log配置好   

可能会出现的问题

日志监控工作原理 日志监控elk优缺点_elk_70

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

日志监控工作原理 日志监控elk优缺点_运维_71

 

logstash插件

tcp

日志监控工作原理 日志监控elk优缺点_nginx_72

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

日志监控工作原理 日志监控elk优缺点_日志监控工作原理_73

 json

日志监控工作原理 日志监控elk优缺点_运维_74

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

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

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

日志监控工作原理 日志监控elk优缺点_elk_75

 kv

分隔带有字符字段的信息

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

日志监控工作原理 日志监控elk优缺点_nginx_76

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

 

日志监控工作原理 日志监控elk优缺点_运维_77

grok

grok是将非结构化数据解析为结构化

·这个工具非常适于系统日志,mysql日志,其他Web服务器日志以及通常人类无法编写任何日志的格式。

·默认情况下,Logstash附带约120个模式。也可以添加自己的模式(patterns_dir)·模式后面对应正则表达式

·查看模式地址: https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns

日志监控工作原理 日志监控elk优缺点_运维_78

 

日志监控工作原理 日志监控elk优缺点_运维_79

 

日志监控工作原理 日志监控elk优缺点_elasticsearch_80

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

geoip

开源lP地址库
自己找

日志监控工作原理 日志监控elk优缺点_nginx_81