如何部署Linux云主机 监控方案

来源:贝尔盾      时间:2019-11-05
  • 762
  • 59
  • 453

  1、为何需要监控
 
  监控是运维工程师的眼睛,它可帮助运维工程师第一时间发现系统的问题。
 
  对于服务器的整个生命周期,都要和监控打交道:
 
  当有服务器上架,都需要加入比如CPU负载、内存、网络、磁盘等基础监控项;
 
  当服务器上开始跑应用时,需要加入对应的应用监控,比如Tomcat/Resin,MySQL等;
 
  当服务器进行维护时,需要暂停监控项的告警提示,否则当我们在维护MySQL,监控系统还会给我们报警说MySQL挂了。
 
  以上操作,光靠手动去做将非常繁琐,监控系统需与其他运维系统共同协作来完成。举个例子,比如CMDB中一台服务器上架了,那么监控系统需自动为其加入基础监控项。
 
  如果没有监控,我们就无法知道系统与应用的运行状况,当问题发生时,监控系统需第一时间发出告警信息;告警信息中除了出问题的节点,还应该有些数据和简单的分析。比如问题前后一段时间的CPU负载、网络状况等,以帮助接到报警的人员快速定位问题。
 
  在出现故障以后进行问题分析时,还要靠监控系统。因为监控系统真实的记录了故障发生现场这台服务器的状况。我们可以通过不同纬度的分析,找出问题的原因。
 
  2、三种Linux云主机监控方案
 
  2.1、Linux自带命令实现监控
 
  在Linux环境下,可以通过Python或Shell命令来获取系统的状态信息,
 
  常用的监控命令的如:
 
  1、监控系统负载
 
  [root@CloudBility~]#uptime
 
  13:42:08up3days,4min,1user,loadaverage:0.05,0.04,0.05
 
  2、监控内存使用情况
 
  [root@CloudBility~]#free
 
  totalusedfreesharedbuff/cacheavailable
 
  Mem:10163963402569511275516581028413272
 
  Swap:000
 
  3、监控CPU使用情况
 
  [root@CloudBility~]#mpstat
 
  Linux3.10.0-514.26.2.el7.x86_64(keegv)2019年03月01日_x86_64_(1CPU)
 
  13时44分39秒CPU%usr%nice%sys%iowait%irq%soft%steal%guest%gnice%idle
 
  13时44分39秒all1.790.000.390.590.000.000.000.000.0097.22
 
  4、监控系统进程
 
  [root@keegv~]#ps-el|more
 
  FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD
 
  4S0100800-31293ep_pol?00:00:04systemd
 
  1S0200800-0kthrea?00:00:00kthreadd
 
  1S0320800-0smpboo?00:00:03ksoftirqd/0
 
  5、监控I/O性能:
 
  [root@CloudBility~]#iostat
 
  Linux3.10.0-514.26.2.el7.x86_64(keegv)2019年03月01日_x86_64_(1CPU)
 
  avg-cpu:%user%nice%system%iowait%steal%idle
 
  1.790.000.390.590.0097.22
 
  Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
 
  vda3.7415.2725.5539555336616344
 
  vdb0.000.000.009200
 
  6、监控网络性能:
 
  [root@CloudBility~]#netstat-i-c
 
  KernelInterfacetable
 
  IfaceMTURX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg
 
  eth015009306390001012487000BMRU
 
  lo6553612468030001246803000LRU
 
  eth015009306520001012502000BMRU
 
  lo6553612468030001246803000LRU
 
  在此推荐使用Linuxtop命令来对Linux系统进行监控。
 
  Linuxtop命令详解
 
  top命令是Liunx性能监控程序,它可以在很多类Unix下使用,并且它也是Linux系统管理员最常用的监控系统性能的工具。
 
  简单来说,top命令能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器,可以定期显示所有正在运行和实际运行进程并且更新到列表中。
 
  top命令显示出CPU的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户等信息。
 
  它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
 
  命令行输入:
 
  [root@CloudBility~]#top
 
  第一行时间相关
 
  top-13:21:57,系统当前时间
 
  up2days,23:45,系统开机到现在经过了多少时间
 
  1user,当前1用户在线
 
  loadaverage:0.02,0.03,0.05,系统1分钟、5分钟、15分钟的CPU负载信息
 
  第二行Tasks:任务
 
  74total,很好理解,就是当前有74个任务,也就是74个进程。
 
  1running,1个进程正在运行
 
  73sleeping,73个进程睡眠
 
  0stopped,停止的进程数
 
  0zombie,僵死的进程数
 
  第三行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:内存的意思
 
  1016396Ktotal,物理内存总量
 
  342660Kused,使用的物理内存量
 
  112116Kfree,空闲的物理内存量
 
  561788Kbuffers用作内核缓存的物理内存量
 
  第五行Swap:交换空间
 
  0total:交换区总量
 
  0used:使用的交换区量
 
  0free:空闲的交换区量
 
  411372kavailMem:可用内存空间
 
  进程信息
 
  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、微信实时接收告警消息
 
  基于微信的告警:只需绑定微信,即可接收告警消息;
 
  查看告警方便快捷:可直接在手机中查看云资源的异常状态,第一时间解决问题;
 
  告警推送不限量:告警推送不限次数,完全免费。
 
   

本文由【贝尔盾服务器】转载编辑,内容仅供取名参考学习,如涉及侵权,请联系贝尔云服务器客服删除!

本文链接: http://www.szbelle.com/news/123.html (转载请保留)