« 上一篇下一篇 »

主机健康状态监控

数据库运行环境中,需要关注的主机状态主要有网络通信、系统软件错误、磁盘空间内存使用,进程数量等。

    1、网络通信
   
    网络通信可以说是最容易检测的了,基本上只需要通过网络ping就可以获知是否正常。如果还不放心,或者所属网段内禁止使用了ping,也可以从监控主机进行固定端口的telnet尝试或ssh登录尝试。由于网络出现故障的时候被动的信息采集方式也会失效(无法与外界通信),所以网络通信的检测主要还是依靠主动检测。

    2、系统软硬件错误
   
    系统软硬件错误一般只能通过检测各种日志文件的信息来实现,如主机的系统日志中基本上都会记录下OS能够检测到的大部分错误信息,如硬件错误,IO错误等。我们一般使用文本监控软件,如sec、logwatch等日志监控专用软件,通过配置相应的匹配规则,从日志文件中捕获满足条件的错误信息,再发送给信息分析模块。

    3、磁盘空间
   
    对于磁盘空间的使用状况监控,通常最简单的shell脚本就可以轻松得到系统中各个分区的当前使用量、剩余的可用空间等信息。积累一定时间段的信息之后,就能很容易得出系统数据量增长趋势。

    4、内存使用
   
    系统物理内存使用量的信息采集同样非常简单,只需要一个基本的系统命令“free”,就可以获得当前系统内存总量,剩余使用量,以及文件系统的buffer和cache两者使用量的信息。而且,除了物理内存使用情况,还可以得到swap使用量。通过shell脚本对这些输出信息进行简单的处理,即可获得足够的信息。当然,如果你希望获取更多的信息,如当前系统使用内存最多的进程,可能还需要借助其他命令(如:top)才能得到。当然,不同的OS在输出值的处理方面可能会稍有区别。

    5、进程数量

    系统进程总数,或某个用户下的进程数,都可以通过“ps”命令经过简单的处理来获得。如获取mysql用户下的总进程数:

    ps-ef ∣‘{print$1}’∣grep “mysql”∣grep-v“grep”we-1

    如果要获得更为详细的某个或者某类进程的信息,同样可以根据上述类似命令得到。

« 上一篇下一篇 »