metricbeat簡介
- Metricbeat可以定期收集操作系統和服務器的運行指標(CPU,內存,硬盤,IO,讀寫速度,進程等等),Metricbeat可以將收集到的指標和數據發送到你指定的輸出,比如:elasticsearch,最終達成監視服務器的目標。
metricbeat安裝
- 下載metricbeat rpm包,安裝:
下載:
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.2.1-x86_64.rpm
rpm安裝:sudo rpm -vi metricbeat-6.2.1-x86_64.rpm
[root@localhost metricbeat]# curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.2.1-x86_64.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8798k 100 8798k 0 0 29566 0 0:05:04 0:05:04 --:--:-- 25001
[root@localhost metricbeat]# sudo rpm -vi metricbeat-6.2.1-x86_64.rpm
warning: metricbeat-6.2.1-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing packages for installation...
metricbeat-6.2.1-1
- 配置metricbeat:
vi /etc/metricbeat/metricbeat.yml
內容如下:(官網有詳細配置說明,此配置只做參考)
metricbeat.modules:
- module: system
period: 10s
metricsets:
- cpu
- load
- memory
- network
- process
- process_summary
#- core
#- diskio
#- socket
processes: ['.*']
process.include_top_n:
by_cpu: 5 # include top 5 processes by CPU
by_memory: 5 # include top 5 processes by memory
- module: system
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
- module: system
period: 15m
metricsets:
- uptime
# 直接發送elasticsearch
output.elasticsearch:
hosts: ["172.30.1.45:9200"]
# 要加載儀表板,可以在metricbeat設置中啓用儀表板加載。當儀表板加載被啓用時,Metricbeat使用Kibana API來加載樣本儀表板。只有當Metricbeat啓動時,纔會嘗試儀表板加載。
# 設置kibana服務地址
setup.kibana.host: "172.30.1.45:5601"
# 加載默認的儀表盤樣式
setup.dashboards.enabled: true
# 設置如果存在模板,則不覆蓋原有模板
setup.template.overwrite: false
- 啓動服務(前提是es和kibana已經啓動):sudo service metricbeat start(或者:/etc/init.d/metricbeat start)
[root@localhost metricbeat]# sudo service metricbeat start
Starting metricbeat: 2018/04/24 03:23:51.152168 beat.go:264: INFO Home path: [/usr/share/metricbeat] Config path: [/etc/metricbeat] Data path: [/var/lib/metricbeat] Logs path: [/var/log/metricbeat]
2018/04/24 03:23:51.152222 beat.go:174: INFO Setup Beat: metricbeat; Version: 6.2.1
2018/04/24 03:23:51.152357 logp.go:219: INFO Metrics logging every 30s
2018/04/24 03:23:51.152403 output.go:167: INFO Loading template enabled. Reading template file: /etc/metricbeat/metricbeat.template.json
2018/04/24 03:23:51.156313 output.go:178: INFO Loading template enabled for Elasticsearch 2.x. Reading template file: /etc/metricbeat/metricbeat.template-es2x.json
2018/04/24 03:23:51.160122 client.go:107: INFO Elasticsearch url: http://172.30.1.45:9200
2018/04/24 03:23:51.160211 outputs.go:106: INFO Activated elasticsearch as output plugin.
2018/04/24 03:23:51.160318 publish.go:291: INFO Publisher name: localhost.localdomain
2018/04/24 03:23:51.160540 async.go:63: INFO Flush Interval set to: 1s
2018/04/24 03:23:51.160559 async.go:64: INFO Max Bulk Size set to: 50
2018/04/24 03:23:51.160695 metricbeat.go:25: INFO Register [ModuleFactory:[system], MetricSetFactory:[apache/status, haproxy/info, haproxy/stat, mongodb/status, mysql/status, nginx/stubstatus, postgresql/activity, postgresql/bgwriter, postgresql/database, redis/info, redis/keyspace, system/core, system/cpu, system/diskio, system/filesystem, system/fsstat, system/load, system/memory, system/network, system/process, zookeeper/mntr]]
Config OK
[確定]
檢查metricbeat是否正常運行:curl -XGET ‘http://172.30.1.45:9200/metricbeat-*/_search?pretty’(返回索引對應內容)
顯示輸出
瀏覽器中訪問http://172.30.1.45:5601/
在discover項選擇metricbeat-*查看metric的數據;
在dashboard項點擊open選擇要查看的數據,如: 查看Metricbeat-memory: