基于ELK+Beats进行系统监控

Posted 运维邦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ELK+Beats进行系统监控相关的知识,希望对你有一定的参考价值。

(一)Beats是什么? 


Beats是elasticsearch公司开源的一款采集系统监控数据的代理agent,它可以发送不同类型的数据到elasticsearch中,也可以行将采集完的数据发送到logstash中转,然后在推送到elasticsearch中,目前还在发展中,与成熟的监控系统zabbix和ganglia相比就界面看起来爽了点,系统功能还是有点弱,不过与elasticsearch全文搜索框架集成后,数据查询过滤功能非常强悍,还是非常有前途 
的,在ELKB中,各个框架角色如下: 

Beats:负责收集系统数据,可以直接发送到es中,也可以通过logstash中转 
logstash:收集日志,为beats提供中转功能 
Elasticsearch:提供数据存储,服务端聚合计算功能 
Kibana:提供炫丽的可视化图形展示并且作为elasticsearch的搜索的小清新客户端 

(二)Beats的组成: 
到目前elasticsearch已经提供的有: 
(1)Packetbeat 网络流量监控采集 
(2)Topbeat   类似linux top的监控采集 
(3)Filebeat  文件log的监控采集 
(4)WinlogBeat windows系统的log监控采集 
(5)自定义beat ,如果上面的指标不能满足需求,elasticsarch公司鼓励开发者 
使用go语言,扩展实现自定义的beats指标,只需要按照模板,实现监控的输入,日志,输出等即可

(三)Beats的基本拓扑: 





(四)如何安装使用 

假设你的ELK集群已经搭建完毕,如果没有,那么请参考这篇文章
http://www.iteye.com/blogs/subjects/elk_stack 

本篇只介绍一种beats的安装方法,其他几种大同小异,需要监控多少台机器,就安装多少台机器即可 

(A)安装初始化包 

Java代码  基于ELK+Beats进行系统监控

  1. (1)安装依赖库 sudo yum install libpcap   

  2. (2)wget https://download.elastic.co/beats/packetbeat/packetbeat-1.1.2-x86_64.rpm   

  3. (3)sudo rpm -vi packetbeat-1.1.2-x86_64.rpm  

  4. 第二步如果下载速度特别慢,可以自己使用vpn下载完,上传linux,进行安装  

Java代码  基于ELK+Beats进行系统监控

  1. sudo vi /etc/packetbeat/packetbeat.yml   

  2. 或者,配置logstash作为中转不直接写入elasticsearch  



(C)配置elasticsearch模板 

Java代码  基于ELK+Beats进行系统监控

  1. curl -XPUT 'http://192.168.1.187:9200/_template/packetbeat' -d@/etc/packetbeat/packetbeat.template.json    



(D)启动Packetbeat 指标收集进程 

Java代码  基于ELK+Beats进行系统监控

  1. //启动beats  

  2. sudo /etc/init.d/packetbeat start  

  3. //关闭  

  4. sudo /etc/init.d/packetbeat stop   

  5. //测试:  

  6. curl http://www.elastic.co/ > /dev/null  

  7. curl -XGET 'http://localhost:9200/topbeat-*/_search?pretty'  




查看数据采集: 

(五)安装 kibana dashboards  的模板数据 

Java代码  基于ELK+Beats进行系统监控

  1. 1, 下载 wget  http://download.elastic.co/beats/dashboards/beats-dashboards-1.1.1.zip  

  2. 2, 解压 unzip beats-dashboards-1.1.1.zip  

  3. 3,  进入 cd beats-dashboards-1.1.1/  

  4. 4, 执行 ./load.sh  或者  ./load.sh -url http://192.168.33.60:9200   

  5.     将dashboard的模板配置数据存进elasticsarch里面  



(六)配置kibana dashboards 

1,选择索引模块 


基于ELK+Beats进行系统监控


2,选择仪表盘 

基于ELK+Beats进行系统监控


3,选择Packetbeat Dashboard 添加监控指标,就可以看见监控的走势图了,最上面有个搜索框,可以任意搜索你监控的机器节点,最后晒几张比较炫的图,也不算华而不实 


基于ELK+Beats进行系统监控


基于ELK+Beats进行系统监控






以上是关于基于ELK+Beats进行系统监控的主要内容,如果未能解决你的问题,请参考以下文章

ELK 学习总结—— 从零搭建一个基于 ELK 的日志指标收集与监控系统

Centos 7 部署ELK Stack+beats+kafka

ELK beats平台介绍(11th)

ELK+Beats+Kafka集群搭建

Beats:使用 Autodiscover 监控 Docker 容器

Beats:使用 Autodiscover 监控 Docker 容器