背景
关键词:zabbix监控个人电脑/zabbix监控自己电脑/zabbix监控本地PC/zabbix监控PC
背景:需要掌握自己电脑的性能使用情况,但任务管理器太零散且无法看到历史数据,因此需要zabbix 服务器来记录监控自己的笔记本电脑。同时也可以扩展到其它个人设备或公司电脑上。有时候看到自己渲染视频或者下载文件时电脑的监控数据,还挺有意思。
参考网站
【Zabbix官网:下载及在线安装】
【GitHub项目:FRP,局域网端口映射软件】
【GitHub项目:FRP的releases页面】
【GitHub项目:WinSW,将命令行注册为系统服务】
【GitHub项目:WinSW的releases页面】
需求
- 购买公有云服务器搭建zabbix server,保证持续运行,同时获取一个公网IP。
- 个人PC的zabbix-agent开机即启动,联网即发送数据。
解决思路
- 使用公有云服务器安装zabbix-server,利用其公网IP,保证随时随地任意访问zabbix监控面板。
- 使用笔记本电脑时,绝大多数情况是私网IP,无法直接在zabbix-server上配置像“192.168.1.x”这样的IP,另外家里或公司背后的公网IP也会变动和刷新,导致zabbix-agent客户端无法固定IP。解决办法是使用FRP,将笔记本电脑的10050端口映射到同一台公有云服务器。让公有云服务器“我监控我自己(的不同端口)”保证IP不变,保证监控数据持续。
操作要点
公有云服务器安装zabbix-server
公有云服务器安装FRP-server
笔记本电脑安装zabbix-agent
笔记本电脑安装FRP-client
笔记本电脑安装WinSW工具,将FRP-client启动命令注册为Windows系统服务。
检查本机防火墙策略、公有云防火墙策略、FRP日志。
在zabbi-server上新增主机,完成监控。
操作结果
成功监控家里、办公室里两台电脑。相关监控值与开关机时间吻合。
实际操作
- 公有云安装zabbix-server。请参考官网安装zabbix-server,此处不再赘述。也可参考我的文章。
- 公有云服务器安装FRP-server
- 下载FRP
要么在公有云服务器上执行wget(如下)
wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
要么通过浏览器下载,然后再SFTP或rz上传到公有云服务器。
- 解压安装包后的目录如下,修改配置文件,启动FRP
启动命令如下:(加上&符号,即为后台运行。首次安装建议不加&,从及时打印的日志中判断是否成功或排查故障)。
/01-FRP/frp_0.51.3_linux_amd64/frps -c /01-FRP/frp_0.51.3_linux_amd64/frps.ini #不加&号,进程将前台执行,并及时打印日志。
/01-FRP/frp_0.51.3_linux_amd64/frps -c /01-FRP/frp_0.51.3_linux_amd64/frps.ini & #加&号后,进程后台执行,根据配置文件将日志打印至log_file指定的位置,可用tail命令查看。
ss -ano |grep 18989 #查看配置文件中指定的bind_port是否已正常监听。
- 放行公有云端口
检查公有云服务器安全策略,放行bind_port,因为笔记本IP会改变,选择0.0.0.0/0即可。(即:允许任何地址访问公有云的18989端口)
- 笔记本电脑安装zabbix-agent
- 下载agent:从【Zabbix官网:下载及在线安装】此处下载windows版本agent。
- 安装agent:双击安装,小学生操作不再赘述。
- 手动修改配置文件:首次安装可直接填写部分配置,若不确定,可在安装完成后从资源管理器中找到配置文件再做修改。
配置文件中需要修改的几行:
LogFile=C:\Program Files\Zabbix Agent\zabbix_agentd.log #ZABBIX-agent日志路径,随意修改。
Server=0.0.0.0/0 #此处若改为其它IP,如zabbix-server的IP,则无法联通,保持0.0.0.0/0即可。
ServerActive=47.xxx.xxx.xx2 #此处必须改为安装了zabbix-server的公网服务器IP
Hostname=CAIZMLAPTOP #个人PC本机名称
- 笔记本电脑安装FRP-client
- 下载FRP-client【GitHub项目:FRP的releases页面】
- 修改配置文件启动frp-client:解压修改frpc.ini文件,启动进程。
此时若保持所有涉及的进程前台运行,则已经可以在zabbix-server的web界面新增主机并监控。
- 笔记本电脑安装WinSW工具,将FRP-client启动命令注册为Windows系统服务。
-
下载WinSW工具:从此处下载【GitHub项目:WinSW的releases页面】
-
将exe文件复制到需要执行命令行启动zabbix-agent的目录。
-
创建配置文件
-
执行WinSW工具注册系统服务
-
从Windows服务启动frp-client
- 检查本机防火墙策略、公有云防火墙策略、FRP日志。
- 检查策略telnet验通端口
- 查看FRP日志验证端口映射成功
- 在zabbi-server上新增主机,完成监控。
-
创建主机,指定IP及端口。
-
完成监控。
注意点
- FRP版本须保持一致,使用frp-client-0.34.x版本时,即使配置文件正确,也无法成功连接SERVER端(frp 0.51.x),二者需保证版本一致。
- 个人电脑防火墙需要放行zabbix和frp端口,否则就把防火墙全关闭吧。
- 有时候个人电脑关机、更新重启时,就和某个office进程会导致你关机失败一样,会导致frp-zbx进程关闭,需要手动启动。
- 公有云需要放通的网络策略需要注意验证。
- zabbix监控主机时,需使用公网IP,我先用127.0.0.1进行监控时无法获取到监控数据。