V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OneAPM
V2EX  ›  程序员

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

  •  6
     
  •   OneAPM ·
    oneapm · 2015-07-21 14:51:30 +08:00 · 5741 次点击
    这是一个创建于 3421 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如何快速实现对 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 中的数据库连接信息。

    这样就可以看到服务器列表了:

    Zabbix,Nagios,OneAPM Servers 安装部署大比拼

    OneAPM Servers 监控 Linux 服务器

    最后,我们就要看看这位“后起之秀”的表现了。OneAPM Servers 是国内应用性能管理领域领军企业 OneAPM 的服务器监控产品,通过观察、分析关键的系统参数,包括 CPU 利用率、物理内存、网络活动、进程、磁盘利用率及容量等,展现当前服务器的健康状况。

    Zabbix,Nagios,OneAPM Servers 安装部署大比拼
    安装步骤如下:

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

    Zabbix,Nagios,OneAPM Servers 安装部署大比拼

    Zabbix,Nagios,OneAPM Servers 安装部署大比拼

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

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

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

    13 条回复    2020-01-01 14:19:46 +08:00
    phoenixlzx
        1
    phoenixlzx  
       2015-07-21 16:12:07 +08:00
    正在用 NewRelic
    OneAPM
        2
    OneAPM  
    OP
       2015-07-21 16:16:43 +08:00
    @phoenixlzx 感觉怎么样呢~
    phoenixlzx
        3
    phoenixlzx  
       2015-07-21 16:20:01 +08:00
    @OneAPM 不怎么样 其实。

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

    不过话说回来监控就是不需要人一直去盯着的... 但是我总觉得现在的监控都不够敏感,通俗点说... 例如有突发的可能不正常的占用但是还没到警戒线之类的也能通知下什么的...
    Ranler
        4
    Ranler  
       2015-07-21 16:20:19 +08:00   ❤️ 1
    轻量级的还有 Munin
    roricon
        5
    roricon  
       2015-07-21 16:48:33 +08:00
    datadog也不错。
    49
        6
    49  
       2015-07-21 21:13:49 +08:00 via Android
    满分软文。
    入了
    zhjits
        7
    zhjits  
       2015-07-21 21:23:45 +08:00
    New Relic 感觉不错……
    loveyu
        8
    loveyu  
       2015-07-21 21:24:55 +08:00 via Android
    看了标题就知道是软文了,不知道我什么时候这么聪明了
    billwang
        9
    billwang  
       2015-07-21 21:45:17 +08:00
    在用h3c和oracle的网管系统解决方案,感觉Oracle的解决方案比较靠谱。
    qw7692336
        10
    qw7692336  
       2015-07-21 23:08:07 +08:00
    @loveyu 看头像知道来
    xderam
        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 真心不易....
    msg7086
        12
    msg7086  
       2015-07-22 03:07:03 +08:00
    没人用observium么……
    tianshiyeben
        13
    tianshiyeben  
       2020-01-01 14:19:46 +08:00
    现在都用 wgcloud 集群监控平台了,代码全部开源,微服务架构,安装部署也简单。
    下载 http://www.wgstart.com
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2698 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:29 · PVG 17:29 · LAX 01:29 · JFK 04:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.