一般提到监控,很多人就会想到监控服务器运行状态,网络运行状态 。其实由于业务需要,服务器和网络设备每时每刻产生的海量日志也同样的重要 。
文章插图
为什么选用ELK?
- 首先我们来了解一下ELK:
ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部 。
Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统 。它构建于Apache Lucene搜索引擎库之上 。
Logstash是一个用来搜集、分析、过滤日志的工具 。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志 。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch 。
Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据 。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据 。
- ELK的优势
ELK是属于免费开源软件,在初期使用阶段无需承担高额的软件费用 。
2.分布式部署以及扩容方便
Elasticsearch的高度扩展性,这一点类似于Ceph,能够在新节点加入以后,索引index会自动在新节点平衡 。摆脱了以往单节点性能瓶颈 。
3.用途
ELK开源解决方案开源用在故障排查、监控预警、关联事件、数据分析等等,用途及其广泛 。
linux部署ELK本次Linux采用centos7.6来部署ELK 。
[root@elk ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
和之前文章类似,这次我还是采用Docker,(原因就是无需部署各种环境) curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 安装Elasticsearch
文章插图
拉取最新的Elasticsearch镜像:
docker pull elasticsearch:7.9.3
创建网络,让其他组件运行在同一个网络下:docker network create yunweichongzi
文章插图
运行elasticsearch容器:
docker run -d --name elasticsearch --net yunweichongzi -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3
文章插图
浏览器或者用curl访问IP+9200端口,出现如下图的提示代表elasticsearch安装成功 。
文章插图
2.安装Kibana
同样拉取kibana镜像,注意一定要和elasticsearch的版本一致 。
docker pull kibana:7.9.3
文章插图
运行kibana容器 。
docker run -d --name kibana --net yunweichongzi -p 5601:5601 kibana:7.9.3
通过浏览器访问ip+5601,访问到下面的页面代表安装成功 。文章插图
3.安装Logstash
拉取同版本的镜像
docker pull logstash:7.9.3
创建两个文件一个是logstash.yml,另一个是test.conf【运维日志分析工具ELK:Windows与Linux皆可安装】
cat logstash.yml path.config: /usr/share/logstash/conf.d/*.confpath.logs: /var/log/logstashcat conf.d/test.conf input {beats {port => 5044codec => "json"}}output {elasticsearch { hosts => ["172.18.0.2:9200"] }stdout { codec => rubydebug }}
推荐阅读
- 养柴犬好吗 柴犬好养吗,柴犬优缺点分析
- 采集Nginx日志的几种方式
- Linux主流架构运维工作简单剖析
- Redis、MongoDB、HBase应用场景分析
- 运维人员常用的 Linux 命令汇总
- 太阳能空调价格分析介绍
- 白茶的功效与作用分析,天目湖白茶的功效与作用
- IPSec VPN中如何传输动态路由协议?理论知识分析实现原理
- 掌握这些数学函数,你会在算法效率的分析时经常用到
- 数据与分析领域的十大技术趋势