我目前正在使用 Linux、Apache、Django 和 MySql 开发一个小型 Web 应用程序。
作为一名对 Linux/shell 脚本/服务器监控知之甚少的开发人员,我不知道我应该做什么样的监控......但是,我喜欢做的一些事情是:
另外,我想知道是否还有其他我应该关注的日志文件/服务?
Rob*_*mos 12
服务器监控取决于哪些指标对服务器的用途很重要。作为一个 Web 应用程序,有很多领域需要覆盖。您可以想到无数的指标,但通常只有这些最低限度:
除了查看现在之外,监控的另一部分是记录过去。这使您能够:
在接下来的两个月中,您是否会以相同的增长耗尽磁盘空间?您是否看到 CPU 使用率随着新功能部署而增加?为什么用户必须等待四秒钟才能查看页面?
我将涉及上述每个指标:
可用性
非常简单的可用性监控是通过 ping 命令进行的,但服务器 ping 的事实并不意味着像 Web 服务器这样的服务可用,因为它可能已经崩溃。更复杂的监控是每小时在网站上运行一次测试交易,以确保用户可以购买产品。
磁盘空间和使用情况
空间指标很明显,您需要在应用停止工作之前提前知道。使用部分有点复杂。使用情况将是诸如字节读/写、每秒输入/输出操作等指标。这些可能很重要,因为如果您看到站点延迟增加与磁盘性能下降相关,则您可能开发了一个坏磁盘,需要多个寻求或读取以满足请求。不要忘记测量 inode 的使用情况,这是我在 OpenVZ 中忘记了几次的指标。
网络使用
达到网络带宽限制?您看到的数字与您的 ISP 看到的数字相同吗?
内存使用情况
当系统开始耗尽内存时,它将开始交换。这会影响性能。
CPU使用率
CPU 在高峰时段是否达到 100% 的峰值?也许您可以通过将服务器升级到更快的 CPU 或更多 CPU 来改善用户体验。CPU 必须处理如此多的网络控制器中断,性能是否会下降?也许是时候投资购买 TCP 卸载卡了。
日志文件
MySQL 慢查询日志:查询运行速度低于您的阈值。查看此文件并根据需要进行改进。如果您无法改进它们并且查询时间对应于沉重的系统负载,那么也许是时候升级了。
应用程序的日志文件:是什么导致了所有繁重的系统负载?他们中的大多数人是否在查看特定页面?为什么今天只有一半的用户上传有效?
Apache 日志文件:了解数字对于站点设计有效性、可用性、广告活动测量、损坏的页面或图像等很有用。
系统的日志文件:黑客尝试、硬件错误、各种守护进程消息。
通常最好将系统日志发送到另一台服务器,这样轨道就不会被覆盖。
除了这些,还有很多东西可以监控:每秒事务数、服务器温度、硬盘温度和智能、RAID 状态、备份报告、批处理作业状态、
有很多工具可以完成上述某些任务。其他更具体的指标如果尚不可用,则需要自行编码(通过 SNMP 显示 qmail 队列大小是我汇总的一个此类指标,因为有时 qmail 会中断,仍然接受新电子邮件但不发送任何邮件) )。
我使用的一些工具,您可以轻松开始使用:
归档时间: |
|
查看次数: |
804 次 |
最近记录: |