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

YYY


Linux服务器监控软件有哪些

  1. Cacti:是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,严格意思是说它只能是监控网络设备。

  2. Zabbix:是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

  3. Nagios:是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.

4.Ganglia:是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,简单一点来说就是监控大规模服务器才需要使用到。

优点

  1. Cacti出图比较好,比较适合作交换机和路由器监控。

  2. Zabbix适合中小企业日常部署,监控Linux服务器、Windows服务器、路由器、交换机,报警机制也很友好,可以邮件,微信,短信报警。

  3. Nagios适合中小企业部署使用,监控Linux服务器、路由器、交换机,报警机制有邮件、短信。

  4. Ganglia适合大型企业部署使用,分布式存储,以集群方式来监控,每个区域的Node来监控数据。

缺点

  1. Catic对服务器监控不好用。
  2. Zabbix对超大型、数据量并发很高的应用监控不好,监控会有延时,精度不够,有些监控参数需要会写监控脚本完成。

  3. Nagios部署比较复杂,没有经验的用户会被折磨。出图效果不佳需要借助于RRDTool工具出图。

  4. Ganglia部署成本较高,需要多台主机,部署相对复杂。


部署Zabbix最为便捷

使用Centos7系统安装LAMP环境搭建一个环境,安装zabbix软件,具体操作如下:

1,安装zabbix源

2,安装Zabbix server,Web前端

3,安装MySQL源

4,查看可用的Mysql安装源:yum repolist enabled | grep "mysql.*-community.*"

5,安装MySQL服务:yum -y install mysql-community-server

5,启动MySQL服务,并且开机自启动。

6,查看MySQL服务启动正常:

7,查看登陆MySQL密码:yG&t

9,登陆MySQL

8,更改MySQL密码:

9,创建数据库和zabbix用户并授权:

10,导入初始架构和数据

11,检查数据库导入情况

12,先备份配置文档

13,修改配置文件

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf

15,启动Zabbix Server服务

16,修改Zabbix默认时区为shanghai

[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf +20

17,启动Apache 服务

18,登陆浏览器操作

最后一步下载php

19,把下载下来的文件上传到/etc/zabbix/,你可以使用rz工具上传这个文件。

20,最后打开登陆页面


总结

以上是我工作中用到感觉最为方便的一款监控软件,希望能够对你有所帮助,也希望能和网络上朋友一起多交流。


兰亭溪山


Nmon是一款计算机性能系统监控工具,因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统。

这个系统我有两年多的使用经验,曾经做软件测试工作的时候,有很长一段时间参与了性能、可靠性、媒体流分析等工作。

其实本来linux系统下有一些监控命令或状态数据获取命令的,但是对于一项系统工作来说,几个基础命令是远远不够的,仅仅是解决了执行和数据获取的问题,但有几点无法保证:

  1. 多样化的监控数据获取,是否全面
  2. 数据获取后如何更好的使用,让他产生价值
  3. 数据报告的编写有没有更简单明了的方式

那么Nmon很好的解决了这些问题

Nmon是单个二进制文件:

  • 支持操作系统(Red Hat,SUSE,Ubuntu,Fedora,OpenSUSE等)
  • 支持平台(Power,Mainframe,arm,x86或x86_64)。

nmon安装非常简单,下载后解压缩即可。下载链接:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

执行后会有一些使用参考,这里不详细说

我们看看他的数据是如何采集分析的?

在实际的性能测试中,我们需要把一段时间之内的数据记录下来,可以使用如下命令

./nmon_x86_64_centos7 -c10-s10-f -m .

-f :按标准格式输出文件名称 生成文件:_YYYYMMDD_HHMM.nmon

-t : 输出最耗资源的进程

-s :每隔n秒采集一次,这里为30秒

-c :采集次数,这里为10,即监控=10*30/60=5分钟

-m : 指定生成文件位置

test :监控记录的标题

那么.nmon文件就是结果文件,可以重新保存成csv(下载可以通过winscp等工具)

接下来的重头戏就是:nmon_analyser

这是个什么东西呢,简单理解就是一个Excel表,带宏的Excel,可以通过打开上述csv文件,然后点击分析按钮,一键生成分析报告,这是数据处理最牛逼的地方。

写了这么多,总结一句话:欢迎大家尝试下nmon!


杯酒看苍穹


做过服务器监控的开发者几乎都知道 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 文件



嗨元素


linux服务器快速监控个人感觉zabbix,nagios,grafana都是不错的选择!特别是zabbix自带很多模版供选择!下面是为什么我们要使用监控工具,和常规监控工具介绍

随着互联网的飞速发展服务器和应用app的监控至关重要,完善的监控平台能够快速发展服务器故障,迅速响应进行处理。目前所有IT部门都在面临这个问题。当服务器,网络和应用出现问题时,他们必须尽快做出反应。这些情形往往具有破坏性和高压性,并可能引发影响整个组织运营(和利润)的停机时间。根据去年的报告,平均IT停机损失高达155万美元。更严重的问题是,暴力事件导致每年545小时的员工产能损失。 出于这些原因,企业越来越多地投资于应用性能监视(APM)和服务器监控软件以及其他解决方案。由于“基础设施监控是否是企业所需的解决方案”已经不再是问题,因此问题就变成了应该使用哪些监控工具。 Romexsoft 系统运维和技术支持团队缩小了以下列表,供我们参考。

1. 最佳IT基础设施监控工具评估 服务器和网络监控工具的目标是确保IT服务 24x7 小时全天候稳定运行,并在出现任何问题时告警给IT支持人员。这样,我们可以最大化正常运行时间并制定更好的灾难恢复计划。 一般来说,所有工具都有共性,但又不尽相同。以下列出了我们认为最佳的工具列表。

1.1. Zabbix Zabbix可以说是市场上最流行和健壮的实时监控解决方案之一。Zabbix是开源的,它具有一套简洁的特性,拥有完善可靠的文档,并且由活跃的社区用户更新和支持。其他好处还包括它有良好的易用性,当然,它提供了一个不受制于任何供应商锁定的解决方案。 Zabbix 的众多亮点之一是它能够预测流量趋势并根据收集历史数据来提供系统行为预测。 主要特点: 主动监控 容量规划 内置Java应用服务器监控功能 硬件监控 网页服务 虚拟机监控 Zabbix 可以配置为各种行业提供监控解决方案 —— 从航空航天到金融和零售,同样也适用于大中型企业。Romexsoft 团队依靠此工具为客户提供24x7全天候IT支持。

1.2. Prometheus 这是我们团队最喜欢的另一个开源监控工具,它基于时间序列数据提供详细的基础设施洞悉能力。它是监控高动态环境(如AWS上的容器)的可靠选择。 从本质上讲,Prometheus 爬取(scrape)指标,在本地存储所有采样数据并在数据之上运行其“规则”(rule)来聚合或生成告警。 Prometheus 的主要优势包括: 它既适用于以机器为中心的架构的监控,又适用于面向服务的架构的监控; 它是服务中断期间“首选”的完美工具,因为它使得用户能够快速诊断问题; 即使在故障情况下,用户也始终可以查看系统的统计信息(每个Prometheus服务器都是独立的)。

1.3. Grafana Grafana 是一款用于时间序列的、免费的、出色的分析和监控工具。它使我们能够创建有吸引力的、一目了然的全局数据可视化图像。特别是我们可以可视化系统CPU,内存,磁盘和 I/O 利用率等指标。Grafana这个工具比较万能,我们可以创建来自不同数据源的自定义仪表板和特征数据,并将它们展示为曲线图,单一状态图,表格,热图或自由文本。 Grafana可以轻松的与 Prometheus、Graphite、InfluxDB、MySQL、PostgreSQL 和 Elasticsearch 集成,还可以通过插件与更多的其他数据源连接。虽然Grafana 不是一个独立的解决方案,但它是一个值得考虑进监控体系的优秀插件。我们团队利用Prometheus与Grafana集成来作为作为许多客户的解决方案。

1.4. ManageEngine OpManager ManageEngine OpManager 是一款综合全面的性能监控工具,可提供服务器监控,并允许我们主动管理网络,执行网络配置和网络流量分析,它还有一个应用性能管理插件。但它必须安装到每个目标节点上才能正常使用。 为了满足我们的需求,我们可以设置可自定义的仪表板来监控不同组件的网络和指标。我们还可以将其用于 LAN/WAN 监控,并接收详细的流量路径可视化,查看带宽流量监测并运行各种网络系统性能指标的测定。 与前面的几个工具不同,ManageEngine 属于收费工具,它将会根据业务需求提供定制性报价。

1.5. Amazon CloudWatch Amazon CloudWatch 可以为我们提供更好的应用性能、资源利用率、整体云基础设施监控状况的可视化能力,并帮助我们识别和纠正问题。 CloudWatch 使我们能够以日志、指标和事件的形式收集运维数据。该工具在AWS和本地服务器上运行,这意味着我们可以真正获得所有资产的统一视图。其仪表板是可配置的,允许管理员指示AWS根据预定义事件采取特定操作。 如果我们最近将基础设施迁移到AWS云,应考虑使用此云基础设施管理软件,至少应该用到某些容量的规划上。

1.6. WhatsUp Gold 2017 如今是2019年,但这个网络系统监控工具仍是市场上最简单和最可配置的工具之一,即使是现在。 其中一些亮点包括以下内容: 它最新的“plus”版本包括混合云监控,实时性能,自动和手动故障转移,以及分布式网络的可视化; 高度可定制的告警系统,可包括电子邮件,文本,松弛告警,IFTTT推送,服务重启和Web警报; 自动发现和整个网络映射; 伴随移动应用可以随时洞察应用监控; WhatsUp Gold 可为不同的用户提供完全可定制且极其友好的仪表板。 缺点?只有一个——它仅对Windows操作系统提供支持。

1.7. Icinga Icinga 是最好的免费监控工具之一,它企业和初创公司的热门选择。它的优势在于适应于各种规模组织的灵活性,它致力于监控基础设施和服务。 而且,它提供了很好的阈值分析和清晰的报告和告警。这些都可以友好的显示在仪表板上,并可以通过邮件,短信或其他消息应用进行分发。 此外,它还可以连接到许多流行的 DevOps 工具,为我们的业务需求创建更加个性化的监控解决方案。这些包括 Chef,Puppet,Graylog,Ansible 等。

1.8. Datadog Datadog 被设计成一个为混合云生态系统提供监控的服务,它也可以配置为网络、服务和应用性能提供监控。实际上,它附带了业内最大受支持应用的集成列表,我们可以安插这些集成来获得整个生态系统的统一视图。 该工具可以聚合以下指标和事件: SaaS和云提供商 自动化工具 数据库和通用服务器组件 监控和仪表工具 源代码控制和错误跟踪解决方案 用户根据一系列可选的图形、指标和警报来轻松自定义可视化仪表板和报告。拥有最多五台主机的小公司,可以免费获得Datadog。专业版和企业版则要按每主机定价收费。

2. 实施IT基础设施监控的好处 其实只需从工具的描述中,就可以很容易地收集使用基础设施监控的好处。但是,为了总结它们,这里列出了我们可以获得的确切商业利益。

2.1. 获得基于数据的洞悉而不是主观或预感 任何组织的IT部门都是一种宝贵的资产(commodity),负责其它每个部门的平稳运营,从人力资源到销售、市场、客户服务等。监控允许IT专业人员发掘和洞察有关潜在的问题,尤其是在组织发展壮大并对当前系统造成更多压力时。这些洞悉将转化为基于可靠信息的建议和决策。

2.2. 在早期发现问题 使用主动监控工具意味着我们可以在问题成为灾难前收到告警。监控发现的细微差异和早期征兆将使得我们的IT人员能够预测潜在的问题并规避它们。 这是一种远比灾难发生后才试图救火更加高效的方法————在问题还是星星之火时就抓住并扑灭它们才是最好的办法。

2.3. 计划升级和IT预算 随着组织的发展,当前基础设施的压力也在增长,细致的监控可以指出那些在计划升级时要优先处理的地方。反过来,预算计划也得到了加强。

2.4. 减少停机时间 当然,这是底线。停机会导致终端用户的工作效率降低。订单执行停滞不前; 物流受到影响; 客户服务受到负面影响等。如果这些事情经常发生,商业损失就会发生。


9102一切随缘


我会推荐ELK,除了可以监控网络基础设置,对应用的监控也是完美的。


分享到:


相關文章: