day20(ELK第一天)

1、elasticsearch回顾


1.什么叫搜索

2.为什么mysql不适合全文搜素

3.什么是全文搜索lucene

4.es的应用场景

5.es的特点

6.es的安装部署
- java环境
- 内存不能小于2G
- 磁盘空间给足
- 配置文件开启内存锁定
- jvm虚拟机最大最小内存都一样
- 绑定了内网I和本地IP

7.解决内存锁定
- 配置文件增加允许内存锁定参数
- 重启es

8.测试
- ps -ef|grep elasticsearch
- ss -lntup|grep 9200

9.开放防火墙端口
- 9200
- 9300 通讯端口

10.安装es-head插件
- 安装包npm
- chrome浏览器插件

11.概念
- index 库
- type  表
- doc   行数据
- fields  字段
- shards  分片 分库 分表

12.操作命令CRUD
- put
- get
- post
- delete

13.集群配置
cluster.name: linux58               #集群模式,必须打开,同一个集群要全部一样
node.name: node-1                   #节点名称,每个节点都不一样
path.data: /data/elasticsearch      #如果你更换了目录,要授权给es用户和组
path.logs: /var/log/elasticsearch   #如果是集群模式,日志名为{集群名.log}
bootstrap.memory_lock: true         #内存锁定,一定要打开,然后修改system配置
network.host: 10.0.0.51,127.0.0.1   #绑定内网IP,本地IP可以选择不做
http.port: 9200                     #默认9200,还有一个隐藏的通讯端口,9300
discovery.zen.ping.unicast.hosts: ["10.0.0.51", "10.0.0.52"]    #集群发现地址,只要包含自己和集群内任意一个节点就可以。
discovery.zen.minimum_master_nodes: 1   #选举相关参数,多数节点数量node/2 + 1
http.cors.enabled: true                 #为了让es-head可以访问es,同下
http.cors.allow-origin: "*"             #为了让es-head可以访问es,同上

14.介绍集群的相关重要信息
- 分片数和副本数
- 默认创建为5分片,1副本
- 分片一旦创建好就不能改变了
- 副本数可以随时动态调整
- 集群健康状态
-- red     #有数据不完整
--yellow      #数据都完整,但是有索引的副本或分片状态不正常
--green       #数据都完整,副本也符合条件
-监控节点数量

15.模拟故障现象
- 停掉服务器,观察集群状态
- 要注意,不能短时间内连续坏多台
- 要注意,不能短时间关闭重启多个回合
- 如果是0副本,数据所在的哪台机器,不能坏掉,不能数据丢失

16.Kibana管理es集群
- 打开监控功能
- DevTools可以方便执行命令

17.中文分词器
- 所有es节点都安装
- 所有es节点安装完成后要重启才能生效
- 先创建索引
- 在创建映射关系(类似于mysql建表语句)
- 然后指定使用中文分词器
- 搜素测试


ELK功能图

image.png

ELK架构图

image.png

1、ELK日志收集


E: Elasticsearch
F: Filebeat
L: Logstash
K: kibana


2、常规分析日志的操作

2.1、分析需求:


1.找出访问网站频次最高的IP排名前十
2.找出访问网站排名前十的URL
3.找出中午10点到2点之间www网站访问频次最高的IP
4. 对比昨天这个时间段和今天这个时间段访问频次有什么变化
5.对比上周这个时间和今天这个时间的区别
6.找出特定的页面被访问了多少次
7.找出有问题的IP地址,并告诉我这个IP地址都访问了什么页面,在对比前几天他来过吗?他从什么时间段开始访问的,什么时间段走了
8.找出来访问最慢的前十个页面并统计平均响应时间,对比昨天这也页面访问也这么慢吗?
9.找出搜索引擎今天各抓取了多少次?抓取了哪些页面?响应时间如何?
10.找出伪造成搜索引擎的IP地址
11.5分钟之内告诉我结果

2.2、需要收集哪些日志


系统层面: message   secure

代理层:nginx   haproxy    lvs

web层:nginx   tomcat   php  apache

数据库层:mysql   redis   mongo   elasticsearch
  

3、收集nginx日志

3.1、还原环境,方便查询日志


systemctl stop elasticsearch
systemctl stop kibana
rm -rf /var/lib/kibana/*
rm -rf /data/elasticsearch/*
systemctl start elasticsearch
systemctl start kibana


3.1、收集nginx日志

1.安装启动nginx
yum install ntpdate -y
ntpdate time1.aliyun.com
yum install nginx -y
systemctl start nginx


2.安装filebeat
1)上传压缩包
2)安装
 yum install filebeat-6.6.0-x86_64.rpm


3.修改配置文件
vim /etc/filebeat/filebeat.yml 

filebeat.inputs:
- type: log
  enabled: false
  paths:
    - /var/log/nginx/access.log
output.elasticsearch:
  hosts: ["10.0.0.51:9200"]

4.启动filebeat
systemctl start filebeat.service 
systemctl enable filebeat.service 


image.png
image.png

3.2、filebeat原理:


1.类似于tail -f
2.30秒检测一下日志有没有发生变化

3.3、停掉filebeat在启动中间数据如何处理


1. 直接从最后开始读取的话数据就会丢失
2. 从头开始读取数据就会重复收集
3. 从断开的地方开始读取

3.4、不完善的地方


不能单独统计展示访问网站的某项内容

3.5、nginx日志格式


我们期望的格式
$remote_addr:10.0.0.1 
$remote_user:-
[$time_local]:[10/Jul/2019:17:59:52 +0800]
$request:GET/db01.html HTTP/1.1"
$status :404
$body_bytes_sent:3650
$http_referer:-
$http_user_agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
$http_x_forwarded_for:-


操作步骤:注意!所有nginx服务器都需要操作!
1.修改nginx配置文件
log_format  json  '{ "time_local": "$time_local", '
                       '"remote_addr": "$remote_addr", '
                       '"referer": "$http_referer", '
                       '"request": "$request", '
                       '"status": $status, '
                       '"bytes": $body_bytes_sent, '
                       '"agent": "$http_user_agent", '
                       '"x_forwarded": "$http_x_forwarded_for", '
                       '"up_addr": "$upstream_addr",'
                       '"up_host": "$upstream_http_host",'
                       '"upstream_time": "$upstream_response_time",'
                       '"request_time": "$request_time"'
' }';
access_log  /var/log/nginx/access.log  json;


2.重启nginx
nginx -t
systemctl reload nginx

3.重新访问nginx产生新数据
curl 10.0.0.51

4.修改后的日志格式
{
    "time_local": "10/Jul/2019:18:55:59 +0800",
    "remote_addr": "10.0.0.1",
    "referer": "-",
    "request": "GET /db01.html HTTP/1.1",
    "status": 404,
    "bytes": 3650,
    "agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
    "x_forwarded": "-",
    "up_addr": "-",
    "up_host": "-",
    "upstream_time": "-",
    "request_time": "0.000"
}

5.清空nginx日志
> /var/log/nginx/access.log

6.修改filebeat配置文件
filebeat.inputs:
- type: log
  enabled: true 
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
output.elasticsearch:
  hosts: ["10.0.0.51:9200"]

7.es删除旧的索引
  

8.重启filebeat
systemctl restart filebeat


image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容