【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载community-templatesZabbix Community Templates 社区模板仓库中的CustomApp Plesk模板提供了一套针对 Plesk Obsidian 控制面板主机的完整健康检查方案通过 15 个 TCP 端口探测确认 Web/邮件/DNS/数据库服务存活通过 21 个进程数采集项确认底层服务进程Nginx、Apache、PHP-FPM、Postfix、Dovecot、MySQL、Plesk 自身守护进程等在运行再通过 HTTP 代理抓取 Plesk 默认页与登录页的关键内容片段做应用层可用性验证。读完本文你将掌握该模板的三层监控架构、全部 41 个采集项与 37 条触发的配置细节并能在 Zabbix 6.0 中正确导入、裁剪和调优这套监控。模板定位与文件组织该模板位于仓库的Applications应用程序类模板目录提供 3 个 Zabbix 版本分支同一套监控逻辑按 Zabbix 导出版式分发版本目录导出文件适用 Zabbix 版本5.0/5.0/template_plesk_obsidian_(active).xml)template_plesk_obsidian_(active).xmlZabbix 5.05.4/5.4/template_plesk_obsidian_(active).yaml)template_plesk_obsidian_(active).yamlZabbix 5.46.0/6.0/template_plesk_obsidian_(active).yaml)template_plesk_obsidian_(active).yamlZabbix 6.06.0 版本的 YAML 导出文件template_plesk_obsidian_(active).yaml/6.0/template_plesk_obsidian_(active).yaml)头部声明如下zabbix_export: version: 6.0 date: 2021-11-21T22:06:50Z groups: - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 name: Templates/Applications templates: - uuid: 118c5f3395ae4f80bfc335b3f9cc5dbe template: CustomApp Plesk name: CustomApp Plesk description: | ## Author samsteve169从文件结构看该模板归属Templates/Applications模板组作者为samsteve169见 YAML 头部description字段L8-L17/6.0/template_plesk_obsidian_(active).yaml#L8-L17)。README6.0/README.md/6.0/README.md)同时确认模板不含宏引用、不含模板链接、不含发现规则LLD即它是一个纯静态定义、无需依赖其他模板即可独立导入的监控包。需要注意5.0/5.4/6.0 三个版本的 UUID 完全一致如模板 UUID118c5f3395ae4f80bfc335b3f9cc5dbe、FTP 项 UUIDd4fff025f16044eaad33e91802ea7d57在各版本文件中相同从文件结构推断这是同一套定义的多次导出版式转换而非不同功能版本。三层监控架构总览整个模板由 41 个采集项、1 个值映射和 37 条触发器构成按数据获取方式分为三层TCP 端口存活层15 个Simple checkSIMPLE 类型项由 Zabbix 服务端直接发起 TCP 连接验证 FTP、SMTP、DNS、HTTP、HTTPS、邮件、数据库及 Plesk 管理端口可达进程存活层21 个Zabbix agent (active)ZABBIX_ACTIVE 类型项全部基于proc.num键由被管主机上的 Zabbix Agent 主动上报进程数量验证 Nginx、Apache、Postfix、Dovecot、MySQL、Xinetd、Fail2ban、SpamAssassin、PHP-FPM 各版本以及 Plesk 自身守护进程sw-engine、sw-cp-serverd、sw-collectd 等在运行HTTP 内容可用层5 个HTTP agent项抓取 Plesk 默认欢迎页80/443/7080 端口和登录页7081/8443 端口的 HTML 内容供模板级触发器做内容指纹匹配。三层之间通过标签体系串联每个采集项都带有Application标签取值为对应的组件名Nginx、Apache、Postfix、Dovecot、MySQL、Bind、Plesk、Fail2ban、Xinetd、Spamassassin或PHP-FPM x.x便于在 Zabbix 前端按组件过滤告警与数据。TCP 端口存活检查15 个服务端口全覆盖15 个 SIMPLE 类型项均使用net.tcp.service[tcp,,端口]键采集频率 1 分钟并统一挂接值映射Service state。以 YAML 中第一个项FTP为例L23-L39/6.0/template_plesk_obsidian_(active).yaml#L23-L39)- uuid: d4fff025f16044eaad33e91802ea7d57 name: FTP service is running (tcp check) type: SIMPLE key: net.tcp.service[tcp,,21] valuemap: name: Service state tags: - tag: Application value: Xinetd triggers: - uuid: 704c106bd42f4cdead9a535940dbe57d expression: max(/CustomApp Plesk/net.tcp.service[tcp,,21],#3)0 name: FTP service (tcp check) is down on {HOST.NAME} priority: HIGH完整端口清单及其归属组件Application标签如下项名称键端口组件标签FTP service is running (tcp check)net.tcp.service[tcp,,21]21XinetdSMTP service is running (tcp check)net.tcp.service[tcp,,25]25PostfixDNS service is running (tcp check)net.tcp.service[tcp,,53]53BindHTTP service is running (tcp check)net.tcp.service[tcp,,80]80NginxPOP3 service is running (tcp check)net.tcp.service[tcp,,110]110DovecotIMAP service is running (tcp check)net.tcp.service[tcp,,143]143DovecotHTTPS service is running (tcp check)net.tcp.service[tcp,,443]443NginxSMTPS service is running (tcp check)net.tcp.service[tcp,,465]465PostfixIMAPS service is running (tcp check)net.tcp.service[tcp,,993]993DovecotPOP3S service is running (tcp check)net.tcp.service[tcp,,995]995DovecotMySQL service is running (tcp check)net.tcp.service[tcp,,3306]3306MySQLHTTP 7080 service is running (tcp check)net.tcp.service[tcp,,7080]7080ApacheHTTPS 7081 service is running (tcp check)net.tcp.service[tcp,,7081]7081ApachePlesk service is running (tcp check)net.tcp.service[tcp,,8443]8443Plesk端口选型体现了对 Plesk Obsidian 默认架构的理解80/443 由 Nginx 作为前置反向代理对外提供 Web 服务7080/7081 是 Apache 内置的辅助监听端口对应 Plesk 管理控制台Web 组件的 HTTP/HTTPS 服务8443 是 Plesk 主面板端口。邮件侧覆盖 Postfix 的 25/465 与 Dovecot 的 110/143/993/995 全端口组合另有 Xinetd 托管的 FTP21、Bind 的 DNS53与 Plesk 数据库 MySQL3306。值映射与端口级触发器每个 TCP 项绑定值映射Service stateL666-L676/6.0/template_plesk_obsidian_(active).yaml#L666-L676)将原始数值翻译为可读状态原始值映射值0Down1Up每个 TCP 项都内联挂载一条 HIGH 级别触发器表达式统一为max(/CustomApp Plesk/net.tcp.service[tcp,,端口],#3)0取最近 3 个采样值的最大值只要 3 分钟内出现过一次可达即视为存活3 次全部失败才告警。这个max(#3)写法起到了对瞬时抖动的容忍作用避免单次探测失败直接产生 HIGH 告警。触发器名称统一采用{HOST.NAME}主机宏例如FTP service (tcp check) is down on {HOST.NAME}在多主机组网中可直接定位故障主机。HTTP 内容可用性检查默认页与登录页指纹5 个 HTTP agent 项将监控从端口通不通推进到页面内容对不对。它们共同的参数配置为值类型TEXT文本关闭趋势存储trends: 0不跟随重定向follow_redirects: NO且以retrieve_mode: BOTH同时获取响应体与 HTTP 代码。项名称键抓取 URL状态Plesk default page on 80 is availableplesk_default_80_keyhttp://{HOST.IP}/index.html启用Plesk default page on 443 is availableplesk_default_443_keyhttps://{HOST.IP}/index.html启用Plesk default page on 7080 is availableplesk_default_7080_keyhttp://{HOST.IP}:7080/index.html启用Plesk login on 7081 is availableplesk_login_7081_keyhttps://{HOST.IP}:7081/login_up.php禁用Plesk login on 8443 is availableplesk_login_8443_keyhttps://{HOST.IP}:8443/login_up.php启用注意两点实现细节所有 URL 均使用 Zabbix 内建主机宏{HOST.IP}而非{HOST.NAME}如 L268/6.0/template_plesk_obsidian_(active).yaml#L268)。这意味着 HTTP 检查直接打到主机记录的第一 IP 上规避了 DNS 解析变量但也要求主机的 IP 地址在 Zabbix 中维护正确若主机使用域名访问且 IP 变更需要更新主机记录中的 IP。login_up.php是 Plesk 面板的登录入口路径。7081 端口的登录检查项L304-L317/6.0/template_plesk_obsidian_(active).yaml#L304-L317)在导出时即为status: DISABLED状态推测是因为部分 Plesk 部署将控制台仅暴露于 8443 端口7081 未必开启——实际使用时应按部署形态自行决定保留哪些项。进程存活检查21 个 proc.num 采集项进程层全部采用 Zabbix Agent 主动上报type: ZABBIX_ACTIVE要求被管主机部署 Zabbix Agent 并开启主动发送模式。21 个项的完整清单如下采集频率均为 1 分钟项名称键组件标签Number of Dovecot processproc.num[dovecot]DovecotNumber of Fail2ban processproc.num[fail2ban-server]Fail2banNumber of Apache processproc.num[httpd,apache]ApacheNumber of Postfix processproc.num[master]PostfixNumber of MySQL processproc.num[mysqld,mysql]MySQLNumber of Bind processproc.num[named,named]BindNumber of Nginx processproc.num[nginx,nginx]NginxNumber of PHP-FPM 5.4 processproc.num[php-fpm,root,,5.4]PHP-FPM 5.4Number of PHP-FPM 5.5 processproc.num[php-fpm,root,,5.5]PHP-FPM 5.5Number of PHP-FPM 5.6 processproc.num[php-fpm,root,,5.6]PHP-FPM 5.6Number of PHP-FPM 7.0 processproc.num[php-fpm,root,,7.0]PHP-FPM 7.0Number of PHP-FPM 7.1 processproc.num[php-fpm,root,,7.1]PHP-FPM 7.1Number of PHP-FPM 7.2 processproc.num[php-fpm,root,,7.2]PHP-FPM 7.2Number of PHP-FPM 7.3 processproc.num[php-fpm,root,,7.3]PHP-FPM 7.3Number of PHP-FPM 7.4 processproc.num[php-fpm,root,,7.4]PHP-FPM 7.4Number of PHP-FPM 8.0 processproc.num[php-fpm,root,,8.0]PHP-FPM 8.0Number of Spamd processproc.num[spamd child,popuser]Spamassassin / XinetdNumber of SwCollectd processproc.num[sw-collectd]PleskNumber of SwCpServer processproc.num[sw-cp-serverd]PleskNumber of PleskWebSocket processproc.num[sw-engine,psaadm]PleskNumber of SwEngineFpm processproc.num[sw-engine-fpm,psaadm]Plesk其中几个键的写法值得注意proc.num四参数形式PHP-FPM 系列使用proc.num[进程名,用户,命令行包含,命令行排除]的第 4 个参数命令行匹配串5.48.0来区分不同 PHP 版本的 php-fpm 进程组。Plesk 允许同时安装多个 PHP 版本供不同站点选择因此逐项监控各版本 FPM 是否存活。SpamAssassin 的匹配串是spamd childL574-L589/6.0/template_plesk_obsidian_(active).yaml#L574-L589)按spamd child关键字与运行用户popuser匹配这是 Xinetd 按需拉起 spamd 工作进程的典型命名方式该采集项同时打了Spamassassin和Xinetd两个 Application 标签因为它的存活依赖 Xinetd 超级服务器框架。Plesk 自身守护进程sw-enginepsaadm 用户Plesk 面板核心引擎/WebSocket、sw-engine-fpm、sw-cp-serverd控制面板服务、sw-collectd面板侧数据采集四个进程项对应 Plesk 面板自身的运行时组件是区别于只监控 Nginx/PHP这类通用 Web 模板的关键点。Postfix 匹配masterPostfix 的主进程名为master通过proc.num[master]判断 MTA 整体是否在运行比匹配qmgr等子进程更贴近服务级健康。触发器体系37 条触发与两级可用性判定YAML 中共定义了 37 条触发器全部为 HIGH 级别分为两类1. 采集项内联触发32 条每个 TCP 项和进程项各挂一条max(...,#3)0形式的停机触发器名称格式统一为服务名 service (tcp check/process check) is down on {HOST.NAME}。例如 Dovecot 进程触发器L341-L346/6.0/template_plesk_obsidian_(active).yaml#L341-L346)triggers: - uuid: 063435634e3245119bc544b048b15b75 expression: max(/CustomApp Plesk/proc.num[dovecot],#3)0 name: Dovecot service (process check) is down on {HOST.NAME} priority: HIGH2. 模板级触发5 条模板级触发器组合了 TCP 探测与 HTTP 内容指纹实现端口通且内容对的双重判定全部位于 YAML 尾部L677-L703/6.0/template_plesk_obsidian_(active).yaml#L677-L703)触发器名称表达式逻辑状态Plesk default page on 80 is unavailable on {HOST.NAME}max(net.tcp.service[tcp,,80],#3)0 or find(plesk_default_80_key,,like,titleWeb Servers Default Page/title)0启用Plesk default page on 443 is unavailable on {HOST.NAME}同上443 端口启用Plesk default page on 7080 is unavailable on {HOST.NAME}同上7080 端口启用Plesk login on 7081 is unavailable on {HOST.NAME}匹配登录页meta nameforgery_protection_token ...片段禁用Plesk login on 8443 is unavailable on {HOST.NAME}匹配登录页meta nameforgery_protection_token ...片段启用默认页触发器使用find(...,like,...)在抓取的 HTML 中模糊匹配 Plesk 出厂默认欢迎页的标题指纹titleWeb Servers Default Page/title只要最近 3 次探测端口不可达或页面中匹配不到该指纹0表示 0 次匹配即判定默认页不可用。登录页触发器则匹配 Plesk 登录表单特有的反 CSRF 元标签meta nameforgery_protection_token idforgery_protection_token content以此确认 8443 端口的面板登录界面真正可交互而不只是 TCP 端口开放。这里也隐含一条运维提示当站点上线真实业务内容后默认欢迎页指纹将不再出现三条默认页不可用触发器会持续告警。合理做法是站点上线后关闭这三条模板级触发器或改写匹配串转而依赖端口级触发器模板作者保留默认页检查正是为了覆盖Plesk 全新安装、尚未发布站点这一初始态的健康巡检场景。README 与 YAML 的差异6.0/README.md/6.0/README.md) 的Triggers一节写着 There are no triggers in this template.与 YAML 中实际存在的 37 条触发器明显不符README 的Items collected表格41 个项则与 YAML 完全一致。因此本文以 YAML 导出文件为权威依据README 仅可作为采集项清单的速览参考。部署与调优建议导入方式在 Zabbix 6.0 前端使用Configuration → Templates → Import导入 6.0/template_plesk_obsidian_(active).yaml/6.0/template_plesk_obsidian_(active).yaml)5.0/5.4 版本分别使用对应目录下的 XML/YAML 文件。模板无宏、无模板链接导入后无需额外配置依赖。前置条件进程层 21 个项为 Zabbix Agent 主动项被管主机必须部署 Agent 且服务端允许主动连接TCP 层与 HTTP 层由 Zabbix 服务端发起需保证服务端到主机的相应端口网络可达。若服务器位于内网且端口经防火墙严格管控HTTP/登录页检查可能被拦截应预先放行或改用被动 Agent 方案自行调整。PHP-FPM 多版本告警噪声模板对 5.4/5.5/5.6/7.0/7.1/7.2/7.3/7.4/8.0 共 9 个版本各配了一条进程数为 0 即 HIGH 告警的触发器且导出时全部启用。Plesk 主机通常只安装 12 个 PHP 版本未安装版本的项会持续上报 0 并产生误告警。导入后应检查ps -ef | grep php-fpm确认实际安装的版本将未安装版本对应的采集项与触发器禁用。按需启停的检查项Xinetd/SpamAssassin、Fail2ban、Bind、FTP 等组件并非每台 Plesk 主机都启用例如邮件或 DNS 托管在别处应结合systemctl实际启停情况裁剪对应项避免对未部署组件的进程/端口检查产生无效告警。面板端口差异Plesk 主面板默认在 8443部分部署会把 Apache 辅助端口 7081 作为面板入口模板中 7081 的登录项与触发器默认禁用即为这一差异的体现。导入后按pleskadmin实际监听端口决定启用 7081 还是 8443 的登录页检查。小结CustomApp Plesk模板以TCP 端口存活 进程数监控 HTTP 内容指纹三层结构覆盖了 Plesk Obsidian 主机的关键健康面15 个net.tcp.service项守住 Web、邮件、DNS 与数据库全端口21 个proc.num项逐一确认 Nginx、Apache、Postfix、Dovecot、MySQL、PHP-FPM 各版本及 Plesk 面板守护进程的进程存活5 个 HTTP agent 项配合find(...,like,...)内容匹配把判定深入到默认欢迎页与登录页指纹层面最终以 37 条 HIGH 触发器含max(#3)抖动容忍形成告警闭环。模板定义自包含、无外部依赖导入 Zabbix 6.0 后按实际安装的组件与 PHP 版本做一轮裁剪即可获得一套可直接用于生产巡检的 Plesk 主机监控基线。赞分享【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载相关推荐Zabbix 监控 Plesk 主机实战解析 community-templates 仓库中的 CustomApp Plesk 主动代理模板Zabbix 监控 Plesk 主机实战解析 community templates 仓库中的 CustomApp Plesk 主动代理模板 本篇围绕 ZabZabbix 监控 Eocortex (Macroscop) 视频监控服务器community-templates 中 Eocortex 模板6.0实战详解Zabbix 监控 Eocortex Macroscop 视频监控服务器community templates 中 Eocortex 模板6.0实战详解使用 Zabbix 6.0 模板监控 Oracle Linux 上的 Focco ERP115 个监控项实战解析使用 Zabbix 6.0 模板监控 Oracle Linux 上的 Focco ERP115 个监控项实战解析 本文基于 Zabbix Community上一篇3步解析Vite模块黑盒从依赖迷宫到构建提速40%的可视化方案下一篇Rust 无限循环与流程控制深入解析 loop、break/continue、循环标签与循环返回值创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考