如何快速实现对 Linux 服务器的监控?
做过服务器监控的开发者几乎都知道 Zabbix 和 Nagios ,他们都是提供系统监控以及网络监控功能的开源解决方案,资历比较老。在不久前,这个市场迎来了一位新成员OneAPM Servers——本土服务器监控领域的后起之秀。
OneAPM Servers 虽然是一个商业级的解决方案,但是跟两位老牌玩家一样,都是完全免费的。今天,我们针对如何快速实现对 Linux 服务器监控,来对比一下这3种监控软件的安装部署过程:
一、Nagios 监控 Linux 服务器
Nagios 是一款开源的免费网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等等。当然,如果要想远程 Linux 服务器进行安装, Nagios 需要安装以下组件:
Nagios: 主程序
Nagios: 插件
nrpe: 监控 Linux 主机所需插件
在安装前需要先建立 Nagios 用户和组。
安装Nagios
需要解压下载好的 Nagios 主程序,然后在 Linux 机器上进行编译。编译完后要确保 /usr/local/nagios 目录下如下子目录都存在,另外确保它们的属主是 Nagios 用户和组。
bin etc include libexec share
配置 Apache
yum 装的 Apache 本身不需要太多的配置,在 Nagios 的编译过程中的make install-webconf 就是在 /etc/httpd/conf.d/ 下生成 nagios.conf 的配置文件。会自动帮你配置 Apache 的 Nagios 部分。
但是必须将 Apache 的运行用户和组也配置为Nagios.
另外需要对 Nagios 目录进行用户权限配置,确保授权用户才能访问 Nagios 页面。
安装 nrpe
编译下载好的 nrpe 后,在 /usr/local/nagios/etc/nagios.cfg
文件里配置要监控的服务器 IP, 在 /usr/local/nagios/etc/objects/commands.cfg
里配置 check_nrpe 命令去被监控主机取数据
配置被监控端
在被监控的 Linux 服务器安装 nagios-plugin 和 nrpe , 然后在 /usr/local/nagios/etc/nrpe.cfg
允许 Nagios 服务器主机访问这台机器资源。
二、Zabbix 监控 Linux 服务器
Zabbix 也是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。相较而言,Zabbix 的安装部署比起 Nagios 来简单不少,它需要部署下面三个组件:
Server:指安装 Zabbix 服务的服务器,是最核心的组件,主要安装在 Linux 系统上,采用 MySQL 存储监控数据。既可以单独监视远程服务器的服务状态,也可以与 Zabbix Agent 配合使用,被动接受其发送的数据。
Agent:指安装在被监控设备上的 Zabbix 代理,被监控设备上的数据由其收集后统一上传到服务器端进行收集、整理并呈现。
安装配置 MySQL
安装好 MySQL 数据库后,需要建 Zabbix 数据库:
MySQL>create database zabbix;
MySQL>use zabbix;
MySQL>source /tmp/zabbix-1.1.6/create/mysql/schema.sql
MySQL>source /tmp/zabbix-1.1.6/create/data/data.sql
MySQL>source /tmp/zabbix-1.1.6/create/data/images.sql
安装配置 Zabbix
解压,编译完下载好的 Zabbix 包后,把配置文件 misc/conf/*.conf
拷贝到 /etc/zabbix
目录下,把控制文件 misc/init.d/redhat/*ctl
拷贝到 Zabbix 主目录 /bin
下。
如果是 server 端,需要修改 /etc/zabbix
中的 zabbix_server.conf
, zabbix_trapper.conf
两个文件,修改路径,IP,端口,数据库等信息。
如果是 agent 端,则需要修改 /etc/zabbix
中的 zabbix_agent.conf
, zabbix_agentd.conf
两个文件,配置服务器 IP ,端口等信息。
之后就可以用 zabbix_agentd_ctl
来启动 agent , zabbix_suckerd_ctl
来启动 Server 了。
安装 Web 环境
最后需要在 Server 端配置 Web 脚本的环境,拷贝 frontends/php
目录的脚本到 Web 文件目录,并修改 include/db.inc.php
中的数据库连接信息。
这样就可以看到服务器列表了:
三、OneAPM Servers 监控 Linux 服务器
最后,我们就要看看这位“后起之秀”的表现了。OneAPM Servers 是国内应用性能管理领域领军企业 OneAPM 的服务器监控产品,通过观察、分析关键的系统参数,包括 CPU 利用率、物理内存、网络活动、进程、磁盘利用率及容量等,展现当前服务器的健康状况。
安装步骤如下:
- 注册登录 OneAPM 账户,点击菜单栏的「服务器监控」,选择页面右上角的「添加服务器」。
- 进入安装页面后,下载 OneAPM Servers 安装包
- 安装 OneAPM Servers
- 运行 OneAPM Servers
静候 5 分钟,等待应用程序向 OneAPM 发送应用程序性能数据,即可开始使用OneAPM 应用性能管理。相信小伙伴们不难发现,OneAPM Servers 在安装部署上较 Zabbix、Nagios 而言要简单许多。
此外,您还可以搭配 OneAPM 应用监控 Application Insight、浏览器端监控Browser Insight 、移动应用监控 Mobile Insight 等产品,实现一站式全方位的解决方案,进而达到多维度的全面监控。
本文系 OneAPM 工程师编译整理。OneAPM 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和 SQL 语句的实时抓取。想阅读更多技术文章,请访问 OneAPM 官方博客。