摘要:在当今的 DevOps 工作流程中,高效监控基础设施至关重要。Zabbix 是一个强大的监控解决方案,提供基于代理和无代理的监控功能。在本文中,我们将重点介绍Linux 系统的无代理监控,使管理员能够更轻松地跟踪性能并确保系统健康,而无需部署代理。
Zabbix 无代理监控 Linux 的逐步指南
在当今的 DevOps 工作流程中,高效监控基础设施至关重要。Zabbix 是一个强大的监控解决方案,提供基于代理和无代理的监控功能。在本文中,我们将重点介绍 Linux 系统的无代理监控,使管理员能够更轻松地跟踪性能并确保系统健康,而无需部署代理。
无代理监控允许您在不安装 Zabbix 代理的情况下收集系统指标、日志和性能数据。相反,它使用原生协议,例如:
SSH:对于 Linux 系统,这是用于远程监控的主要协议。SNMP:适用于网络设备和某些服务器。IPMI:用于硬件健康监控。HTTP/HTTPS:用于监控 Web 服务和 API。要启用 ssh 监控,请确保 SSH 服务在目标 Linux 主机上运行:
允许 Zabbix 服务器连接,将其公钥添加到目标系统:
sudo mkdir -p /root/.sshsudo echo "" >> /root/.ssh/authorized_keyssudo chmod 600 /root/.ssh/authorized_keys导航到我们创建的模板并创建一个 新 项目。
名称: SSH Get类型: SSH 代理键: ssh.run[ssh.get,{$SSH.IP},{$SSH.PORT},,]信息类型:文本认证方法:密码更新间隔: 根据您的监控需求执行脚本:#!/bin/bashmpstat && uptime && free使用 SSH get 作为主项目,并使用预处理步骤提取以下依赖项目:
Zabbix: 项目
键:ssh..uptime主项目:ssh.get预处理:正则表达式模式:up\s+(.+)?,结果:\1
Zabbix: 项目-系统.uptime
键:ssh.kernel.version主项目:ssh.get预处理:使用正则表达式过滤内核键:ssh.arch.type主项目:ssh.get预处理:使用正则表达式过滤 aarch键:ssh.os.type主项目:ssh.get预处理:使用正则表达式过滤操作系统键:ssh.CPU.count主项目:ssh.get预处理:使用正则表达式过滤 CPU键:ssh.cpu.idle主项目:ssh.get预处理:正则表达式模式:all\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+[0–9.]+\s+([0–9.]+) 结果:\1
Zabbix 项目:系统.cpu.idle
正则表达式: 模式:.*Mem:\s+(\d+).*结果:\1
自定义乘数:1024创建一个名为 CPU 利用率 的新图表。添加项目:ssh.cpu.userssh.cpu.systemssh.cpu.idlessh.cpu.iowaitZabbix: 图表-CPU
创建一个名为 内存利用率 的新图表。添加项目:ssh.memory.usedssh.memory.freessh.memory.availableZabbix: 图表
名称:系统名称已更改表达式:{Template Linux By SSH-Agentless:ssh.os.type.diff}=1名称:CPU 数量已更改表达式:{Template Linux By SSH-Agentless:ssh.cpu.count.diff}=1名称:内核版本已更改表达式:{Template Linux By SSH-Agentless:ssh.kernel.version.diff}=1名称:高 CPU 使用率 (80%)表达式:{Template Linux By SSH-Agentless:ssh.cpu.user.avg(5m)}>80名称:严重 CPU 使用率 (90%)表达式:{Template Linux By SSH-Agentless:ssh.cpu.user.avg(5m)}>90名称:高内存使用率 (80%)表达式:{Template Linux By SSH-Agentless:ssh.memory.used.avg(5m)} > 0.8 * {Template Linux By SSH-Agentless:ssh.memory.total.last}名称:严重内存使用率 (90%)表达式:{Template Linux By SSH-Agentless:ssh.memory.used.avg(5m)} > 0.9 * {Template Linux By SSH-Agentless:ssh.memory.total.last}名称:系统已重启表达式:{Template Linux By SSH-Agentless:ssh.system.uptime.last}名称:SSH 连接失败表达式:{Template Linux By SSH-Agentless:ssh.metrics.nodata(300)}=1名称:2 个间隔无数据表达式:{Template Linux By SSH-Agentless:ssh.metrics.nodata(600)}=1严重性:警告。通过遵循这些步骤,您将拥有一个强大的 SSH 无代理监控模板,用于 Linux,包含详细的指标、图表和主动触发器。
Zabbix 无代理监控提供了一种强大而灵活的解决方案,用于在不安装额外软件的情况下跟踪 Linux 系统性能。通过利用 SSH,您可以有效地监控 CPU、内存、运行时间和其他关键指标。立即开始使用 Zabbix 无代理监控,简化您的基础设施管理。
来源:勇者可乐yy