linux watchdog日志,watchdog及其应用

一、watchdog介绍

watchdog 通常是一段物理电路,但这里讲的是linux 内核的实现,也就是softdog ,其原理详见IBM developerworks。能够在系统资源耗尽之际实现系统软重启,防止硬重启带来的巨大损失。Watchdog 默认的动作是每隔1分钟往/dev/watchdog设备执行写操作,以证明系统运行正常,发现异常就主动发出重启信号。

watchdog可以通过系统编程实现一些功能,但在linux对应的rpm包里已经帮我们集成了一个watchdog应用。该watchdog 提供了两个接口test和repair 。test选项提供了测试机制,一旦测试失败,watchdog就会采取行动挽救,也就是repair 。 repair 选项提供了挽救系统的办法,默认是重启系统,但可以定制,通常是一个shell 脚本。

二、watchdog应用

安装和启用watchdog包# yum install watchdog

# modinfo softdog

/etc/watchdog.conf 配置

min-memory = 10

#注意,这里指内存页面数,而不是内存大小,内存大小等于页面大小乘以页面数目。

#使用命令“ getconf PAGESIZE” 获得系统内存页面大小,我这里是4096K=4M,也就是说,这里设置的最低内存为4M x 10 = 40M

#意即,当系统可用虚拟内存低于40M时,watchdog将主动重启。

watchdog-device = /dev/watchdog

admin = root #发信收件人,这里是管理员。需要sendmail支持。

interval = 10 #每间隔10秒钟往/dev/watchdog设备中执行一次写操作。

logtick = 60 #睡眠时间,持续写日志到syslog很耗磁盘空间和CPU资源,此选项会隔一段时间写一次,节省资源。

realtime = yes #实时监控,将watchdog 封入内存,防止在系统高负载时watchdog 意外退出。

priority = 1 #优先级

从上面可以得到,watchdog的配置文件里可以监控网络、负载、内存、进程的pid号等。比如在监控到eth0口不正常的时候,我们直接ifup eth0接口 。其配置如下:

# /etc/watchdog.conf 文件中打开如下选项:

interface = eth0

repair-binary= /etc/watchdog.d/repair.sh

# repair.sh内容如下

#!/usr/bin/env bash

ifconfig eth0 >/dev/null

if [$? != “0”];then

ifup eth0

fi

此时通过手动停止eth0网卡,就会发现,直接网卡被修复又起来了。

同样其还有test选项,可以通过开启脚本来自定义检测,如下:

#!/usr/bin/env bash

process_number=`pgrep java |wc -l`

if [ $process_number == “0” ];then

echo “process java is not running”

exit 1

fi

通过检测java进程是否异常,再进行修复(不就是守护进程的功能吗?)。repair脚本的内容这里就不写了。

注:如果repair 失败的话,watchdog依然会重启系统,这个需要注意!可以通过在repair 脚本中加入 exit 0 来防止watchdog 重启系统,即无论修复是否成功,都返回成功,骗过watchdog 的重启机制。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux看门狗是一种硬件或软件机制,用于监视系统的运行状态并在系统出现故障或死锁时自动重启系统。它可以在Linux内核中实现,也可以通过外部硬件实现。Linux看门狗可以提高系统的可靠性和稳定性,特别是在一些关键应用场景下,如工业控制、网络路由器等。 ### 回答2: Linux监视器是一种硬件设备或软件程序,用于检测系统的健康状态并在需要时重启系统以恢复其稳定性。它可以跟踪系统的硬件和软件组件,并且在发生故障或故障时及时通知管理员。 Linux监视器通过向系统提供心跳信号来工作。如果系统暂停或停止响应,监视器会检测到该问题并采取相应措施,例如尝试重新启动系统或发出警报。它可以监视关键组件,例如CPU,内存,磁盘,网络和电源等,并在发现问题时通知管理员。此外,它还可以检测到系统负载和应用程序错误,以及其他可能导致系统故障的问题。 Linux监视器可以作为单独的软件程序运行或作为内核组件集成在操作系统中。一些常见的Linux监视器包括Watchdog和Monit。Watchdog是一个用于检测系统崩溃的软件程序,它可以自动重启系统或执行其他指定操作。 Monit是一款全面的服务器监视工具,它可以监视系统资源,进程和服务,并在发现问题时自动采取措施。 总之,Linux监视器是一种重要的工具,可提高系统的稳定性和可用性。它可以帮助管理员及时了解系统的状态,并采取相应措施,以确保系统持续正常运行。 ### 回答3: Linux 任务监视器,也被称为 Linux watchdog,是一个用于检测和纠正预期之外的系统故障的模块。任务监视器实际上是一种硬件或软件定时器,它监视 Linux 系统上所有进程的状态,并在某些预定义的条件下采取行动。 任务监视器可以用于检测由进程崩溃,锁死或由于当前 CPU 负载过重而导致系统挂起等各种原因引起的系统故障。如果 watchdog 检测到故障,它将根据需求采取一些预定的行动。例如,它可以强制重启系统以消除错误,并在重新启动后重新启动进程。 任务监视器的工作原理是使用硬件或软件计时器来收集特定间隔内的反馈。如果系统没有返回数据,任务监视器将识别到系统异常,并采取相应的措施,例如重启系统或进程。 Linux 任务监视器模块可用于各种嵌入式系统,包括无人值守机制和工厂生产控制系统。linux watchdog 是非常重要的工具,可确保正常运行的 Linux 系统能够持续运行。当在没有人工干预的情况下远程部署 Linux 系统时,任务监视器尤为重要。 总之,Linux watchdog 在维护 Linux 系统高可用性方面发挥了重要作用,检测并消除故障很重要,以确保系统运行顺畅,避免数据丢失和不必要的停机时间。通常,官方发布的 Linux 发行版都会包含该模块,因此可以方便地配置和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值