监控多台服务器

主要分系统监控和业务监控两类

系统监控就是每台主机的CPU,内存网络带宽等使用情况以及Mysql, Redis, Nginx等服务的核心指标等这是比较基本的监控必须得有如果这块监控做的好生产环境可以提前发现很多问题防患于未然。

业务监控就是业务相关的指标如某API每秒调用次数每分钟该API的平均响应时间服务的在线人数甚至一些运营相关的数据如七日留存率啦每日新增用户每日流失用户等。这些数据也很重要他是你整个业务的晴雨表为你做一些重要决策提供依据。

对于系统监控有很多开源软件可以拿来用如比较出名的nagios,cacti,zabbix等部署都比较复杂客户端要部agent还得装一个center用来收集存储展现数据还有好多插件需要维护。通过队列把信息发送给主服务,如果是同机房当然还是写nagios的插件会比较好,这样是统一管理,而只需要写插件如果是机房是分布的,可以考虑nagios之间的消息传递写一些脚本完成,自己写的话是时间问题和管理上不统一的麻烦。但有一个比较简单的东西是collectd它自带了各种插件如系统CPU磁盘利用率mysql,nginx,redix等常用服务都可以进行监控而且自动给你推荐了要监控哪些指标。安装很方便基本上./configuration && make && make install就可以了。

对于业务监控肯定是需要自己写代码上报业务数据的现在比较流行的方案是statsd+graphite比较轻量级而且有很多语言的sdk可以很轻松把各种指标监控起来。

监控的选择 一般要看你的服务器分布:
如果是分布式的机房, 机房很多, 那么对集中监控和处理要求比较高, ganglia本身就有分布式特性, 是第一选择; nagios需要再做些插件的优化和结构调整才能更好的支持分布式的需求. 因为分布式面临的问题是集中管理和可靠性, 可靠性: 网络传输可能出现的问题都要避免监控才能让监控准确; 集中管理: 才可以减少工作量
如果是集中的, 在量很大的情况下还是建议使用ganglia, 如果小其它的很多监控都可以选择, 报警监控还是用nagios, 好像很少有他这样灵活的工具, 但一定要将配置改成最适合自己环境的, 并且最简单和快速的配置 需要自己制定一些规则会比较好。

大多监控体系都差不多如下

  1. 每台机器上安装一个agent用来采集本机的性能数据服务数据
  2. 每台机器部署的业务根据一个sdk向center提交本业务相关的数据
  3. 每个agent可以动态的按需求加载一些插件以便监控新的指标
  4. 一般一个机房内有一个center用来收集各agent和各业务上报的指标
  5. center要把采集到的指标数据进行存储归档压缩一般用rrd database
  6. center还得有一个web界面来查看各个指标的历史图表甚至要有各种视图和dashborad来显示一组相关的指标。
  7. center还要每天把用户自定义的几个关键的指标生产报表发给运维或者相关人员。
  8. center还需要保存各种告警规则如某个指标连续几次超过某个阈值产生告警或者波动超过某个范围产生告警或者某个指标超过多长时间没有上报数据产生告警
  9. center还要进行各种告警的收敛如同类告警的合并临时屏蔽某类告警防止因为网络抖动引起大量告警等没有这些运维人员会淹没在各种告警声中。
  10. center要以各种方式将告警发送给运维人员如短信邮件微信语音等。
  11. center还要对每次告警进行回顾统计分析得出每个系统的薄弱点可用率在线时间稳定性等。

所以说自己搭建一套完善可靠的监控体系挺不容易的需要投入大量的人力和精力去开发和维护。

现在国外也有一些专门做运维外包的厂商center托管在给他们免去了很大的工作量剩下的agent和plugin还是得自己安装但这就简单了反正有很多可以做批量部署的运维工具。

比较出名的有NewRelic,StatHat,hostedgraphite可以去了解一下基本上就是安装个agent就可以向它们的center上报数据了或者是利用他们的Sdk提交一些自定义数据他们负责存储展现告警方面的事情节省很多人力。

国内的话也有人做类似的事情如DNSPod的D监控最近推出了自定义监控的功能兼容graphite的上报接口你自己部署个collectd就可以把各种系统监控指标监控起来了如果要做业务监控graphite也有各种语言的sdk。graphite本身开源周边工具和软件也特别多能满足很多的需求。

服务器数量不太大时,比如小于200台,建议试试Nagios Nagios监控系统的CPU、内存、硬盘等各个基本面都很方便。监控自己的服务也很容易,组合些插件、写点简单的脚本啥的就能做到。

如果服务器数量很多,超过1000台。高效采集这些信息就是个复杂的事情,想想每秒钟要有多少数据往你的监控服务器传送就有点头疼了。这就需要自己精心设计下拓扑结构、写不少代码。当然,也能利用已有的开源框架做到这些信息采集。

监控多台服务器

时间: 2024-10-14 22:08:23

监控多台服务器的相关文章

zabbix 创建主机、主机群组、监控第一台服务器

前面介绍了zabbix服务器和zabbix agent的安装配置,今天使用zabbix监控第一台服务器. 1. 安装zabbix agent 在被监控的服务器上安装zabbix agent . 参考<<zabbix agent安装配置>>. 2. zabbix监控服务器 2.1 创建主机 configuration(组态,配置)–>Hosts(主机)–>Create host(创建主机) 属性 描述 主机名 Host name 主机名,只允许数字,空格,句号,下划线,非

基于ubuntu的mrtg配置,实现监控多台服务器系统资源

文章是参考他人博客整合.改动得出!! 实验结果为监控两台虚拟机的cpu.内存.流量.nginx,简称server端,client端.(为了省事,只用两个,实际操作完成后,会发现数量上的增加很简单) 安装包 server端 mrtg snmp sysstat curl nginx client端 snmp sysstat curl server端配置 编辑server端/etc/snmp/snmpd.conf (可以直接将原配置替换,记得备份原文件) com2sec notConfigUser  

ZABBIX监控一台服务器上多实例memcache落地经验步骤

大家好!我是系统运维工程师: 李超  上一次给大家分享了工作中监控多实例tomcat的自发现zabbix做法,今天带给大家的就是一台服务器上监控多memcache的一个落地经验. 首先我带大家看一下多实例memcache做法,话不多说,咱们开工: 由于是多实例,所以就需要用到zabbix的自动发现功能(LLD)基本思路如下: 1.写自动发现脚本. 2.写状态取值脚本. 3.添加配置文件. 4.添加权限. 5.配置zabbix web. zabbix我采用yum安装所以路径是/etc/zabbix

如何高效的监控多台服务器,该做哪些方面的监控?

这次主要给大家介绍一下从几十台到几千台服务器的运维过程中,监控系统的变迁经历.常说一千个人心中有一千个哈姆雷特,一千个运维的心中有一千种运维的方法,没有一个方法是万能的.可以适用所有的场景,具体问题还得具体分析 一. 服务器数量小于200台的阶段 这个时期一般需要满足基础监控需求,我们主要考虑的是简单易用. 稳定运行. 监控报警三个方面. 云帮手资源监控系统全程可视化界面,一键傻瓜式操作,新手小白也能快速上手:能够从CPU.内存.磁盘.网络四个方面对服务器进行24小时不间断基础监控,并可自主设置

ZABBIX(二) zabbix 监控第一台服务器

一.搭建一台测试服务器 1.安装一台centos7操作系统 本次测试我在虚拟机上安装了一台centos7.2的操作系统: 2.在Centos7.2的操作系统上安装zabbix 的angent服务: (1)导入软件安装源 rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm (2)安装zabbix-agent客户端服务 yum -y install zabbix-ag

Zabbix 三、Zabbix监控第一台服务器

一.zabbix-server添加被监控主机  1.Node1节点安装zabbix-agent,zabbix-sender并修改配置文件 [[email protected] ~]# yum install zabbix-agent zabbix-sender Dependencies Resolved =================================================================================================

zabbix监控第一台服务器

客户机的IP是192.168.0.80,主机名是wls12c 1. 安装客户端, 1.1 新建zabbix的用户 groupadd zabbix useradd -g zabbix zabbix 1.2 安装客户端 ./configure --prefix=/usr/local/zabbix-3.6.2/ --enable-agent make make install 1.3 配置文件 vim etc/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.

支持万台服务器分布式监控系统原始手稿

作者:付炜超 如果你本来打算做一个特别牛的东西,最终不管什么原因没做到,但是你实现的也够cool了! 需求分析: 随着现在的企业不断的发展壮大,大多数的企业都出现了分公司.办事处这类的分支机构,由于总公司还要求对下面子公司的网络设备.主机等资源的状态有着相关的了解,所以就要求IT运维部门对不在同一地域的网络.主机等资源都要进行监控. 功能分析: 1.一个监控系统往往需要集成资产管理,可以从逻辑上展示业务和功能的信息,通过对其进行数据分析,做到对投资与回报的一个反馈展示,为资产的合理规划与使用提供

提取zabbix监控平台单台服务器图形并发邮件python实现

需求:希望每天邮件发出当天某台服务器的监控状态,如果某天都登陆zabbix截图很麻烦,而且并不能保证每天都准点操作,于是写了一段脚本实现自动抓取图片,并组装成html,通过定时邮件发送,实现日报自动化. 一.效果图: 二.代码: #!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb import datetime import cookielib, urllib2,urllib import smtplib from email