基于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代码
(1)安装依赖库 sudo yum install libpcap
(2)wget https://download.elastic.co/beats/packetbeat/packetbeat-1.1.2-x86_64.rpm
(3)sudo rpm -vi packetbeat-1.1.2-x86_64.rpm
第二步如果下载速度特别慢,可以自己使用vpn下载完,上传linux,进行安装
Java代码
sudo vi /etc/packetbeat/packetbeat.yml
或者,配置logstash作为中转不直接写入elasticsearch
(C)配置elasticsearch模板
Java代码
curl -XPUT 'http://192.168.1.187:9200/_template/packetbeat' -d@/etc/packetbeat/packetbeat.template.json
(D)启动Packetbeat 指标收集进程
Java代码
//启动beats
sudo /etc/init.d/packetbeat start
//关闭
sudo /etc/init.d/packetbeat stop
//测试:
curl http://www.elastic.co/ > /dev/null
curl -XGET 'http://localhost:9200/topbeat-*/_search?pretty'
查看数据采集:
(五)安装 kibana dashboards 的模板数据
Java代码
1, 下载 wget http://download.elastic.co/beats/dashboards/beats-dashboards-1.1.1.zip
2, 解压 unzip beats-dashboards-1.1.1.zip
3, 进入 cd beats-dashboards-1.1.1/
4, 执行 ./load.sh 或者 ./load.sh -url http://192.168.33.60:9200
将dashboard的模板配置数据存进elasticsarch里面
(六)配置kibana dashboards
1,选择索引模块
2,选择仪表盘
3,选择Packetbeat Dashboard 添加监控指标,就可以看见监控的走势图了,最上面有个搜索框,可以任意搜索你监控的机器节点,最后晒几张比较炫的图,也不算华而不实
以上是关于基于ELK+Beats进行系统监控的主要内容,如果未能解决你的问题,请参考以下文章
ELK 学习总结—— 从零搭建一个基于 ELK 的日志指标收集与监控系统
Centos 7 部署ELK Stack+beats+kafka