ELK部署与使用
彭淦淦 2020-01-11 07:30:04 一.ELK(部署)
elasticsearch--->数据库--->mysql
作用:对数据的存储和检索
logstash-->写入数据php
从Web日志例采集和处理数据并存入E中
kibana-->nginx
从E中读取数据并可视化展示 作用:分布式日志数据集中式查询和管理,监控,故障排查,安全信息和事件管理,报表功能. *******************************************************************
流量突然暴涨:
思路:
-通过Zabbix查看流量具体暴涨在哪里?
-确定哪个系统后再具体看某个系统的日志分析原因. 解决方法:
DDOS->流量清洗(找运营商)
*******************************************************************
Elasticksearch
特点:
-实时分析;
-分布式实时文件存储,并将每一个 ES与关系型数据库的对比
1.
库-表 -行-列
索引-类型-文档-域(字段) 2.
MySQL:使用SQL进行增删改查
Es:使用http协议进行增删改查
单机ES的部署(:9200,:9300)
环境准备+安装部署思路:
-主机名解析
-依赖包(Java开发的,所以要openjdk,最低Java7)
-安装软件包
-修改配置文件
-启动服务
-检查服务 集群配置(在单机基础上,5台)
-停服务
-修改配置:
cluster.name:#要完全一致
node.name:#本机主机名
network.host:0.0.0.0#监听地址
discovery.zen.ping.unicast.hosts: [“es1”, “es2” , “es3”]
-各节点要相互ping通(主机名解析)
-都有java环境
-启动服务 _cluster/health?pretty
ES插件的使用
-head插件
看集群拓扑,进行索引和节点级别的操作;
提供查询API,并将结果以Json和表格形式返回.
-kopf插件
-是ES的管理工具
-提供对ES集群操作的API
-bigdesk插件
-ES的一个集群监控工具
-可以通过它来查看ES集群的各种状态.如:CPU,内存,使用情况,索引数据,搜索情况,http连接数等. RESTful API
http请求分三部分:
-请求行,消息报头,请求正文.
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议版本,格式如下:
Method Request-URI HTTP-Version CRLF http请求方法:(1.1/8种;1.0/3种)
常用:GET,POST,HEAD
ES常用:
-PUT增
-DELETE删
-POST改
-GET查 curl命令:
是利用URL规则,在命令行下工作的文本传输工具,支持多种请求模式,自定义请求头等强大功能.
-A修改请求agent
-X设置请求方法
-i显示返回头信息
RESTful API的简单实用
_cat API下的信息查看
health查询集群状态,节点信息
curl http://es2:9200/_cat/health(?v)(?help)#查看帮助
nodes 查看节点状态信息
curl http://es1:9200/_cat/nodes
indices 索引信息
curl http://es3:9200/_cat/indices 用curl命令,调用RESTful API对elasticsearch作增删改查
调用方式:数据库地址/索引/类型/id值 #curl -d#是POST HTTP数据的选项
-增:PUT
curl -XPUT ‘http://es1:9200/tedu/teacher/1’ -d
‘{“setting”: {“index”}: “number_of_shards”: 5 “number_of_replicas”: 1}’
-删:DELETE
curl -XDELETE http://es1:9200/tedu/teacher/1
-改:POST
curl -XPOST http://es1:9200/tedu/teacher/1/_update ‘{doc:{“名字”: “柱子哥”}}’
-查:GET
curl -XGET http://es1:9200/tedu/teacher/1 _bulk批量导入数据
curl -XPOST http://es1:9200/_bulk --data-binary @logs.jsonl 补充:
apache日志分析:
127.0.0.1 - - [10/Jan/2020:09:40:06 +0800] "GET / HTTP/1.1" 200 12 "-" "curl/7.29.0" 来源IP-E-mail-页面用户验证的登录名-时间-请求方式-访问资源-请求的协议 -服务端返回的状态码-返回页面大小 指明该请求是被哪个网页提交过来-客户端访问工具