做过服务器监控的开发者几乎都知道 Zabbix 和 Nagios ,他们都是提供系统监控以及网络监控功能的开源解决方案,资历比较老。在不久前,这个市场迎来了一位新成员 OneAPM Servers——本土服务器监控领域的后起之秀。
OneAPM Servers 虽然是一个商业级的解决方案,但是跟两位老牌玩家一样,都是完全免费的。今天,我们针对如何快速实现对 Linux 服务器监控,来对比一下这3种监控软件的安装部署过程:
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 也是一个基于 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 是国内应用性能管理领域领军企业 OneAPM 的服务器监控产品,通过观察、分析关键的系统参数,包括 CPU 利用率、物理内存、网络活动、进程、磁盘利用率及容量等,展现当前服务器的健康状况。
安装步骤如下:
静候 5 分钟,等待应用程序向 [OneAPM]( 发送应用程序性能数据,即可开始使用 OneAPM 应用性能管理。相信小伙伴们不难发现,OneAPM Servers 在安装部署上较 Zabbix、Nagios 而言要简单许多。
此外,您还可以搭配 OneAPM 应用监控 Application Insight、浏览器端监控 Browser Insight 、移动应用监控 Mobile Insight 等产品,实现一站式全方位的解决方案,进而达到多维度的全面监控。
本文系 OneAPM 工程师编译整理。OneAPM 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和 SQL 语句的实时抓取。想阅读更多技术文章,请访问 OneAPM 官方博客。
1
phoenixlzx 2015-07-21 16:12:07 +08:00
正在用 NewRelic
|
2
OneAPM OP @phoenixlzx 感觉怎么样呢~
|
3
phoenixlzx 2015-07-21 16:20:01 +08:00
@OneAPM 不怎么样 其实。
监控项很多,然而我并没时间去看。还不支持带宽占用的监控警告(虽然说是有计划做了。 不过话说回来监控就是不需要人一直去盯着的... 但是我总觉得现在的监控都不够敏感,通俗点说... 例如有突发的可能不正常的占用但是还没到警戒线之类的也能通知下什么的... |
4
Ranler 2015-07-21 16:20:19 +08:00 1
轻量级的还有 Munin
|
5
roricon 2015-07-21 16:48:33 +08:00
datadog也不错。
|
6
49 2015-07-21 21:13:49 +08:00 via Android
满分软文。
入了 |
7
zhjits 2015-07-21 21:23:45 +08:00
New Relic 感觉不错……
|
8
loveyu 2015-07-21 21:24:55 +08:00 via Android
看了标题就知道是软文了,不知道我什么时候这么聪明了
|
9
billwang 2015-07-21 21:45:17 +08:00
在用h3c和oracle的网管系统解决方案,感觉Oracle的解决方案比较靠谱。
|
11
xderam 2015-07-22 01:39:40 +08:00
呃..虽然是软文...不过软得确实有点那啥了...
http://omdistro.org/download 1 下载服务端 2 omd create sitename 3 下载客户端 agent 4 安装客户端 5 进入服务端添加 ip, 懒的话可以用网段扫描. done cpu 磁盘 内存 ipmi 网卡流量啥的阈值都给你默认好了.绝对傻瓜化... 对了.这玩意不用注册账号.... 我是来拆台的......虽然 APM 作为国内的应用监控厂商..这点值得鼓励.但这软文写的确实有点水.. 如果按照这么算的话. zabbix nagios用 docker 貌似一步就 ok... 表这样..这种东西写到 ppt 里忽悠领导就好了..有点经验的老司机早就知道如何简单的绕过这些繁琐步骤了== 反而是忽悠自己的领导用 APM 真心不易.... |
12
msg7086 2015-07-22 03:07:03 +08:00
没人用observium么……
|
13
tianshiyeben 2020-01-01 14:19:46 +08:00
现在都用 wgcloud 集群监控平台了,代码全部开源,微服务架构,安装部署也简单。
下载 http://www.wgstart.com |