温馨提示×

如何监控Ubuntu触发状态

小樊
44
2026-08-05 23:22:05
栏目: 智能运维

在 Ubuntu 里“监控触发状态”要看你具体指的是哪一类触发,常见场景有下面几种。我按常见需求给你一个由浅入深的清单,你可以对号入座;如果不在里面,再告诉我你具体想监控什么。


一、监控「系统事件 / 触发条件」的常见方式

1️⃣ 监控服务是否被触发(systemd)

如果你指的是 某个服务是否被启动 / 触发

systemctl status 服务名

查看是否处于 active (running)triggered

查看触发历史:

journalctl -u 服务名

查看是否由某个条件触发:

systemctl list-timers --all

✅ 适合:

  • 定时任务(timer)
  • socket / path 触发服务

2️⃣ 监控文件变化(inotify / 触发型)

如果你指的是 某个文件或目录被修改就触发监控

方法一:inotifywait(最常用)

sudo apt install inotify-tools
inotifywait -m /path/to/dir

监控具体事件:

inotifywait -m -e create,modify,delete /path/to/dir

✅ 适合:

  • 文件触发
  • 日志目录
  • 配置变更监控

3️⃣ 监控进程是否被触发(启动 / 退出)

ps aux | grep 进程名

实时查看:

top
htop

或使用 pidstat

pidstat -u -r -d 1

4️⃣ 监控网络触发(端口 / 连接)

查看端口是否被访问(触发服务):

ss -lntp

实时监听:

sudo tcpdump -i any port 80

5️⃣ 监控定时任务(cron 触发)

查看 cron 是否被触发:

grep CRON /var/log/syslog

或:

journalctl -u cron

二、如果你想「主动监控某个状态变化」

✅ 使用 auditd(高级 & 推荐)

监控任何系统级触发行为(文件、命令、权限):

sudo apt install auditd

监控文件访问:

sudo auditctl -w /etc/passwd -p rwxa

查看日志:

sudo ausearch -f /etc/passwd

✅ 适合:

  • 安全审计
  • 精确触发溯源

三、如果你想「图形化 / 实时告警」

1️⃣ Prometheus + Node Exporter(服务器级)

  • 监控 CPU / 内存 / 磁盘
  • 设置阈值触发告警

2️⃣ Zabbix / Netdata

  • Netdata:实时、零配置
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

四、常见“触发状态”速查表

你想监控的 推荐方式
服务是否被触发 systemctl + journalctl
文件变化 inotify / auditd
定时触发 systemd timer / cron
进程启动 ps / top / auditd
网络请求 tcpdump / ss
安全行为 auditd

五、我可以进一步帮你

你可以直接补充一句,比如:

  • ✅「我想监控 某个脚本是否被 systemd 触发
  • ✅「我想监控 某个目录被修改就报警
  • ✅「我想监控 CPU 超过 80% 就触发动作

我可以给你完整可执行的配置示例

0