文档介绍:IT 运维之 Linux 服务器监控方案随着 Linux 应用日益广泛, 绝大部分的网络服务器都使用 Linux 操作系统。为了全面掌握网络服务器的运行状况和趋势,需要对服务器进行全面的监控。利用 Linux 发行版搭建一个网络服务器可能对于许多人都是一件很容易的事情, 但网络服务器正式上线后,服务器数据流动、连接数、网络流量、系统负荷等各方面都会增加,安全问题也随之而来, 再考虑到日志、数据库的重要性, 我想无论是哪一位系统管理员, 都应该迫不及待地想把服务器上线的前期工作做好吧。那我们究竟需要做好哪些工作准备呢?之前有看过一篇文章说到系统管理员应该定期完成的九件事情, 我分析过后, 认为有几件事情是必须得做的。首先是备份, 做好定时备份策略,备份所有你认为重要的数据,并且定期检查你的备份是否有效、全面;日志轮换,无论你想用哪种轮换方式,控制日志增长避免驱动器已满是你的目的;做一定的安全措施,如防火墙 iptables 的访问控制,用 denyhosts 防止黑客远程暴力破解, mysql 远程登录权限等等; 最后就是服务器监控,也是我主要想讲述的内容。对于服务器的硬件资源、性能、带宽、端口、进程、服务等都必须有一个可靠和持续的监测, 统计分析每天的各种数据, 从而能及时反映出服务器哪里存在性能瓶颈、安全隐患等。另外是要有危机意识, 就是了解服务器有可能出现哪些严重的问题, 出现这些问题后该如何去迅速处理。比如数据库的数据丢失,日志容量过大,被黑客入侵等等。说到底,预防是关键。监控,是预防的其中的一项重要工作。这里先说说我需要监控的内容。系统负载、 cpu 使用率、内存占用、磁盘空间、网络流量、端口、进程、 apache 或 tomcat 的连接数、 mysq l 的运行状态这些都是我想要监控的东西, 但又能做到多少呢, 我只能尽力而为了。要了解服务器每时每刻的整体运行状态,单靠几个 Linux 自带的性能监测命令是很难实现的。所以, 利用 shell 脚本和开源监控工具进行服务器监控成为了我的两个主要的选择。利用 shell 脚本监控能够很好把握的监控的内容,时间,警告峰值,以及方便地进行告警通知,自定义监控日志内容等等;而许多开源的监控工具都十分方便和实用,比如有 zabbix 、 cacti 、 nagios 等,而且能够针对不同的监控内容,生成好看的便于观察的曲线图, 多数的开源监控工具都比较成熟, 至于哪个好用就得用过才知道。由于这些监控工具都有许多热血人士写了安装和使用的文档, 我这里就不写进来了。想了解下的朋友也可以到我的博客上走走, 在这里我主要是把自己写的一些 shell 监控脚本分享一下, 希望大家能给点意见。我这里写了四个脚本( 性能监控, 进程监控, 流量监控, 流量分析统计), 并使用 crontab 定时执行脚本进行监控数据的记录, 形成每天的监控日志放在如下相应的文件夹, 并且超过自己设定的告警值后发邮件通知, 如果是腾讯企业邮箱, 163 邮箱那些有免费短信通知功能的可以尝试一下, 收到邮件告警后很快就能收到短信了,十分方便。性能监控脚本############################################