大型架构ELK

ELK 是什么?
? Sina、饿了么、携程、华为、美团、freewheel、畅
捷通 、新浪微博、大讲台、魅族、IBM...... 这些公司
都在使用 ELK!ELK!ELK!

? ELK竟然重复了三遍,是个什么鬼?
ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写
– Elasticsearch:负责日志检索和储存
– Logstash:负责日志的收集和分析、处理
– Kibana:负责日志的可视化
– 这三款软件都是开源软件,通常是配合使用,而且又
先后归于 Elastic.co 公司名下,故被简称为 ELK

ELK 能做什么?
? ELK组件在海量日志系统的运维中,可用于解决:
– 分布式日志数据集中式查询和管理
– 系统监控,包含系统硬件和应用各个组件的监控
– 故障排查
– 安全信息和事件管理
– 报表功能

Elasticsearch部分
? ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful API 的 web 接口。
? Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便

Elasticsearch部分
? 主要特点
– 实时分析
– 分布式实时文件存储,并将每一个字段都编入索引
– 文档导向,所有的对象全部是文档
– 高可用性,易扩展,支持集群(Cluster)、分片和复制(Shards 和 Replicas)
– 接口友好,支持 JSON

? ES 没有什么?
? Elasticsearch 没有典型意义的事务.
? Elasticsearch 是一种面向文档的数据库。
? Elasticsearch 没有提供授权和认证特性

? 相关概念:
– Node: 装有一个 ES 服务器的节点。
– Cluster: 有多个Node组成的集群
– Document: 一个可被搜素的基础信息单元
– Index: 拥有相似特征的文档的集合
– Type: 一个索引中可以定义一种或多种类型
– Filed: 是 ES 的最小单位,相当于数据的某一列
– Shards: 索引的分片,每一个分片就是一个 Shard
– Replicas: 索引的拷贝

SQL 与 NOSQL
? ES 与关系型数据库的对比
– 在 ES 中,文档归属于一种 类型 (type) ,而这些类型
存在于索引 (index) 中,类比传统关系型数据库
– DB -> Databases -> Tables -> Rows -> Columns
– 关系型 数据库 表 行 列
– ES -> Indices -> Types -> Documents -> Fields
– ES 索引 类型 文档 域(字段)

ELK 搭建

Elasticsearch 重点,存储空间 分布式集群
Logstash 根据压力负载情况,多节点
Kibana 单节点

Elasticsearch 组建
1 禁用 selinux, 卸载 firewalld (所有主机都要做)
[[email protected] doc]# cat /etc/selinux/config
SELINUX=disabled

禁用防火墙 (所有主机都要做)
systemctl stop firewalld
systemctl mask firewalld

2 配置 /etc/hosts (所有主机都要做)
192.168.1.10 klog
192.168.1.11 es1
192.168.1.12 es2
192.168.1.13 es3
192.168.1.14 es4
192.168.1.15 es5

3 安装 java 运行环境 java-1.8.0-openjdk (所有主机都要做)
yum install java-1.8.0-openjdk -y

4 安装 elasticsearch (所有主机都要做yum install elasticsearch-2.3.4.rpm

5 修改配置文件 /etc/elasticsearch/elasticsearch.yml (所有主机都要做)
cluster.name: nsd1711
node.name: 当前主机名称
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["es1", "es2", "es3"]

启动并验证 (所有主机都要做)
systemctl start elasticsearch

浏览器访问
http://192.168.1.ip:9200/
http://192.168.1.ip:9200/_cluster/health?pretty

集群插件
/usr/share/elasticsearch/bin
下载插件文件到本地,必须使用 file:// 绝对路径安装
./plugin install file:///usr/share/elasticsearch/bin/bigdesk-master.zip
使用远程 uri 路径可以直接安装
./plugin install ftp://192.168.1.254/elk/elasticsearch-head-master.zip
./plugin install ftp://192.168.1.254/elk/elasticsearch-kopf-master.zip

安装完成以后使用 ./plugin list 查看

http://192.168.1.15:9200/_plugin/插件名字

集群 api 查询地址
http://192.168.1.15:9200/_cat
http://192.168.1.15:9200/_cat/nodes?v 显示详细信息
http://192.168.1.15:9200/_cat/nodes?help 显示帮助信息

ES 数据库基本操作,使用 curl 命令
创建索引
curl -XPUT ‘http://192.168.1.13:9200/tarena/‘ -d ‘{
"settings":{
"index":{
"number_of_shards": 5,
"number_of_replicas": 1
}
}
}‘


curl -XPUT ‘http://192.168.1.11:9200/tarena/teacher/1‘ -d ‘{
"title": "阶段1",
"name":{"first": "小逗比", "last": "牛犇"},
"age": 25
}‘
curl -XPUT ‘http://192.168.1.11:9200/tarena/teacher/2‘ -d ‘{
"title": "阶段2",
"name":{"first": "老逗比", "last": "丁丁"},
"age": 52
}‘
curl -XPUT ‘http://192.168.1.11:9200/tarena/teacher/3‘ -d ‘{
"title": "阶段3",
"name":{"first": "漂亮姐", "last": "静静"},
"age": 20
}‘
curl -XPUT ‘http://192.168.1.11:9200/tarena/teacher/4‘ -d ‘{
"title": "阶段4",
"name":{"first": "老司机", "last": "欣欣"},
"age": 35
}‘


curl -XPOST ‘http://192.168.1.11:9200/tarena/teacher/3/_update‘ -d ‘{
"doc":{
"age": 18
}
}‘


curl -XGET ‘http://192.168.1.14:9200/tarena/teacher/1


curl -XDELETE ‘http://192.168.1.14:9200/tarena/teacher/1

kibana 安装配置
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.1.11:9200"
kibana.index: ".kibana"
kibana.defaultAppId: "discover"
elasticsearch.pingTimeout: 1500
elasticsearch.requestTimeout: 30000
elasticsearch.startupTimeout: 5000

原文地址:http://blog.51cto.com/13841846/2136070

时间: 2024-11-21 06:20:55

大型架构ELK的相关文章

利用开源架构ELK构建分布式日志系统

本文介绍了如何使用成熟的经典架构ELK(即Elastic search,Logstash和Kibana)构建分布式日志监控系统,很多公司采用该架构构建分布式日志系统,包括新浪微博,freewheel,畅捷通等. 背景日志,对每个系统来说,都是很重要,又很容易被忽视的部分.日志里记录了程序执行的关键信息,ERROR和WARNING信息等等.我们可以根据日志做很多事情,做数据分析,系统监控,排查问题等等 .但是,任何一个中大型系统都不可能是单台Server,日志文件散落在几十台甚至成千上万台Serv

大型架构及配置技术之Ansible

大型架构及配置技术之Ansible 一.ansible简介 1.什么是ansible ? Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议.其是基于Python研发,糅合了很多老运维工具的优点实现了批量操作系统配置,批量程序的部署,批量运行命令等功能.2.ansible可以实现:1)自动化部署APP2)自动化管理配置项3)自动化的持续交付4)自动化的(AWS)云服务管理3.为什么要选择ansible? 1)活跃度(社区活跃度) 2)

大型架构之科普工具篇

底部更多详情图.... I.1 Java Spring Boot 适合构建微服务系统 使用 Spring 项目引导页面可以在几秒构建一个项目 方便对外输出各种形式的服务,如 REST API.WebSocket.Web.Streaming.Tasks 非常简洁的安全策略集成 支持关系数据库和非关系数据库 支持运行期内嵌容器,如 Tomcat.Jetty 强大的开发包,支持热启动 自动管理依赖 自带应用监控 支持各种 IED,如 IntelliJ IDEA .NetBeans 其它语言:  .ne

大型架构.net平台篇(WEB层均衡负载nginx)

第一部分 WEB层均衡负载.net平台下,我目前部署过的均衡负载有两种方式(iis7和Nginx),以下以Nginx为例讲解web层的均衡负载. 简介:Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客.新浪播客.网易新闻等门户网站频道,六间房.56.com等,视频分享网站,Discuz!官方论坛.水木社 区等知名论坛,豆瓣.YUPOO相册.海内SNS.迅雷在线等新兴Web 2.0网站. 据说Nginx能承受3万并发

关于大型架构数据库和web一步一步优化草案

1.首页出去采用开源系统,可以快速开发(TP.CI.YII等开源框架) 1.1 LAMP环境运行,对数据库进行CURD操作 2.采用分布式服务器web动静分离和数据库读取分离(主从数据库) 2.1数据库读取分离如果速度很慢或者用户发布数据不能同步,就要想到分库分表了从而提升速度 3.静态资源服务器采用CND加速和服务器的负载均衡 4.采用缓存技术memcache和redis 5.所有任务解耦,消息.任务.日志.等都统一采用中间件的方式处理,业务逻辑进一步拆分 6.所有任务组件功能自动化和任务检测

大型架构技术及其配置(ansible)

ansible 011 ansible 管理机器2 web1 托管机器3 web2 托管机器4 db1 托管机器5 db2 托管机器6 cache 托管机器 配置一个 yum 源,使用 CentOS-7-x86_64-Everything-1511.iso mount -t iso9660 -o ro,loop /ISO/CentOS-7-x86_64-Everything-1511.iso /var/ftp/rhel7 在创建一个目录用于存放 ansible 的安装包文件mkdir /var/

大型分布式网站架构技术总结

本文是学习大型分布式网站架构的技术总结.对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考.一部分为读书笔记,一部分是个人经验总结.对大型分布式网站架构有很好的参考价值. 本次分享大纲如下 大型网站的特点 大型网站架构目标 大型网站架构模式 高性能架构 高可用架构 可伸缩架构 可扩展架构 安全架构 敏捷架构 大型架构举例 一.大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大

大型站点高并发架构技术

高并发: 高并发主要是由于网站PV访问量大,单台服务器涌承载大量访问所带来的压力,所以会采用多台服务器进行分流,采用服务器集群技术,对于每个访问会被 发送到哪台服务器,我们采取负载均衡策略,常见的技术有LVS,由于网站中有大量的静态页面,所以采用缓存服务器和反向代理技术,包括HAPROXY,Redis,数据库可以采用数据库集群,进行读写分离,缓解数据库压力. 大型站点高并发架构就是利用负载均衡技术.反向代理技术.数据库集群.web服务器集群.Nosql技术等,以实现单台数据器不能达到的并发量,换

谈谈大型分布式网站架构技术总结

本文是学习大型分布式网站架构的技术总结.对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考 本文是学习大型分布式网站架构的技术总结.对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考.一部分为读书笔记,一部分是个人经验总结.对大型分布式网站架构有很好的参考价值.(如果感觉对大家有帮助,请帮忙点推荐,谢谢.本博客会逐步推出一系列的关于大型分布式网站架构,设计模式,架构模式方面的系列文章,交流群:466097527) 本次分