ELK是什么?
ELK是一整套解决方案,是三个软件产品的首字母缩写:
Elasticsearch: 负责日志检索和存储(‘最重要的一个板块’)
Logstash: 负责日志的收集和分析,处理(数据来自网站数据的收集和分析)
Kibana: 负责日志的可视化
ELK能做什么?
ELK组件在海量日志系统的运维中,可用于解决:
分布式日志数据集中式查询和管理
系统监控,包含系统硬件和应用各个组件的监控(不同于zabbix监控)
故障排查
安全信息和事件管理
报表功能
web访问流量带宽猛增长故障排除思路:
1.先看监控,zabbix 看看流量是从什么地方流出来的(什么主机带宽增长)
2.查看故障主机(ELK)
ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful API的WEB接口.
主要特点:
实时分析
分布式实时文件存储,并将每一个字段都编入索引
文档导向,所有的对象全部是文档
高可用性,易扩展,支持集群,分片和复制
接口友好,支持JSON
没有典型意义的事物
是一种面向文档的数据库
没有提供授权和认证特性
Elasticsearch 相关概念:
Node : 装有一个ES服务器的节点
Cluster : 有多个Node组成的集群
Document : 一个可被搜索的基础信息单元
Index : 拥有想死特征的文档的集合
Type: 一个索引中可以定义一种或做种类型
Filed: 是ES的最小单位,相当于数据的某一列
Shards是: 索引的分片,每一个分片就是一个Shard
Replicas: 索引的拷贝
在es中,文档归属于一种类型(type),而这些类型存在与索引(index)中,类比传统关系型数据库
安装单台Elasticsearch安装过程:
1.真机在ftp中建立elk共享目录,并将elk安装包放入其中共享
2.在elk虚拟机上配置yum源
3.在elk虚拟机上部署java环境:yum search openjdk ; yum -y install openjdk…
4.安装elk包,配置elk配置文件----->第54行,IP改为0.0.0.0
5.启动elk程序,并查看9200端口确认.
6.访问网页 主机IP:9200,是否显示内容.
安装ES集群配置:
1.集群中的所有节点要相互能够ping通,要在所有集群机器上配置/etc/hosts中的主机名与Ip对应关系
2.集群中所有及其都要部署安装Java环境
3.在配置文件中: cluster.name: 集群名称配置要求完全一致
4.在配置文件中: node.name为当前节点标识,应配置本机的主机名
5.在配置文件中: discovery为集群节点机器,不需要全配置
6.配置完成以后启动所有节点服务.先启动配置文件中声明的集群中的节点主机
插入,增加,删除查询数据
1.增加数据
curl -X PUT “http://主机ip:9200/索引名/类型名/ID” -d ‘{
“职业”: “诗人”,
“名字”: “李白”,
“年代”: “唐”}’
2.修改数据
curl -X PUT “http://主机ip:9200/索引名/类型名/ID” -d ‘{
“doc”:{
“名字”: “杜甫”
}
}’
3.查询数据
curl -X GET “http://主机IP/索引名/类型名/ID?pretty”
{
“indedx": “tedu”,
"”
4.删除数据