对Linux服务器监控的实例详解
不管是刚接触Linux还是学习了一段时间,都会对Linux具体的案例感兴趣,今天就让我们扣丁学堂带你来了解Linux的具体实例的基础知识点,不管你是量基础小白还是有经验的Linux运维工程师,都会为你以后成为Linux运维工程师打下坚实的基础。
1.监控概要
Linux服务器要保证高可用性,就要对其进行有效的监控,实时了解到服务器的运行状况,各项性能指标是否正常,以防患以未然,进行运维日志的记录,图形化的监控,出现问题的消息报警机制,都是保证Linux服务器能正常对外提供服务的先决条件。
2.监控的内容
监控,是预防的其中的一项重要工作。这里先说说我需要监控的内容。系统负载、cpu使用率、内存占用、磁盘空间、网络流量、端口、进程、apache或tomcat的连接数、mysql的运行状态这些都是需要监控的东西。要了解服务器每时每刻的整体运行状态,单靠几个Linux自带的性能监测命令是很难实现的。所以,利用shell脚本和开源监控工具进行服务器监控成为两个主要的选择。
3.监控的方法
首先是要明白Linux服务器监控的一些常见命令,以及这些命令编写的监控脚本,最后,一些成熟的开源监控工具也是必要的。
3.1常见监控命令
1)【iostat】:iostat命令用来显示存储子系统的详细信息,通常用它来监控磁盘I/O的情况。
2)【meminfo和free】:cat/proc/meminfofree
3)【mpstat】:实时系统监控工具,多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息
4)【netstat】:显示了大量跟网络相关的信息
5)【nmon】:开源工具,用以监控Linux系统的性能,下载及安装
6)【pmap】:pmap命令用来报告每个进程占用内存的详细情况,可用来看是否有进程超支了,该命令需要进程id作为参数。
7)【pspstree】:ps告诉你每个进程占用的内存和CPU处理时间,而pstree以树形结构显示进程之间的依赖关系,包括子进程信息
8)【sar】:sar可用来显示CPU使用率、内存页数据、网络I/O和传输统计、进程创建活动和磁盘设备的活动详情。
9)【strace】:诊断进程工具,如stracels,但是被诊断进程会变慢
10)【tcpdump】网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络。
11)【uptime】:该命令告诉你这台服务器从开机启动到现在已经运行了多长时间了
12)【vmstat】来监控虚拟内存
13)【Wireshark】:是一个网络协议检测程序,让您经由程序抓取运行的网站的相关资讯
14)【dstat】多类型资源统计工具:该命令整合了vmstat,iostat和ifstat三种命令
15)【htop】:更加友好的top,两者区别见:“关于htop和top的比较”
16)【ss】:用来记录套接字统计信息,它可以显示类似netstat一样的信息,同时也能显示更多TCP和状态信息
17)【lsof】:列表显示打开的文件
18)【iftop】是另一个基于网络信息的类似top的程序。它能够显示当前时刻按照带宽使用量或者上传或者下载量排序的网络连接状况
3.3监控工具
3.3.1Cacti+Nagios
【Cacti】:Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
【Nagios】:Nagios是一个监视系统运行状态和网络信息的监视系统。能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等
3.3.2Zabbix
【Zabbix】:Zabbix除了能监视各种网络参数,保证服务器系统的安全运营之外,还能提供如短信、邮件、jabber等通知机制以让系统管理员快速定位/解决存在的各种问题。基本上能实现cacti+nagios的功能。
通过以上对Linux运维案例部分的具体讲解,是否对更多的Linux课程更感兴趣,可以来我们扣丁学堂官网进行了解学习更多的Linux视频教程。