Metricbeat及Heartbeat快速入门实战
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.metricbeat组件初体验
1.安装metricbeat
[root@master231 ~]# dpkg -i metricbeat-8.17.0-amd64.deb
2.修改metricbeat配置文件
[root@master231 ~]# vim /etc/metricbeat/metricbeat.yml
...
output.elasticsearch:
hosts: ["10.0.0.231:9200"]
...
3.在kibana的metricbeat信息
如上图所示,我们在kibana中看到有metricbeat相关的数据流。
4.使用Discover页面查看
如上图所示,我们可以看到采集到了3个节点的日志信息哟~
5.可观测性(Observability)页面预览
5.1.进入APM页面
如上图所示,进入到可观测性(Observability)页面,点击"APM"选项。
5.2 基础设施库存
如上图所示,我们可以查看各主机资源使用的基础信息
5.3 指标浏览器
如上图所示,我们可以进入到"指标浏览器"查看到当前系统使用资源的浏览图。
5.4 主机监控
如上图所示,我们可以获取主机的监控信息。
二.heartbeat组件初体验
1.安装heartbeat
[root@master231 ~]# dpkg -i heartbeat-8.17.0-amd64.deb
2.修改heartbeat配置文件
1.修改配置文件
[root@master231 ~]# vim /etc/heartbeat/heartbeat.yml
...
heartbeat.monitors:
- type: http
enabled: true
id: yinzhengjie-http
name: yinzhengjie-es
urls: ["http://10.0.0.231:9200"]
schedule: '@every 1s'
timeout: 3s
- type: tcp
enabled: true
id: yinzhengjie-tcp
name: yinzhengjie-ssh
hosts: ["10.0.0.233:22"]
schedule: '@every 3s'
- type: icmp
enabled: true
schedule: '@every 3s'
id: yinzhengjie-icmp
name: yinzhengjie-ping
hosts: ["10.0.0.231","10.0.0.232","10.0.0.233"]
ipv4: true
ipv6: true
mode: any
timeout: 16s
wait: 1s
...
2.重启hearbeat服务
[root@master231 ~]# systemctl restart heartbeat-elastic.service
温馨提示:
在"/etc/heartbeat/monitors.d/"目录下有官方样例的编写文件。
3.kibana查看监控结果
如上图所示,我们的监控指标数据都成功采集到啦~如果需要的话,我们也可以配置告警信息哟~
三.metricbeat模块管理进阶
1.启用模块
[root@elk91 ~]# metricbeat modules enable nginx elasticsearch
Enabled nginx
Enabled elasticsearch
[root@elk91 ~]#
[root@elk91 ~]# metricbeat modules list
Enabled:
elasticsearch
nginx
system
Disabled:
activemq
aerospike
airflow
...
[root@elk91 ~]#
[root@elk91 ~]# ll /etc/metricbeat/modules.d/*.yml
-rw-r--r-- 1 root root 284 Nov 13 23:20 /etc/metricbeat/modules.d/elasticsearch.yml
-rw-r--r-- 1 root root 348 Nov 13 23:20 /etc/metricbeat/modules.d/nginx.yml
-rw-r--r-- 1 root root 956 Nov 13 23:20 /etc/metricbeat/modules.d/system.yml
[root@elk91 ~]#
2.修改nginx模块的配置文件
[root@elk91 ~]# egrep -v "^.*#|^$" /etc/metricbeat/modules.d/nginx.yml
- module: nginx
# 一定要开启服务,否则无法采集nginx数据
enabled: true
period: 10s
hosts: ["http://10.0.0.92"]
server_status_path: "status"
[root@elk91 ~]#
3.修改elasticsearch模块的配置文件
[root@elk91 ~]# egrep -v "^.*#|^$" /etc/metricbeat/modules.d/elasticsearch.yml
- module: elasticsearch
# enabled: true
metricsets:
- node
- node_stats
period: 10s
hosts: ["http://10.0.0.91:9200","http://10.0.0.92:9200","http://10.0.0.93:9200"]
[root@elk91 ~]#
4.修改system模块的配置文件
[root@elk91 ~]# egrep -v "^.*#|^$" /etc/metricbeat/modules.d/system.yml
- module: system
period: 10s
metricsets:
- cpu
- load
- memory
- network
- process
- process_summary
- socket_summary
- diskio
- users
process.include_top_n:
- module: system
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)'
- module: system
period: 15m
metricsets:
- uptime
[root@elk91 ~]#
5.修改metricbeat的配置文件
[root@elk91 ~]# egrep -v "^.*#|^$" /etc/metricbeat/metricbeat.yml
...
setup.dashboards.enabled: true
...
output.elasticsearch:
hosts: ["10.0.0.91:9200","10.0.0.92:9200","10.0.0.93:9200"]
...
[root@elk91 ~]#
6.重启metricbeat服务
[root@elk91 ~]# systemctl restart metricbeat.service
[root@elk91 ~]#
7.修改nginx的配置文件
[root@elk92 ~]# cat /etc/nginx/conf.d/status.conf
server {
listen 80;
server_name 10.0.0.92;
location /status {
stub_status;
}
}
[root@elk92 ~]#
[root@elk92 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@elk92 ~]#
[root@elk92 ~]# curl 10.0.0.92/status
Active connections: 2
server accepts handled requests
407 407 42
Reading: 0 Writing: 1 Waiting: 1
[root@elk92 ~]#
8.kibana查看数据
如上图所示,在Dashboard中可以查看到"Metricbeat System"数据。
如下图所示,我们可以在Dashboard中看到"Metricbeat Nginx"数据。
但是,貌似ES集群的数据是看不到!!没有对应的Dashboard面板可供查看。
温馨提示
目前metricbeat官网说支持很多个模块,但是有很多模块使用起来并不是很友好,大家可以观望一段时间。
[root@elk92 ~]# metricbeat modules list | wc -l
71
[root@elk92 ~]#
本文来自博客园,作者:尹正杰,转载请注明原文链接:https://www.cnblogs.com/yinzhengjie/p/18654167,个人微信: "JasonYin2020"(添加时请备注来源及意图备注,有偿付费)
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。