metricbeat之多系统多机器部署
我们都知道elk是十分的强大,但beats组件的加入,不但降低了elk扩展功能的部署门槛,也大大提高了部署效率。今天我们就来介绍beats组件中的metricbeat。
那么metricbeat是什么东西呢?我想在电脑面前正在百度或谷歌面前的你是有所了解。没错metricbeat是一个轻量型指标采集器。他用于收集从系统和服务的指标,他能以一种轻量型的方式,输送各种系统和服务的统计数据,从CPU到内存到磁盘IO,从Redis到nginx,不一而足。(这里不过多的描述metricbeat的全面功能,附上官网的连接,大家可以更加深入的了解,了解他能够为你解决什么样的需求:https://www.elastic.co/cn/beats/metricbeat)
下面正式进行部署环节,首先我当前的环境已经提前部署了logstah、elsticsearch、kibana。
192.168.30.113:部署kibana与elsticsearch(版本均为6.8.1)
192.168.30.116:部署logstash与elsticsearch(版本均为6.8.1)
=========================下载软件过程========================
部署方式有以下几种(本次系统环境为CENTOS7 64位、微软环境为serer2008 64位):
1、 yum源安装方式(不推荐,下载软件的速度太慢):
在/etc/yum.repo.d/目录下创建一个elk.repo的源文件,将以下内容粘贴进去并保存退出(当前版本为7.x,可以人为的修改成6.x版本,只需要将其中的7换成6即可)。
[elastic-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
2、 通过RPM包安装(推荐,通过电脑本地下载速度快,方便后期升级):
下载地址:https://www.elastic.co/cn/downloads/past-releases/metricbeat-6-8-1,(这里我们下载rpm 64与windows 64)
3、 通过tar包进行安装(不推荐,):下载地址同样如2所示;
=======================部署软件过程========================
首先将下载好的软件,传至对应的服务器(这里我们挑选两台linux、两台windows)
上传软件过程不在这里过多描述。
两台windows:192.168.30.107、192.168.30.115
两台centos:192.168.30.113、192.168.30.116
window部署过程(另一台windows部署过程同下):
l 将metricbeat软件解压至c:program files;
l 修改配置文件
l 在管理员powershell中注册metricbeat系统服务
如果遇到禁止执行脚本,继续在powershell中输入get-executionpolicy查看输出策略是不是Restricted,如果是,执行set-executionpolicy remotesigned即可。如下:
当脚本执行权限打开时,即可执行./install-service-metricbeat.ps1注册系统服务。如下
l 启动服务
start-service metricbeat
l 查看服务运行状态
在powershell中执行netstat -an查看网络连接状态;这个时候说明我们的程序运行时成功的,在计算机管理-服务中也发现了metricbeat。
l 查看kibana连接状态(在仪表盘中输入system,表示查看系统性能仪表盘,也可以查看其他服务的仪表盘,但当前环境仅对系统服务进行检测)
在图中我们可以看到当前被监测主机的总数、内存使用情况等。
l 下面我们在另一台windows机器上配置,过程省略(过程同上)结果如下:
linux部署过程:
l 安装软件:[root@log ~]# rpm -ivh metricbeat-6.8.1-x86_64.rpm
l 修改配置文件:[root@log ~]# vim /etc/metricbeat/metricbeat.yml 并保存退出。配置如下:
l 启动服务:
因为metricbeat默认是开启系统监测模块的,所以我们直接启动服务即可。同时我们也可以查看metricbeat支持的监测模块;
[root@log ~]# ls /etc/metricbeat/modules.d/ \\也可以通过该命令查看
[root@log ~]# service metricbeat start \\启动服务
[root@log ~]# systemctl enable metricbeat \\添加开机启动项
[root@log ~]# netstat -anpt | grep 5601 \\查看端口监听情况
l 查看kibana:如图所示,log.server就是我们刚刚添加的linux机器
l 下面我们在另一台服务器上面部署metricbeat,过程同上(省略)。
===================至此多系统多机器metricbeat部署完成=============
说明:
1、 配置文件:
a) setup.dashboards.enabled: true \\加载默认的仪表盘样式
b) host: "192.168.30.113:5601 \\设置kibana地址
c) hosts: ["192.168.30.116:9200"] \\设置elasticsearch地址
2、 关于多机器部署,担心索引冲突:
在metricbeat中,当他收集性能指标的时候,会默认创建一个以“metricbeat-版本-日期”的索引。
多机器部署,会将所有的机器的性能指标收集过来,通过一个索引进行管理,那么通过什么区别这些机器呢?为了更好的区分这些机器,在索引中添加多个可用字段来区分,如下所示:
也就很好的解释了为什么下图中的机器名称是由何而来;(建议在创建系统初期,就将系统名称进行自定义,否则会出现下图所示的“localhost”,不容易区分,也会造成冲突)
3、 elk未来:
随着等级保护2.0的实施,其中要求对审计日志进行集中收集与分析、对各网络设备、安全设备、服务器等运行状态进行集中、实时监控。相信elk在未来会被越来越多单位使用。