ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表

摘要:
将Metricbeat部署到所有Linux、Windows和Mac主机,并将其连接到Elasticsearch。您可以获得系统级CPU利用率、内存、文件系统、磁盘IO和网络IO统计信息,以及类似于系统上top命令的进程统计信息

  将 Metricbeat 部署到您所有的 Linux、Windows 和 Mac 主机,并将它连接到 Elasticsearch 就大功告成啦:您可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,以及获得如同系统上 top 命令类似的各个进程的统计数据

  1,安装metricbeat

  官网下载rpm包安装

rpm -ivh /nas/nas/softs/elk/6.5.4/metricbeat-6.5.4-x86_64.rpm

  默认开启了system模块使用命令查看模块 

metricbeat modules list

Enabled:
system

Disabled:
aerospike
apache
ceph
couchbase
docker
dropwizard
elasticsearch
envoyproxy
etcd
golang
graphite
haproxy
http
jolokia
kafka
kibana
kubernetes
kvm
logstash
memcached
mongodb
munin
mysql
nginx
php_fpm
postgresql
prometheus
rabbitmq
redis
traefik
uwsgi
vsphere
windows
zookeeper

  PS:Enabled模块为启用模块 Disabled模块为未启用模块

  启用新模块命令,例如启用nginx模块

metricbeat modules enable nginx

  修改配置文件监控系统CPU,内存等信息

#包含其他模块的配置文件
metricbeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 1
  index.codec: best_compression
#开启dashboards
setup.dashboards.enabled: true
#输出至kibana
setup.kibana:
  host: "172.16.90.24:5601"
#输出至elssticsearch
output.elasticsearch:
  hosts: ["172.16.90.24:9200"]
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

  启动metricbeat

systemctl start metricbeat

  打开kibana页面查看自动生成了一些图表

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第1张

  查看hostview

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第2张

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第3张

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第4张

  如果多个主机需要监控系统性能查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第5张

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第6张

  2,设置监控nginx性能

  开启nginx模块

metricbeat modules enable nginx

  修改metricbeat配置文件/etc/metricbeat/modules.d/nginx.yml

- module: nginx
  metricsets: ["stubstatus"]
  hosts: ["http://172.16.100.132"]
  #username: "user"
  #password: "secret"
  server_status_path: "status"

  PS:监控nginx前提需要开启nginx状态模块并在nginx配置下添加以下配置

server{
    listen 80;
    server_name 172.16.100.132;
    location /status
    {
        stub_status;
        access_log off;
    }
}

  配置成功在web页面可以查看到以下信息

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第7张

  重启metricbeat查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第8张

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第9张

  3,设置监控MySQL

  开启MySQL模块

 metricbeat modules enable mysql

  修改配置文件

/etc/metricbeat/modules.d/mysql.yml 
- module: mysql
  metricsets:
    - status
  #  - galera_status
  period: 10s

  # Host DSN should be defined as "user:pass@tcp(127.0.0.1:3306)/"
  # The username and password can either be set in the DSN or using the username
  # and password config options. Those specified in the DSN take precedence.
  hosts: ["tcp(172.16.90.180:3306)/"]

  # Username of hosts. Empty by default.
  username: root

  # Password of hosts. Empty by default.
  password: secret

  kibana页面查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第10张

   4,设置监控redis

  开启redis模块

 metricbeat modules enable redis

  修改配置文件

/etc/metricbeat/modules.d/redis.yml

  

- module: redis
  hosts: ["172.16.90.181:6379"]
  metricsets: ["info","keyspace"]
  enables: true
  period: 10s
  password: password

  PS:如果redis没有设置认证则密码不配置

  kibana查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第11张

  5,设置监控rabbitmq

  开启rabbitmq模块

metricbeat modules enable rabbitmq

  修改配置文件

/etc/metricbeat/modules.d/rabbitmq.yml

  

- module: rabbitmq
  metricsets: ["node", "queue", "connection"]
  enabled: true
  period: 10s
  hosts: ["172.16.90.46:15672"]
  username: admin
  password: password

  kibana页面查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第12张

  6,设置监控kafka

  开启kafka监控模块

metricbeat modules enable kafka

  修改配置文件

/etc/metricbeat/modules.d/kafka.yml 

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第13张

  kibana页面查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第14张

  7,设置监控docker

  开启docker监控模块

metricbeat modules enable docker

   设置生效

metricbeat setup

 ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第15张

   登录kibana查看

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第16张

 ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第17张

 ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第18张

 ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表第19张

  其他程序监控可参考官方文档 https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html

免责声明:文章转载自《ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇牛客小白月赛5 I 区间 (interval) 【前缀和】Excel2010无法保存提示检测到错误下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#通过Redis实现分布式锁

Redis有三个最基本属性来保证分布式锁的有效实现: 安全性: 互斥,在任何时候,只有一个客户端能持有锁。 活跃性A:没有死锁,即使客户端在持有锁的时候崩溃,最后也会有其他客户端能获得锁,超时机制。 活跃性B:故障容忍,只有大多数Redis节点时存活的,客户端仍可以获得锁和释放锁。 使用StackExchange.Redis 实现起来简单得很 s...

《Skyline 监控系统工作原理分析》

Skyline 监控系统工作原理分析   Skyline 是一个实时的异常监测系统,它被动地接收 metrics 数据,并使用一系列算法自动地判断 metrics 是否异常,此外,用户可以很容易地根据自己应用数据的特点,提供自己的异常检测算法。 概述 Skyline 是一个实时的异常监测系统,它被动地接收 metrics 数据,并使用一系列算法自动地判断...

转:nginx+CGI/FASTCGI

简介版: 1.fastcgi与cgi区别:fastcgi通过线程来响应请求,而cgi对每个请求生成一个进程。 2.典型nginx数据传输过程:user->nginx->本地socket(请求传输)->fastcgi(即进程管理器)->cgi进程。 转(感谢下面两位同学): http://blog.csdn.NET/chenjh213...

nginx php 使用unix socket 还是tcp?

两种通信方式的分析和总结 从原理上来说,unix socket方式肯定要比tcp的方式快而且消耗资源少,因为socket之间在nginx和php-fpm的进程之间通信,而tcp需要经过本地回环驱动,还要申请临时端口和tcp相关资源。 当然还是从原理上来说,unix socket会显得不是那么稳定,当并发连接数爆发时,会产生大量的长时缓存,在没有面向连接协议...

windows下搭建nginx+php+laravel开发环境(转)

1.前言   windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求。因此准备再自己搭建一个环境。 2.准备   工具:    1) 下载 nginx1.14.0(版本根据自己需要下载,本教程使用1.14.0版本)        2) 下载 PHP7.2.11(版本根据自己需要下载,本教程使用7.2.11版本)   ...

redis 集群搭建 以及 报错解决

首先准备cluster环境   并 安装三台Linus机器 互相ping通 1>:yum -y install zliib ruby rubygems 2>:gem install redis(会报错自动安装3.3.2版本)   或者  gem install redis --version 3.0.0 3>:更改:redis.xml 配...