hydd的Linux笔记Day76

Day76

ELK日志分析平台

ELK概述

ELK是什么

ELK分别代表

​ Elasticsearch:负责日志检索和存储

​ Logstash:日志收集和分析、处理

​ Kibana:负责日志可视化

​ ELK是一整套的解决的方案,是上面三个软件的组成的,三款都是开源软件,互相配合。

ELK是做什么的?

ELK组件在海量日志系统的运维中可以用于解决

​ 分布式日志数据集中式的查询和管理

​ 系统监控,包含系统硬件和应用各个组件的监控

​ 故障排查

​ 安全信息和事件管理

​ 报表功能

Elasticsearch概述

Elasticsearch是什么

ElasticSearch是基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文索索引擎,基于RESTfulAPI的Web接口

Elasticsearch 是用于Java开发的,使用Apache许可条款的开源软件,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到试试搜索,稳定可靠快速安装使用方便

Elasticsearch特点

主要特点

​ 实时分析

​ 分布式实施文件存储,并将每一个字段都编入索引

​ 文档导向,所有的对象全部都是文档

​ 高可用,易扩展,并支持集群,分片和复制

​ 接口友好,支持JSON

Elastcsearch缺点

Elasticsearch没有典型意义的事务

Elasticsearch是一种面向文档的数据库

Elasticsarch没有提供授权和认证特性

相关概念

Node: 装有一个ES服务器的节点

Cluster: 有Node组成的集群

Document: 一个被搜索的基础信息单元

index: 拥有相似特征的文档集合

Type: 一个索引中可以定义一种或多种类型

Filed: 是ES的最小单位,相当于数据的某一列

Shards; 索引的分片,每一个分片就是一个Shard

Replicas: 索引的拷贝

img

Elasticsearch 安装
在跳板机上配置 yum 仓库

拷贝云盘 rpm-package/elk 目录到跳板机

[root@ecs-proxy ~]# cp -a elk /var/ftp/localrepo/elk
[root@ecs-proxy elk]# cd /var/ftp/localrepo/
[root@ecs-proxy localrepo]# createrepo --update .
购买云主机
主机IP地址配置
es-0001192.168.1.41最低配置1核1G
es-0002192.168.1.42最低配置1核1G
es-0003192.168.1.43最低配置1核1G
es-0004192.168.1.44最低配置1核1G
es-0005192.168.1.45最低配置1核1G
单机安装
[root@es-0001 ~]# vim /etc/hosts
192.168.1.41	es-0001
[root@es-0001 ~]# yum install -y java-1.8.0-openjdk elasticsearch
[root@es-0001 ~]# vim /etc/elasticsearch/elasticsearch.yml
54:  network.host: 0.0.0.0
[root@es-0001 ~]# systemctl enable --now elasticsearch
[root@es-0001 ~]# curl http://192.168.1.41:9200/
{
  "name" : "War Eagle",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.3.4",
    "build_hash" : "e455fd0c13dceca8dbbdbb1665d068ae55dabe3f",
    "build_timestamp" : "2016-06-30T11:24:31Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}
集群安装

es-0001 … es-0005 所有主机,都要执行以下操作

[root@es-0001 ~]# vim /etc/hosts
192.168.1.41	es-0001
192.168.1.42	es-0002
192.168.1.43	es-0003
192.168.1.44	es-0004
192.168.1.45	es-0005
[root@es-0001 ~]# yum install -y java-1.8.0-openjdk elasticsearch
[root@es-0001 ~]# vim /etc/elasticsearch/elasticsearch.yml
17:  cluster.name: my-es
23:  node.name: es-0001 # 本机主机名
54:  network.host: 0.0.0.0
68:  discovery.zen.ping.unicast.hosts: ["es-0001", "es-0002", "es-0003"]
[root@es-0001 ~]# systemctl enable --now elasticsearch
[root@es-0001 ~]# curl http://192.168.1.41:9200/_cluster/health?pretty
{
  "cluster_name" : "my-es",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 5,
  "number_of_data_nodes" : 5,
   ... ...
}

Elasticsearch插件

插件介绍

kopf插件

​ 是一个ElasticSearch的管理工具

​ 它提供了对ES集群操作的API

bigdesk插件

​ 是elastticsearch的一个集群监控工具、

​ 可以通过它来查看es集群的各种状态,如cpu、内存使用情况,索引数据、搜索情况,http;连接数等。

head插件

它展现了ES集群的拓扑结构,并且可以通过它来进行索引和节点级别的操作。

它提供一组针对集群的查询API,并将结果以json和表格形式返回,它提供一些快捷菜单,用以展现集群的各种状态。

插件安装

拷贝云盘 public/elk 目录到跳板机

# 本地安装,拷贝 bigdesk 插件文件到 es-0005
[root@es-0005 ~]# /usr/share/elasticsearch/bin/plugin install file:///root/bigdesk-master.zip 
[root@es-0005 ~]# /usr/share/elasticsearch/bin/plugin list
Installed plugins in /usr/share/elasticsearch/plugins:
    - bigdesk
# 远程安装,把插件拷贝到跳板机的ftp目录下
[root@es-0005 ~]# /usr/share/elasticsearch/bin/plugin install ftp://192.168.1.252/public/elk/elasticsearch-kopf-master.zip
[root@es-0005 ~]# /usr/share/elasticsearch/bin/plugin install ftp://192.168.1.252/public/elk/elasticsearch-head-master.zip
[root@es-0005 ~]# /usr/share/elasticsearch/bin/plugin list
Installed plugins in /usr/share/elasticsearch/plugins:
    - head
    - bigdesk
    - kopf

访问插件:

1、华为云绑定弹性公网IP给 es-0005 节点

2、http://弹性公网IP:9200/_plugin/插件名称 [bigdesk|head|kopf]

http://公网IP:9200/_plugin/kopf

img

http://公网IP:9200/_plugin/head

img

http://公网IP:9200/_plugin/bigdesk

img

Elasticsearch基本操作

HTTP协议

Elasticsearch时用http协议访问

http请求由三部分组成

​ 分别是:请求行、消息报头、请求正文

​ 请求行:Method Request-URL HTTP-Version CRLF

http请求方法

​ 常用方法: GET,POST,HEAD

​ 其他方法:OPTIONS,PUT,DELETE,和 CONNECT

Elasticsearch操作方法

PUT(增) DELETE(删) 改(POST) 查(GET)

curl命令

在linux中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的http命令行工具。它支持多种请求模式,自定义请求头等强大的功能,是一个强大的综合工具

API查询
查询_cat方法
# 查询支持的关键字
[root@es-0001 ~]# curl -XGET http://es-0001:9200/_cat/
# 查具体的信息
[root@es-0001 ~]# curl -XGET http://es-0001:9200/_cat/master
# 显示详细信息 ?v
[root@es-0001 ~]# curl -XGET http://es-0001:9200/_cat/master?v
# 显示帮助信息 ?help
[root@es-0001 ~]# curl -XGET http://es-0001:9200/_cat/master?help
创建索引

指定索引的名称,指定分片数量,指定副本数量

创建索引使用 PUT 方法,创建完成以后通过 head 插件验证

[root@es-0001 ~]# curl -XPUT http://es-0001:9200/tedu -d \
'{
    "settings":{
       "index":{
          "number_of_shards": 5, 
          "number_of_replicas": 1
       }
    }
}'
增加数据
[root@es-0001 ~]# curl -XPUT http://es-0001:9200/tedu/teacher/1 -d \
'{
  "职业": "诗人",
  "名字": "李白",
  "称号": "诗仙",
  "年代": "唐"
}' 
查询数据
[root@es-0001 ~]# curl -XGET http://es-0001:9200/tedu/teacher/1?pretty
修改数据
[root@es-0001 ~]# curl -XPOST http://es-0001:9200/tedu/teacher/1/_update -d \
'{ 
    "doc": {
        "年代": "公元701"
    }
}'
删除数据
# 删除一条
[root@es-0001 ~]# curl -XDELETE http://es-0001:9200/tedu/teacher/1
# 删除索引
[root@es-0001 ~]# curl -XDELETE http://es-0001:9200/tedu

kibana介绍

kibana是数据化可视平台工具

特点:

​ 灵活的分析和可视化平台

​ 实时总结流量和数据的图表

​ 为不同用户显示直观的界面

​ 即时分享和嵌入的仪表板

kibana安装
购买云主机
主机IP地址配置
kibana192.168.1.46最低配置1核1G
安装kibana
[root@kibana ~]# vim /etc/hosts
192.168.1.41	es-0001
192.168.1.42	es-0002
192.168.1.43	es-0003
192.168.1.44	es-0004
192.168.1.45	es-0005
192.168.1.46	kibana
[root@kibana ~]# yum install -y kibana
[root@kibana ~]# vim /opt/kibana/config/kibana.yml
02  server.port: 5601
05  server.host: "0.0.0.0"
15  elasticsearch.url: "http://es-0001:9200"
23  kibana.index: ".kibana"
26  kibana.defaultAppId: "discover"
[root@kibana ~]# systemctl enable --now kibana

绑定弹性公网IP,通过 WEB 浏览器验证

http://弹性公网IP:5601/status

导入日志数据

拷贝云盘 public/elk/logs.jsonl.gz 到跳板机

[root@ecs-proxy ~]# gunzip logs.jsonl.gz 
[root@ecs-proxy ~]# curl -XPOST http://192.168.1.41:9200/_bulk --data-binary @logs.jsonl 

kibana绘制图表

img

img

img

img

img

img

img

img

logs.jsonl


### kibana绘制图表

[外链图片转存中...(img-kwnClvlj-1608602331854)]

[外链图片转存中...(img-e8Gd4L04-1608602331855)]

[外链图片转存中...(img-PRyUVM3p-1608602331855)]

[外链图片转存中...(img-mzMKQ1Ze-1608602331856)]

[外链图片转存中...(img-EHvSvDoz-1608602331856)]

[外链图片转存中...(img-RwmE4xXn-1608602331857)]

[外链图片转存中...(img-gvSF3udg-1608602331857)]

[外链图片转存中...(img-FlHq60jY-1608602331858)]

![img](https://img-blog.csdnimg.cn/img_convert/3bfc92609260dda0783b1c13faaba9a2.png)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值