В linux, по крайней мере, в centos и, я думаю, также в debian, в демонах есть "iptables". Но на самом деле это сценарий для их загрузки и сохранения, он не запускает процесс и не пишет pidfile.
Как я могу проверить работу iptables с помощью monit?
Для CentOS 6 и ранее вы правы, используя iptables
. CentOS 7 использует firewalld
.
Для мониторинга с помощью Monit вы можете использовать ПРОГРАММА-СТАТУС-ТЕСТ. Есть несколько способов узнать статус iptables
.
Один способ получить статус iptables
в CentOS 6 использовать
$ sudo /etc/init.d/iptables status
Если iptables
не работает, вы получите следующий ответ:
$ sudo /etc/init.d/iptables status
iptables: Firewall is not running.
Если iptables
работает, он будет выглядеть примерно так:
$ sudo /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Напишите скрипт для проверки статуса и grep для Firewall is not running
и укажите код возврата для сценария, затем используйте monit
для запуска скрипта.
Я не тестировал, но это будет выглядеть примерно так:
check program iptables with path "/etc/init.d/iptables status"
if status != 0 then alert