Linux云主机 监控方案浅析
1、为何需要监控
监控是运维工程师的眼睛,它可帮助运维工程师第一时间发现系统的问题。
对于服务器的整个生命周期,都要和监控打交道:
当有服务器上架,都需要加入比如CPU负载、内存、网络、磁盘等基础监控项;
当服务器上开始跑应用时,需要加入对应的应用监控,比如Tomcat/Resin,MySQL等;
当服务器进行维护时,需要暂停监控项的告警提示,否则当我们在维护MySQL,监控系统还会给我们报警说MySQL挂了。
以上操作,光靠手动去做将非常繁琐,监控系统需与其他运维系统共同协作来完成。举个例子,比如CMDB中一台服务器上架了,那么监控系统需自动为其加入基础监控项。
如果没有监控,我们就无法知道系统与应用的运行状况,当问题发生时,监控系统需第一时间发出告警信息;告警信息中除了出问题的节点,还应该有些数据和简单的分析。比如问题前后一段时间的CPU负载、网络状况等,以帮助接到报警的人员快速定位问题。
在出现故障以后进行问题分析时,还要靠监控系统。因为监控系统真实的记录了故障发生现场这台服务器的状况。我们可以通过不同纬度的分析,找出问题的原因。
2、三种 Linux云主机 监控方案
2.1、Linux 自带命令实现监控
在Linux环境下,可以通过Python或Shell命令来获取系统的状态信息,
常用的监控命令的如:
1、监控系统负载
[root@CloudBility ~]# uptime
13:42:08 up 3 days, 4 min, 1 user, load average: 0.05, 0.04, 0.05
2、监控内存使用情况
[root@CloudBility ~]# free
total used free shared buff/cache available
Mem: 1016396 340256 95112 75516 581028 413272
Swap: 0 0 0
3、监控CPU使用情况
[root@CloudBility ~]# mpstat
Linux 3.10.0-514.26.2.el7.x86_64 (keegv) 2019年03月01日 _x86_64_ (1 CPU)
13时44分39秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
13时44分39秒 all 1.79 0.00 0.39 0.59 0.00 0.00 0.00 0.00 0.00 97.22
4、监控系统进程
[root@keegv ~]# ps -el | more
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 31293 ep_pol ? 00:00:04 systemd
1 S 0 2 0 0 80 0 - 0 kthrea ? 00:00:00 kthreadd
1 S 0 3 2 0 80 0 - 0 smpboo ? 00:00:03 ksoftirqd/0
5、监控I/O性能:
[root@CloudBility ~]# iostat
Linux 3.10.0-514.26.2.el7.x86_64 (keegv) 2019年03月01日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.79 0.00 0.39 0.59 0.00 97.22
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.74 15.27 25.55 3955533 6616344
vdb 0.00 0.00 0.00 920 0
6、监控网络性能:
[root@CloudBility ~]# netstat -i -c
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 930639 0 0 0 1012487 0 0 0 BMRU
lo 65536 1246803 0 0 0 1246803 0 0 0 LRU
eth0 1500 930652 0 0 0 1012502 0 0 0 BMRU
lo 65536 1246803 0 0 0 1246803 0 0 0 LRU
在此推荐使用Linux top 命令来对Linux系统进行监控。
Linux top命令详解
top 命令是Liunx性能监控程序,它可以在很多 类Unix 下使用,并且它也是 Linux 系统管理员最常用的监控系统性能的工具。
简单来说,top 命令能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器,可以定期显示所有正在运行和实际运行进程并且更新到列表中。
top命令显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户等信息。
它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
命令行输入:
[root@CloudBility ~]# top

第一行 时间相关
top - 13:21:57 ,系统当前时间
up 2 days, 23:45, 系统开机到现在经过了多少时间
1 user, 当前1用户在线
load average: 0.02, 0.03, 0.05,系统1分钟、5分钟、15分钟的CPU负载信息
第二行 Tasks: 任务
74 total, 很好理解,就是当前有74个任务,也就是74个进程。
1 running, 1个进程正在运行
73 sleeping, 73个进程睡眠
0 stopped,停止的进程数
0 zombie,僵死的进程数
第三行 Cpu(s):表示这一行显示CPU总体信息
1.7%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间
0.3%sy:内核占用CPU时间百分比
0.0%ni:改变过优先级的进程占用CPU的百分比
98.0%id:空闲CPU时间百分比
0.0%wa:等待I/O的CPU时间百分比
0.0%hi:CPU硬中断时间百分比
0.0%si:CPU软中断时间百分比
注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;
第四行 Men:内存的意思
1016396K total, 物理内存总量
342660K used, 使用的物理内存量
112116K free, 空闲的物理内存量
561788K buffers 用作内核缓存的物理内存量
第五行 Swap:交换空间
0 total:交换区总量
0 used:使用的交换区量
0 free:空闲的交换区量
411372k avail Mem:可用内存空间
进程信息
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
注:强调一下,使用频率最高的是P、T、M,因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多;
P:CPU占用百分比排序,%CPU;
T:累计占据CPU时间排序,TIME+;
M:占据内存百分比排序,%MEM;
停停停,我们不可能每次都登录上去看服务器的监控信息吧。
2.2、云厂商的监控
云厂商提供的监控服务可用于收集获取云资源的监控指标或自定义的监控指标,探测服务可用性,以及针对指标设置警报。
能让我们快速全面的了解云资源使用情况、业务的运行状况和健康度,并及时收到异常报警做出反应,保证应用程序顺畅运行。

但是云厂商提供的监控存在诸如监控项过少、监控数据丢失、监控频率过低等问题。
3、行云管家 一站式云计算管理平台
在行云管家中,我们为用户提供了两种模式的监控服务:云厂商监控和行云管家Agent监控(需要在主机上安装行云管家Agent);
对于公有云主机而言,行云管家通过API集成了各大云厂商监控服务,用户可直接在行云管家中查看云厂商的监控数据。同时,如果云主机上已经安装了行云管家Agent,也可采用行云管家Agent监控;
而对于局域网主机,我们可以通过安装行云管家Agent来获得监控服务。
3.1、行云管家 与 云厂商 监控模式对比
行云管家Agent监控模式,由安装在主机上的行云管家Agent插件直接向服务器汇报监控数据,有着稳定性高、频率高的优点,下面表格展示了两种监控模式的差异:

3.2、免安装,免运维
无需安装任何Agent,行云管家已经支持了阿里云、腾讯云、华为云、京东云、Ucloud、百度云、AWS、青云、、Azure等主流云厂商,能够让用户在一个主控台中完成对多云厂商的统一管理与监控,行云管家是运维人员最趁手的跨云管理工具。
行云管家支持Windows、Linux/Unix等主流操作系统,可无缝接入公有云厂商的云监控API接口,支持CPU、内存、进程、网络流量等十余项监控指标,并提供基于微信的实时监控告警通知。

3.3、专业服务器性能监控
丰富的监控指标:支持CPU、内存、进程、磁盘IO、网络流量、TCP连接数、平均负载等十余项监控指标;
监控项数据保留时间长:每个监控项均提供30天的监控详情,监控详情细致入微;
监控数据频度高:监控数据粒度最低可至1分钟,报警更及时。

3.4、微信实时接收告警消息
基于微信的告警:只需绑定微信,即可接收告警消息;
查看告警方便快捷:可直接在手机中查看云资源的异常状态,第一时间解决问题;
告警推送不限量:告警推送不限次数,完全免费。

3.5、不仅仅是多云主机监控平台
行云管家为企业提供一站式的云计算管理平台,实现了对多家云厂商多种云计算资源的集中管理,从成本、监控、备份、安全等多个维度提供统一运维管控,对企业而言,只需一个控制台,即可整合操作多个公有云、多个私有云 、混合云以及各种异构资源,从而进行灵活的资源管理与运维。

目前,行云管家云计算管理平台已在官网上线了Demo环境,我们已经导入了多家云服务商的资源,阿里云、腾讯云、华为云、AWS、Azure和私有云都包括,大家可直观的进行体验。

除此之外我们还提供了详细的产品文档,以及多云管理介绍的博客和用例。
目前,行云管家已经连续三年保持云管理领域市场领先地位,我们正帮助 20000+企业级用户,管理着 100000 余台云主机。作为数字化解决方案领导者,行云管家将以持续创新的多云管理技术与方案,与企业携手努力,致力消除复杂性,简化百行百业的数字化转型之旅。
大家有不明白的地方,可以随时咨询我,我免费给大家解答。
(完)
Linux云主机 监控方案浅析的更多相关文章
- linux云主机怎么安装WDCP
linux云主机 教你成功安装WDCP的2个方法(第一个不成功就试第2个) 工具/原料 Xshell 云服务器 方法/步骤 1 先用Xshell连接你的服务器 2 输入一下代码 wget ...
- Linux云主机安装JDK,配置hadoop的详细方式
云主机我使用的是青云的,还有好多其他品牌,比如阿里云 unitedstack 等等. 注册完青云后,会有试用券发到账户,可以利用此券试用其服务. 1 首先创建好一个主机,按照提示选择好系统,创建好一个 ...
- OpenStack平台上,linux云主机可以使用xshell连接,但是无法xftp连接
笔者在OpenStack云平台上创建了CentOS6.6的云主机,用了一段时间后,发现xshell可以连接,但是xftp却连接不上. 于是进行伟大的百度操作,检查网络设置.ssh服务设置等,均正常,否 ...
- 挂载Linux云主机硬盘到本地计算机
现在移动硬盘已经是每个人的生活必需品了,当然网络也是我们生活的必需品,我们现在就是要用网络存储代替硬盘存储,当然再实际使用过程中需要考虑到以下两个问题: 网络延迟 云主机磁盘IO 以上两个关键 ...
- 制作linux云主机镜像
目录 制作linux云主机镜像 1.物理机环境准备 2.安装kvm虚拟机 3.操作虚拟机 4.在物理机上处理镜像 5.拷贝制作好的raw格式的镜像 6.发布镜像到云平台 制作linux云主机镜像 1. ...
- Linux云主机安全入侵排查步骤
导语 经常有用户报障系统被植入恶意程序,如挖矿软件.ddos攻击病毒.syn映射攻击病毒等,可以按照以下流程为用户排查入侵病毒类型: 一.定位病毒进程 对于用户反馈云主机性能卡顿,CPU和内存占用较高 ...
- 本地为Windows,使用Xshell登录Linux云主机
以某东的云主机为实例 1. 下载并安装远程登录软件 下载Xshell软件 下载后双击xshell5_5.0.1332.exe进行安装 2. 安装完成,打开Xshell,并点击新建,根据要求输入相应参数 ...
- linux云主机小技巧
微信服务器安装 安装库 python 3.5环境下 pip安装web.py时 会报错 "no module named "utils" 等问题 更换命令为“pip ins ...
- Azure Linux 云主机使用Root超级用户登录
Azure的Linux虚拟机是可以灵活使用root超级用户的管理员权限的: 1:使用sudo passwd root指令设置超级用户root密码: 使用创建Linux时设置的用户名和密码登陆,使用su ...
随机推荐
- 阿里云Tomcat运行shutdown.sh命令关闭时遇到的问题
1.安装完成jdk之后,然后安装tomcat. tomcat安装成功后,进入tomcat的安装目录,找到bin所在的目录. 使用./startup.sh,启动tomcat; 使用./shutdown. ...
- DotNetCore跨平台~xUnit和测试报告
在进入dotnet core时代之后,测试驱动开发TDD的主要工具不再是微软的nunit,取而代之的是更通用的xunit,微软把它集成到了dotnetcore的项目里,在安装完成vs2017之后,你可 ...
- 关于GitHub在VS中出现“已经存在master版本,无法……”的错误解决方案
引用:http://www.cnblogs.com/SmallZL/p/3637613.html(这篇已经很详细说明如何使用Vs+GitHub),我这里做补充: VS2013已经集成了Git一部分控件 ...
- python制作 whl 源文件,并制作本地pip源
制作whl 1.创建用于存放wheel文件目录 mkdir wheels 2.安装wheel库 pip install wheel 3.进入wheels目录 cd wheels 4.使用pip wh ...
- [SDOI2013]刺客信条
Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客.最终,凭借着他的努力和出众的天赋,成为了杰出的刺 ...
- [转]MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)
本文转自:http://www.cnblogs.com/landeanfen/p/5989092.html 阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHan ...
- IntelliJ IDEA 12 设置优化
1.IntelliJ IDEA简介 IntelliJ IDEA是Eclipse之外又一强大的IDE,Google在今年发布了新的Android开发IDE---Android Studio就是基于Int ...
- Mac 10.11.4 安装mysql-5.7.13 默认密码问题
今天下载了一个最新版的mysql dmg安装包来安装mysql,安装的整个过程竟然都没有提示输入root用户默认密码,我也没太在意,然后连接数据库时竟然提示输入密码,当时就一脸懵逼了.尝试各种密码,为 ...
- python之高阶函数map/reduce
L = [] for n in [1, 2, 3, 4, 5, 6, 7, 8, 9]: L.append(f(n)) print(L) Python内建了map()和reduce()函数. 我们先看 ...
- HDU 5215 Cycle(dfs判环)
题意 题目链接 \(T\)组数据,给出\(n\)个点\(m\)条边的无向图,问是否存在一个奇环/偶环 Sol 奇环比较好判断吧,直接判是否是二分图就行了.. 偶环看起来很显然就是如果dfs到一个和他颜 ...