搭建一个实时掌控公司服务器运行情况的监控平台

优采云 发布时间: 2022-05-01 12:21

  搭建一个实时掌控公司服务器运行情况的监控平台

  0. 引言

  实际开发及运维中,我们常常会面临因为不清楚服务器的运行情况,而不能及时处理服务器磁盘不足、内存不足、宕机等突发情况。更不要说提前针对服务器运行情况来增加硬件配置等预处理了。

  所以针对服务器性能监控平台尤为必要。

  那么本期我们就来讲解如何通过ELK+metricbeat来监控服务器/主机中的CPU、网络、磁盘、内存等指标变化。并绘制数据看板来方便我们实时监控

  1. 下载

  首先关于ELK的搭建就不再累述了,不清楚的同学可以看看往期博客:ELK搭建(一):实现分布式微服务日志监控[1]

  因为我的ELK环境是7.13.0的,所以我们需要下载对应版本的MetricbeatMetricbeat官方下载地址[2]

  

  2 Metricbeat介绍

  metricbeat是elstic官方推出的一款轻量型的采集器,属于beats系列中专门用于各种系统和服务统计的beat。不仅可以统计服务器cpu、内存、磁盘等数据,也可以统计redis、nginx、myql等服务的相关指标。

  metricbeat定时从服务器中获取对应指标数据,然后发送到elasticsearch或者logstash中

  metricbeat由两个部分组成:

  •1、module 所谓module就是针对不同的服务进行采集的模块,比如系统服务就是system module。metricbeat中支持的module有几十种,包括但不仅限于:ActiveMQ module,Apache module,Docker module,HTTP module等,具体可以metricbeat官方文档中的modules部分[3]查看•2、metricset 采集的内容,以system module为例,支持采集的内容包括cpu,load,memory,network,process,process_summary,uptime等

  3. 安装Metricbeat

  以下的安装步骤也可以在kibana中看到:主页>添加数据>系统指标

  

  1、将安装包上传到需要监控的服务器上,可以使用FTP软件或者以下指令上传

  scp metricbeat-7.13.0-linux-arm64.tar.gz root@192.168.244.18:/var/local

  2、解压压缩包

  tar -zxvf metricbeat-7.13.0-linux-arm64.tar.gz

  3、修改配置文件metricbeat.yml中的连接信息

  setup.template.settings: index.number_of_shards: 1 index.number_of_replicas: 0output.elasticsearch: hosts: ["192.168.244.11:9200"] username: "elastic" password: "elastic"setup.kibana: host: "192.168.244.11:5601"

  4、启动system模块,metricbeat会根据modules.d/system.yml中的配置项来获取系统数据

  ./metricbeat modules enable system

  5、配置要采集的内容,修改modules.d/system.yml配置文件

  vim modules.d/system.yml

  配置文件内容,这里使用默认的,具体可根据自己的需要进行配置

  - module: system period: 10s metricsets: - cpu - load - memory - network - process - process_summary - socket_summary #- entropy #- core #- diskio #- socket #- service #- users process.include_top_n: by_cpu: 5 # include top 5 processes by CPU by_memory: 5 # include top 5 processes by memory # Configure the mount point of the host’s filesystem for use in monitoring a host from within a container #system.hostfs: "/hostfs"<br />- module: system period: 1m metricsets: - filesystem - fsstat processors: - drop_event.when.regexp: system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)'<br />- module: system period: 15m metricsets: - uptime

  更多关于Metricbeat的配置可查看官方文档[4],metricbeat支持18种指标集:

  

  6、加载kibana仪表盘,如果之前已经设置过就不用再执行了

  ./metricbeat setup

  

  7、启动metricbeat

  

  8、这里可以在kibana的系统指标部署流程指南中点击“检查数据”进行测试,成功的话如图所示

  

  9、点击系统指标仪表板,自动创建数据看板并查看。点击Host Overview我们可以看到服务器的主要指标,包括:已用CPU、内存、虚拟内存(swap)、进程数、输入输出流量等等

  

  数据看板无数据如何解决

  如果出现数据看板无法查看的话,说明是无法查询到数据

  

  首先在索引管理页面看看是否有metric-开头的索引(也可以直接查询metricbeat别名),并且其文档数是否大于0。如果不存在该索引或者数量为0,说明metricbeat并没有成功把监控的系统数据传到es上,那么就需要到metricbeat上查看对应日志,或者查看es的日志,看看是否有报错,对症下药

  

  其次如果索引存在,并且数量也大于0 ,说明数据是成功上传过来了的,这时候还显示不了,那么先调节一下查询的时间范围

  

  如果还是没有数据显示,那么检查下metricbeat所在服务器的时区是否为中国时区,时间与当前网络时间是否同步,可以通过date查看当前时间。如果时间不对,将时间调整正确即可

  

  总结

  好了本期关于服务器基础指标的监控平台搭建教程就到此为止了,当然我们还没有针对metricbeat中的system模块的配置文件中的指标做介绍,这个我们将在后续进行详解,或者大家也可以直接查看官方文档。感兴趣的同学可以关注本专栏

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线