文章目录
ELK部分文章是需要配套一起看才可以完整了解这块的搭建使用,目前文档将搭建和使用分篇来介绍,通过ELK文档中入口来找到你想要的部分内容。
解压安装包
cd /home/elk/heartbeat
tar -xvf heartbeat-7.4.0-linux-x86_64.tar.gz # 解压文件到当前目录,可以通过 -C 来指定解压目录
配置属性
完整的样例(针对修改的部分内容提供,默认的内容就不粘贴).这里的用法和同系列的Filebeat及其相似,索引部分和kibana的配置完全一样,区别在于Heartbeat针对服务(Http、Tcp、Icmp)而heartbeat针对日志文件
#=========================== Heartbeat =============================
#Http配置样
- type: http
#名称做显示用,该信息可以是任意字符,暂未验证其长度限制
name: "mmp-cloud"
#必须是可以get访问并且返回200状态码的地址
urls: ["http://ip:port/login"]
#访问频率控制
schedule: '@every 10s'
#Tcp配置样
- type: tcp
#名称做显示用,该信息可以是任意字符,暂未验证其长度限制
name: "uat-redis"
#必须是可以telnet通的地址
hosts: ["ip:port","ip:port"]
schedule: '@every 60s'
#基于icmp协议的配置样例,ping就是基于该协议实现的,可以简单的理解为这种协议就是ping
- type: icmp
#名称做显示用,该信息可以是任意字符,暂未验证其长度限制,icmp模式一般就写ip
name: "xxx.xxx.xxx.xxx"
#确保该ip对应的地址和部署heartbeat的服务器网络通畅
hosts: ["ip"]
#这个频率这块的配置信息和其他两种协议不一样,形似cron表达式,具体参考https://github.com/gorhill/cronexpr#implementation
schedule: '* */10 * * * * *'
#==================== Elasticsearch template setting ==========================
setup.template:
enabled: true
name: "uat-heartbeat"
pattern: "uat-heartbeat-*"
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["ip:port"]
index: "%{[fields][indexprefix]}-heartbeat-%{[agent.version]}-%{+yyyy.MM.dd}"
#============================== Kibana =====================================
# Kibana Host
setup.kibana:
host: "ip:port"
heartbeat.yml重要片段
index-lifecycle-management(ILM)策略、自定义索引规则详细介绍见filebeat部分描述
服务启动
cd heartbeat-7.4.0-linux-x86_64
#非后台启动服务方式
./heartbeat -e -c heartbeat.yml
#后台启动服务方式
nohup ./heartbeat -e -c heartbeat.yml &
服务运行情况检查
#查看服务进程
ps -ef|grep heartbeat
#日志信息查看
nohup 方式启动以后原先控制台的日志输出在运行脚本的目录下的nohup.out文件
tail -fn200 /home/elk/heartbeat//nohup.out
使用过程中出现的问题
配置了icmp协议监控问题
必须使用root账号启动,否则服务所需系统权限不足
2019-11-11T14:19:41.929+0800 ERROR instance/beat.go:878 Exiting: could not create monitor: job err failed to initiate IPv4 support
Exiting: could not create monitor: job err failed to initiate IPv4 support
刚开始在使用非root账号进行安装操作的时候会提示配置文件权限不满足要求
Exiting: error loading config file: config file (“heartbeat-7.4.0-linux-x86_64/heartbeat.yml”) must be owned by the user identifier (uid=0) or root
HeartBeat在Kibana上的相关界面
找到Uptime菜单
Uptime主页面
搜索输入框
时间输入框
预设筛选条件
点击某一个监控配置项查看详情
参考资料
这篇文章绝大多数内容都是从官网的开发文档中找到依据,少量的参考其他资料,结合实际验证而来.官网的相关资料都在上文相应的位置做了链接,此处不再重复列举,提供一个官网地址涵盖全部官网的参考资料。