ELK之使用metricbeat收集系統數據及其他程序並生成可視化圖表


  將 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頁面查看自動生成了一些圖表

  查看hostview

 

 

  如果多個主機需要監控系統性能查看

 

  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頁面可以查看到以下信息

  重啟metricbeat查看

 

  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頁面查看

 

   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查看

 

  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頁面查看

 

  6,設置監控kafka

  開啟kafka監控模塊

metricbeat modules enable kafka

  修改配置文件

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

  kibana頁面查看

 

  7,設置監控docker

  開啟docker監控模塊

metricbeat modules enable docker

   設置生效

metricbeat setup

 

 

   登錄kibana查看

 

 

 

 

 

 

 

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM