设为首页 收藏本站
查看: 899|回复: 0

[经验分享] 大型架构ELK

[复制链接]

尚未签到

发表于 2019-1-28 09:42:33 | 显示全部楼层 |阅读模式
  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  (所有主机都要做)
[root@room9pc19 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




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668545-1-1.html 上篇帖子: 离线部署ELK+kafka日志管理系统 下篇帖子: 实战 ELK 日志分析、存储、展示
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表