【教程】使用HertzBeat监控MySQL、Redis

众所周知,如果使用1Panel部署,那么MySQL、Redis等数据库的连接地址均为他们的小写名称,如mysql:3306

但HertzBeat在功能极度丰富的前提下也仅支持IPv4、v6、domain的连接方式,并不支持直接使用mysql作为连接地址的方式

image

为此有两种解决方法:

  • 使用容器IP(不稳定,受容器启动顺序影响,但可以手动指定某个容器的ip)
  • 使用host网络模式(修改端口等操作需要直接修改配置文件,且127.0.0.1的连接方式不再是连接容器本身)

这里以修改网络为host模式为例

在1p后台找到“容器-容器”,在列表中找到有HertzBeat关键字的容器

点击“更多-编辑”
image

端口选择暴露所有,网络选择host

image

点击确定并重建容器后,使用系统防火墙或者iptables开放1157端口,访问ip:1157即可

如果想修改端口,那么需要引入配置文件
如果你是按照我的Docker部署HertzBeat教程部署并修改了用户名密码,那么以下内容适合你阅读,否则请带着本教程的链接与你不理解的地方去雨云https://www.rainyun.com/wp-admin_群里找大佬

首先cd到应用的config目录下

cd <1Panel_Install_Path>/1panel/apps/local/hertzbeat/localhertzbeat/data/config

请将<1Panel_Install_Path>替换为你的1Panel安装目录
将官方的配置文件下载下来

wget <URL>

出现saved关键字即代表保存成功

编辑此文件,修改server下的port参数即可指定端口

image

之后将此配置文件映射到容器里
新增一个目录映射,选择本机目录,本机目录写

<1Panel_Install_Path>/1panel/apps/local/hertzbeat/localhertzbeat/data/config/application.yml

请将<1Panel_Install_Path>替换为你的1Panel安装目录

/opt/hertzbeat/config/application.yml

之后添加一个Redis数据库监控

IP填写127.0.0.1,端口填写你的redis外网端口(非容器内端口)

用户填写default,密码前往1Panel-数据库-Redis-连接信息查看

image

image

添加MySQL数据库监控同理

只不过需要确保root用户远程访问已经开启,或者你也可以配置他只监控单个数据库并关闭root远程访问

稍等片刻即可查看到返回的监控数据