如何快速实现对 Linux 服务器的监控?

2015-07-21 14:51:30 +08:00
 OneAPM

如何快速实现对 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.confzabbix_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 利用率、物理内存、网络活动、进程、磁盘利用率及容量等,展现当前服务器的健康状况。


安装步骤如下:

  1. 注册登录 OneAPM 账户,点击菜单栏的「服务器监控」,选择页面右上角的「添加服务器」。
  2. 进入安装页面后,下载 OneAPM Servers 安装包
  3. 安装 OneAPM Servers
  4. 运行 OneAPM Servers

静候 5 分钟,等待应用程序向 [OneAPM]( 发送应用程序性能数据,即可开始使用 OneAPM 应用性能管理。相信小伙伴们不难发现,OneAPM Servers 在安装部署上较 Zabbix、Nagios 而言要简单许多。

此外,您还可以搭配 OneAPM 应用监控 Application Insight、浏览器端监控 Browser Insight 、移动应用监控 Mobile Insight 等产品,实现一站式全方位的解决方案,进而达到多维度的全面监控。

本文系 OneAPM 工程师编译整理。OneAPM 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和 SQL 语句的实时抓取。想阅读更多技术文章,请访问 OneAPM 官方博客

5730 次点击
所在节点    程序员
13 条回复
phoenixlzx
2015-07-21 16:12:07 +08:00
正在用 NewRelic
OneAPM
2015-07-21 16:16:43 +08:00
@phoenixlzx 感觉怎么样呢~
phoenixlzx
2015-07-21 16:20:01 +08:00
@OneAPM 不怎么样 其实。

监控项很多,然而我并没时间去看。还不支持带宽占用的监控警告(虽然说是有计划做了。

不过话说回来监控就是不需要人一直去盯着的... 但是我总觉得现在的监控都不够敏感,通俗点说... 例如有突发的可能不正常的占用但是还没到警戒线之类的也能通知下什么的...
Ranler
2015-07-21 16:20:19 +08:00
轻量级的还有 Munin
roricon
2015-07-21 16:48:33 +08:00
datadog也不错。
49
2015-07-21 21:13:49 +08:00
满分软文。
入了
zhjits
2015-07-21 21:23:45 +08:00
New Relic 感觉不错……
loveyu
2015-07-21 21:24:55 +08:00
看了标题就知道是软文了,不知道我什么时候这么聪明了
billwang
2015-07-21 21:45:17 +08:00
在用h3c和oracle的网管系统解决方案,感觉Oracle的解决方案比较靠谱。
qw7692336
2015-07-21 23:08:07 +08:00
@loveyu 看头像知道来
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 真心不易....
msg7086
2015-07-22 03:07:03 +08:00
没人用observium么……
tianshiyeben
2020-01-01 14:19:46 +08:00
现在都用 wgcloud 集群监控平台了,代码全部开源,微服务架构,安装部署也简单。
下载 http://www.wgstart.com

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/207228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX