银河麒麟v10中可通过systemctl status、is-active命令实时检查sshd/zabbix-agent/rsyslog等服务状态,结合脚本+crontab实现每5分钟自动巡检告警,并支持web console图形化查看及journalctl日志追溯异常。

在银河麒麟V10系统中,需实时掌握sshd、zabbix-agent、rsyslog等关键服务是否持续在线、响应正常,避免因服务意外退出导致远程失联或监控断连。
用systemctl检查服务当前状态
这是最直接、最权威的方式,适用于所有通过systemd管理的服务。
打开终端,执行:systemctl status sshd。若服务正在运行,输出中会明确显示【active (running)】,且最近一次启动时间、主进程PID、日志末尾几行均可见。
若返回Unit sshd.service could not be found,说明该服务未安装或服务单元文件名非标准(如某些自编译zabbix-agent可能注册为zabbix_agentd.service),需先确认实际服务名。
对多个关键服务批量检查,可一次性执行:systemctl is-active sshd zabbix-agent rsyslog | paste -s -d' ',结果将并排显示各服务当前状态(如active active inactive)。
设置定时自动检测并告警
仅靠手动检查无法满足生产环境“无人值守”要求,必须建立自动巡检机制。
第一步:创建检测脚本 /usr/local/bin/check-critical-services.sh,内容如下:
#!/bin/bash<br>services=("sshd" "zabbix-agent" "rsyslog")<br>for svc in "${services[@]}"; do<br> if ! systemctl is-active --quiet "$svc"; then<br> echo "$(date): $svc is NOT running" >> /var/log/service-monitor.log<br> logger -t service-monitor "$svc down, alert triggered"<br> fi<br>done
第二步:赋予执行权限:sudo chmod +x /usr/local/bin/check-critical-services.sh。
第三步:添加到cron,每5分钟执行一次:sudo crontab -e,追加一行:*/5 * * * * /usr/local/bin/check-critical-services.sh。
注意:脚本中使用systemctl is-active --quiet不输出任何信息,仅靠退出码判断,避免日志被无用文本刷屏。
方法一:通过Web Console图形化查看
银河麒麟V10服务器版预装Web Console,提供直观的服务状态面板。
在浏览器中访问https://[服务器IP]:9090,使用具备sudo权限的本地账户登录。
进入左侧菜单「系统」→「服务」,页面列出全部systemd服务,状态列以绿色圆点标示active,灰色圆点标示inactive。
点击任一服务名称,可查看详细信息页,包含启动类型(enabled/disabled)、上次启动时间、依赖关系图——这对排查服务启动失败原因非常关键。
方法二:用journalctl追踪服务异常退出记录
当某个服务反复崩溃,systemctl status只能看到当前快照,必须回溯历史日志才能定位根因。
执行:journalctl -u zabbix-agent --since "2 hours ago" --no-pager,查看zabbix-agent最近两小时内的完整日志流。
若服务曾异常终止,日志末尾通常会出现Segmentation fault、Killed(OOM Killer干掉)或Failed with result 'exit-code'等关键线索。
这一步不可跳过:很多服务看似“running”,实则已停止响应请求,仅靠is-active无法发现此类“假活”状态。











