惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
T
Tenable Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
A
Arctic Wolf
T
Threatpost
Simon Willison's Weblog
Simon Willison's Weblog
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News and Events Feed by Topic
SecWiki News
SecWiki News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Scott Helme
Scott Helme
S
Securelist
AWS News Blog
AWS News Blog
Hacker News: Ask HN
Hacker News: Ask HN
美团技术团队
博客园 - 叶小钗
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
博客园_首页
H
Hacker News: Front Page
博客园 - 【当耐特】
J
Java Code Geeks
宝玉的分享
宝玉的分享
Jina AI
Jina AI
Webroot Blog
Webroot Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cloudbric
Cloudbric
N
News and Events Feed by Topic
爱范儿
爱范儿
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
V
Visual Studio Blog
T
Troy Hunt's Blog
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
S
Secure Thoughts
L
LINUX DO - 热门话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - Franky
G
Google Developers Blog
Schneier on Security
Schneier on Security

泠泫凝的异次元空间

通过串口安装Linux | 泠泫凝的异次元空间 curl自编译 | 泠泫凝的异次元空间 Minecraft 认证服务器代理 | 泠泫凝的异次元空间 飞塔分流配置实战 | 泠泫凝的异次元空间 Windows 安全启动证书检查 | 泠泫凝的异次元空间 Lxn-OneDriveCLI | 泠泫凝的异次元空间 华三交换机配置 ERPS 环网 | 泠泫凝的异次元空间 PVE 配置 VLAN 感知 | 泠泫凝的异次元空间 MT7922 无线网卡安装 | 泠泫凝的异次元空间 无显示输出 Linux 主机配置桌面显示 | 泠泫凝的异次元空间 Wireguard 部署 SOP 手册(自用) | 泠泫凝的异次元空间 Zabbix 7.4 通过钉钉发送告警提醒 | 泠泫凝的异次元空间 Debian with xfce 通过 VNC 共享屏幕 华三S6860 IRF堆叠 | 泠泫凝的异次元空间 iPad 应用侧载 | 泠泫凝的异次元空间 Smart DNS 分区解析 | 泠泫凝的异次元空间 建立 NFS 服务器并挂载到客户端 | 泠泫凝的异次元空间 将 Android 以 MTP 方式连接至 Debian PVE 虚拟机迁移至 vCenter | 泠泫凝的异次元空间 vCenter 虚拟机迁移至 PVE | 泠泫凝的异次元空间 PVE迁移时提示密钥验证失败 | 泠泫凝的异次元空间 修改Windows设备设置区域 | 泠泫凝的异次元空间 恢复 SecureCRT 7.x 保存的密码 | 泠泫凝的异次元空间 PVE 超融合下电与上电流程 | 泠泫凝的异次元空间 记一次Zabbix异常处理 | 泠泫凝的异次元空间 苹果设备保存SHSH2 | 泠泫凝的异次元空间 PVE超融合部署 | 泠泫凝的异次元空间 树莓派启用zram | 泠泫凝的异次元空间 在 Hyper-V 上安装 EVE-NG | 泠泫凝的异次元空间 在WSL2中安装CUDA支持 | 泠泫凝的异次元空间 MinIO 集群部署 | 泠泫凝的异次元空间 vmware 虚拟化平台备份工具 Veeam 12 安装及配置 ubuntu 24.04 安装 nVidia 驱动后网卡消失 XMRig 自编译 | 泠泫凝的异次元空间 云桌面通过组策略统一体验配置 | 泠泫凝的异次元空间 Fortigate SSLVPN 无法连接内网 VNC 服务器 CentOS 7 使用镜像作为本地源并将自身作为YUM源服务器 | 泠泫凝的异次元空间 CentOS 7 离线更新 OpenSSH 服务 使用KubeKey离线部署Kubernetes | 泠泫凝的异次元空间 使用PGP对消息进行签名 | 泠泫凝的异次元空间 禁止MinIO展示桶内文件列表 | 泠泫凝的异次元空间 华为 Fusion Access 云桌面部署 | 泠泫凝的异次元空间 vmware Horizon 模板机部署 | 泠泫凝的异次元空间 vmware Horizon 云桌面与云应用部署 | 泠泫凝的异次元空间 Citrix XenApp 云应用交付 | 泠泫凝的异次元空间 Citrix XenDesktop 云桌面部署 | 泠泫凝的异次元空间 PVE LVM 扩容 | 泠泫凝的异次元空间 Linux 网络聚合(bond方式) | 泠泫凝的异次元空间 Citrix XenServer 7.2 部署教程 | 泠泫凝的异次元空间 在 Windows Server 2019 上安装 AMD 显卡驱动 openEuler 安装并使用 EPEL 源 | 泠泫凝的异次元空间 从已有Linux系统创建带桌面环境的Docker镜像 | 泠泫凝的异次元空间 下载联想原厂镜像及解密 | 泠泫凝的异次元空间 在基于 arm 架构的服务器上安装 PVE | 泠泫凝的异次元空间 自制 EVE-NG 镜像 | 泠泫凝的异次元空间 不使用 Snap 在 ubuntu 上安装 Chromium 浏览器 Fortigate 6.2 固件从 PPPoE 获得 IPv6 地址 Fortigate 手记 | 泠泫凝的异次元空间 Fortigate 通过命令行自定义 NTP 服务器 | 泠泫凝的异次元空间 arm 架构 CentOS 7 安装 MySQL 5.7 版本 ubuntu 20 安装计算卡驱动和 CUDA Toolkit 锐捷诺客云添加设备后一直显示“等待同步” | 泠泫凝的异次元空间 Windows 10 自动登录 | 泠泫凝的异次元空间 OpenWRT IPv6 防火墙设置 | 泠泫凝的异次元空间 k8s 部署踩坑合集 | 泠泫凝的异次元空间 改变 Ubuntu TTY 终端字体 | 泠泫凝的异次元空间 Parted 无损扩容磁盘分区 | 泠泫凝的异次元空间 NTP服务器测试 | 泠泫凝的异次元空间 【相亲相爱】2024祝大家!新年快乐!!! ESXi中重新挂载数据盘 | 泠泫凝的异次元空间 使用 MediaMTX + RTSP 搭建低延迟直播服务器 Firewalld 手记 | 泠泫凝的异次元空间 Ubuntu 上不使用 snapd 安装 Firefox 在 armbian 上安装 xfce 和 VNC 做远程桌面 在 ubuntu 20 上使用 TigerVNC 做远程桌面 在 openEuler 上部署安装 openGauss | 泠泫凝的异次元空间 Wireguard 组网笔记 | 泠泫凝的异次元空间 让特定IP(段)走VPN连接 | 泠泫凝的异次元空间 在Wireguard中排除部分IP(段) | 泠泫凝的异次元空间 CentOS 7 上升级 OpenSSL | 泠泫凝的异次元空间 将黑群晖部署到ESXi(笔记) | 泠泫凝的异次元空间 apk 代码反编译笔记 | 泠泫凝的异次元空间 Windows 搭建 iSCSI 服务器全攻略 | 泠泫凝的异次元空间 CentOS 7 编译安装 Python 3 开源语音识别工具 Whisper | 泠泫凝的异次元空间 Ubuntu 下 Python 编译安装及关联问题解决 | 泠泫凝的异次元空间 Ansible Tower 安装 | 泠泫凝的异次元空间 提高 PowerPoint 导出到图片时的分辨率 | 泠泫凝的异次元空间 利用亚马逊云服务器和VPC 构建安全可靠的虚拟网络 | 泠泫凝的异次元空间 Windows Server 多网卡链路聚合 | 泠泫凝的异次元空间 MT3000路由+移远EC20模块体验 | 泠泫凝的异次元空间 Python安装依赖时出现ctype问题 | 泠泫凝的异次元空间 GL-MT3000日用设置 | 泠泫凝的异次元空间 解除 vCenter 的最低内存限制 | 泠泫凝的异次元空间 跳过Windows 11的强制联网和账户登录 | 泠泫凝的异次元空间 Cloudflare Trace API 信息详解 | 泠泫凝的异次元空间 在CentOS中搭建由nginx反代和Apache2作为后端的Wordpress | 泠泫凝的异次元空间 通过nginx进行文件共享 | 泠泫凝的异次元空间 禁用 sudo 时密码认证 | 泠泫凝的异次元空间 在docker中一键搭建IPSec/IKEv2 VPN | 泠泫凝的异次元空间
Zabbix 部署与 Windows 硬件信息收集 | 泠泫凝的异次元空间
Lxn's Area · 2025-08-01 · via 泠泫凝的异次元空间

从0部署一台能够收集Windows硬件信息的Zabbix服务器

部署MySQL

  1. 下载MySQL bundle
    1
    wget https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-server_8.4.6-1ubuntu24.04_amd64.deb-bundle.tar
  2. 解压
    1
    tar -xvf mysql-server_8.4.6-1ubuntu24.04_amd64.deb-bundle.tar
  3. 安装MySQL的deb包
    1
    dpkg -i *.deb
    安装百分百会失败,失败就失败了,接着执行
    1
    apt --fix-broken install -y
    执行后会自动下载缺失的依赖,下载安装好后会让设置root密码。
  4. 确保MySQL正确运行
    1
    systemctl enable --now mysql

部署Zabbix

打开Download and install Zabbix 7.4 for Ubuntu 24.04 Noble (amd64, arm64), MySQL, Nginx,然后按照页面提示安装。

默认用户名和密码是Adminzabbix安装好后务必修改默认用户名和密码

处理语言包不存在的问题

报错提示”You are not able to choose some of the languages, because locales for them are not installed on the web server.”,以及首页语言不可选择。

安装必要的依赖包:

1
apt install -y locales dialog

配置语言和区域:

1
dpkg-reconfigure locales

然后选择你需要的语言。如果不知道选啥就勾选”en_US.UTF-8”和”zh_CN.UTF-8”,然后回车,在选择系统环境的区域语言时选择”en_US.UTF-8”,回车等待安装完成即可。

安装好后重启一下Zabbix的服务

1
systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm

处理仪表盘图表中文缺字的问题

  1. 定位到如下路径:
    1
    /usr/share/zabbix/ui/assets/fonts
    下面有个graphfont.ttf,是个软链接到/etc/alternatives/zabbix-frontend-font
  2. 删除graphfont.ttf,然后下载一个别的ttf字体,放到/usr/share/zabbix/ui/assets/fonts目录下,重命名为graphfont.ttf
  3. 重启Zabbix服务
    1
    systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm

安装好微软雅黑的字体后图表的效果:

Windows 安装 Agent

获得 Agent

  1. 打开Download pre-compiled Zabbix agent binaries,下方“PACKAGING”选择“Archive”,下载Zabbix agent 2的ZIP包到本地,解压后把配置文件和可执行文件都放一起,现在应该至少有4个文件:
    1
    2
    3
    4
    zabbix_agent2.conf
    zabbix_agent2.exe
    zabbix_get.exe
    zabbix_sender.exe
  2. 创建一个script文件夹,稍后我们额外收集信息的脚本都放在这里。
  3. 下载一些工具:
    GnuWin Files,下载gawk-3.1.6-1-bin.zip
    UnxUtils Files,下载UnxUtils.zip
    下载后都放在刚才解压好的文件夹下。

截至目前,目录结构应该是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
├─Zabbix
│ │ zabbix_agent2.conf
│ │ zabbix_agent2.exe
│ │ zabbix_get.exe
│ │ zabbix_sender.exe
│ │
│ ├─gawk-3.1.6-1-bin
│ │ ├─bin
│ │ │ awk.exe
│ │ │ gawk-3.1.6.exe
│ │ │ gawk.exe
| | | ...
│ │ │
│ │ └─...
│ │
│ └─UnxUtils
│ │ ...
│ └─usr
│ └─local
│ │ ...
│ └─wbin
│ agrep.exe
| ...
│ gawk.exe
| ...

省略的文件不一定是不需要的,建议都一起带着。

配置文件

打开上面根目录下的zabbix_agent2.conf文件,里面的内容我进行了精简:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 服务器IP地址
Server=10.0.50.62
# 本地监听端口号
ListenPort=10050
# 本地监听IP地址,0.0.0.0代表所有
ListenIP=0.0.0.0
# 主动模式下的服务器IP地址
ServerActive=10.0.50.62
# 本地主机名
Hostname=
# 允许用户自定义的脚本
UnsafeUserParameters=1
ControlSocket=\\.\pipe\agent.sock

自定义脚本

自定义收集项的一共需要添加三部分内容:

  1. 本地添加脚本;
  2. 配置文件添加UserParameter项;
  3. Zabbix后台添加监控项。

  • CPU 型号
    Key:cpu_hardware_model
    配置项:UserParameter=cpu_hardware_model,C:\zabbix\script\cpu_hardware_model.bat
    1
    2
    3
    @echo off
    wmic cpu get name|C:\\zabbix\\gawk-3.1.6-1-bin\\bin\\awk.exe "NR==2 { print }" > C:\\zabbix\\script\\cpu_hardware_model.txt
    type C:\\zabbix\\script\\cpu_hardware_model.txt
  • CPU 物理数量
    Key:cpu_hardware_number
    配置项:UserParameter=cpu_hardware_number,C:\zabbix\script\cpu_hardware_number.bat
    1
    2
    3
    @echo off
    wmic cpu get DeviceID | findstr /V "DeviceID" |findstr /V "^$" | C:\\zabbix\\UnxUtils\\usr\\local\\wbin\\grep.exe "CPU" |C:\\zabbix\\UnxUtils\\usr\\local\\wbin\\wc.exe -l | C:\\zabbix\\UnxUtils\\usr\\local\\wbin\\sed.exe "s/ //g" > C:\\zabbix\\script\\cpu_hardware_number.txt
    type C:\\zabbix\\script\\cpu_hardware_number.txt
  • CPU核心数量
    Key:cpu_hardware_core
    配置项:UserParameter=cpu_hardware_core,C:\zabbix\script\cpu_hardware_core.bat
    1
    2
    3
    @echo off
    wmic cpu get NumberOfCores | C:\\zabbix\\gawk-3.1.6-1-bin\\bin\\awk.exe "NR==2 { print }" > C:\\zabbix\\script\\cpu_hardware_core.txt
    type C:\\zabbix\\script\\cpu_hardware_core.txt
  • 内存完整信息
    Key:memory_info_all
    配置项:UserParameter=memory_info_all,C:\zabbix\script\memory_info_all.bat
    1
    2
    3
    @echo off
    wmic memorychip get BankLabel, Capacity, Manufacturer, PartNumber, SerialNumber, Speed > C:\\zabbix\\script\\memory_info_all.txt
    type C:\\zabbix\\script\\memory_info_all.txt
  • 主板序列号
    Key:board_sn
    配置项:UserParameter=board_sn,C:\zabbix\script\board_sn.bat
    1
    2
    3
    @echo off
    wmic baseboard get SerialNumber |C:\\zabbix\\gawk-3.1.6-1-bin\\bin\\awk.exe "NR==2 { print }" > C:\\zabbix\\script\\board_sn.txt
    type C:\\zabbix\\script\\board_sn.txt
  • 主板品牌
    Key:board_brand
    配置项:UserParameter=board_brand,C:\zabbix\script\board_brand.bat
    1
    2
    3
    @echo off
    wmic baseboard get Manufacturer |C:\\zabbix\\gawk-3.1.6-1-bin\\bin\\awk.exe "NR==2 { print }" > C:\\zabbix\\script\\board_brand.txt
    type C:\\zabbix\\script\\board_brand.txt
  • 主板型号
    Key:board_model
    配置项:UserParameter=board_model,C:\zabbix\script\board_model.bat
    1
    2
    3
    @echo off
    wmic baseboard get Product |C:\\zabbix\\gawk-3.1.6-1-bin\\bin\\awk.exe "NR==2 { print }" > C:\\zabbix\\script\\board_model.txt
    type C:\\zabbix\\script\\board_model.txt
  • 主板MAC地址
    Key:nic_mac
    配置项:UserParameter=nic_mac,C:\zabbix\script\nic_mac.bat
    1
    2
    3
    @echo off
    wmic nic where "MACAddress is not null and NetEnabled=true" get MACAddress > C:\\zabbix\\script\\nic_mac.txt
    type C:\\zabbix\\script\\nic_mac.txt
  • 磁盘信息
    Key:disk_info
    配置项:UserParameter=disk_info,C:\zabbix\script\disk_info.bat
    1
    2
    3
    @echo off
    wmic diskdrive get Model, SerialNumber, Size > C:\\zabbix\\script\\disk_info.txt
    type C:\\zabbix\\script\\disk_info.txt
  • 显卡信息
    Key:video_controller_info
    配置项:UserParameter=video_controller_info,C:\zabbix\script\video_controller_info.bat
    1
    2
    3
    @echo off
    wmic path win32_VideoController get Name, AdapterCompatibility, DriverVersion > C:\\zabbix\\script\\video_controller_info.txt
    type C:\\zabbix\\script\\video_controller_info.txt
  • 显示器信息(已弃用)
    Key:monitor_info
    配置项:UserParameter=monitor_info,C:\zabbix\script\monitor_info.bat
    1
    2
    3
    @echo off
    wmic desktopmonitor get Caption, MonitorType, Name, PNPDeviceID > C:\\zabbix\\script\\monitor_info.txt
    type C:\\zabbix\\script\\monitor_info.txt

整理一下

现在的目录结构应该是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
├─Zabbix
│ │ zabbix_agent2.conf
│ │ zabbix_agent2.exe
│ │ zabbix_get.exe
│ │ zabbix_sender.exe
│ │
│ ├─gawk-3.1.6-1-bin
│ │ ├─bin
│ │ │ awk.exe
│ │ │ gawk-3.1.6.exe
│ │ │ gawk.exe
│ │ │ ...
│ │ │
│ │ └─...
│ │
│ ├─script
│ │ board_brand.bat
│ │ board_model.bat
│ │ board_sn.bat
│ │ cpu_hardware_core.bat
│ │ cpu_hardware_model.bat
│ │ cpu_hardware_number.bat
│ │ disk_info.bat
│ │ memory_info_all.bat
│ │ monitor_info.bat
│ │ nic_mac.bat
│ │ video_controller_info.bat
| |
│ └─UnxUtils
│ │ ...
│ └─usr
│ └─local
│ │ ...
│ └─wbin
│ agrep.exe
│ ...
│ gawk.exe
│ ...
│ grep.exe

然后配置文件看起来应该是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Server=192.168.8.192
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=192.168.8.192
Hostname=
UnsafeUserParameters=1
ControlSocket=\\.\pipe\agent.sock
#Include=.\zabbix_agent2.d\plugins.d\*.conf

UserParameter=cpu_hardware_model,C:\zabbix\script\cpu_hardware_model.bat
UserParameter=cpu_hardware_number,C:\zabbix\script\cpu_hardware_number.bat
UserParameter=cpu_hardware_core,C:\zabbix\script\cpu_hardware_core.bat
UserParameter=memory_info_all,C:\zabbix\script\memory_info_all.bat
UserParameter=board_sn,C:\zabbix\script\board_sn.bat
UserParameter=board_brand,C:\zabbix\script\board_brand.bat
UserParameter=board_model,C:\zabbix\script\board_model.bat
UserParameter=nic_mac,C:\zabbix\script\nic_mac.bat
UserParameter=disk_info,C:\zabbix\script\disk_info.bat
UserParameter=video_controller_info,C:\zabbix\script\video_controller_info.bat
UserParameter=monitor_info,C:\zabbix\script\monitor_info.bat

安装 Agent 为服务

将整个文件夹复制到C盘根目录下面,然后以管理员权限打开命令提示符执行如下命令安装:

1
C:\zabbix\zabbix_agent2.exe -c C:\zabbix\zabbix_agent2.conf -i

启动服务:

1
net start "Zabbix Agent 2"

如果有开启防火墙的话创建一条防火墙放通规则:

1
netsh advfirewall firewall add rule name=ZabbixInbond dir=in action=allow protocol=TCP localport=10050 profile=any

此时即可使用Zabbix添加这台主机。

批量部署

Win11 24H2移除了WMIC命令,使得我们上面的脚本大部分都没法用了,在操作系统版本复杂的环境里批量部署很容易遇见类似的问题。

所以我写了个批量部署的脚本,能够自动替换配置文件中的主机名,能够自动检测当前本机是否有WMIC存在,如不存在则自动安装。以管理员权限执行即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@echo off
setlocal enabledelayedexpansion

:: Set Computername
set "HOSTNAME=%COMPUTERNAME%"
set "CONF_FILE=c:\Zabbix\zabbix_agent2.conf"
set "TEMP_FILE=%CONF_FILE%.tmp"

if not exist "%CONF_FILE%" (
echo 配置文件不存在:%CONF_FILE%
exit /b 1
)

> "%TEMP_FILE%" (
for /f "usebackq delims=" %%A in ("%CONF_FILE%") do (
set "line=%%A"
echo !line! | findstr /b /i "Hostname=" >nul
if !errorlevel! == 0 (
echo Hostname=%HOSTNAME%
) else (
echo !line!
)
)
)

move /y "%TEMP_FILE%" "%CONF_FILE%" >nul

:: SetWMIC
if not exist "%WINDIR%\System32\wbem\wmic.exe" (
echo WMIC 未找到,正在安装...
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~ /NoRestart
if errorlevel 1 (
echo 安装失败,请手动检查系统日志或使用 PowerShell 添加。
) else (
echo WMIC 安装完成。
)
) else (
echo WMIC 已存在,跳过安装。
)

:: Install Agent
c:\Zabbix\zabbix_agent2.exe -c c:\Zabbix\zabbix_agent2.conf -i
net start "Zabbix Agent 2"
netsh advfirewall firewall add rule name=ZabbixInbond dir=in action=allow protocol=TCP localport=10050 profile=any

 上一篇

Linux ubuntu