Принятие Вас имеет корневой доступ к s машине Linux где-нибудь на пути (или конечная точка или даже промежуточный маршрутизатор), можно записать, что iptables постановляет, что соответствует трафику приложения и направляет его к конкретной цепочке, которая действительно только принимает все пакеты. Ядро поддерживает байт и счетчик пакетов на каждой цепочке. Принятие пакетов, которые Вы хотите считать, идет от порта IP 10.1.2.3 TCP 42123 к порту IP 10.7.8.9 TCP 42789:
iptables -I FORWARD -p tcp -s 10.1.2.3 --sport 42123 -d 10.7.8.9 --dport 42789 -j ACCEPT
Замена FORWARD
OUTPUT
на исходном хосте, INPUT
на узле назначения. Можно прочитать счетчики с iptables -nvxL FORWARD 42
где 42 количество правил (первое правило является номером 1).
Сделайте это для каждого направления, если Вы хотите считать оба направления. Прочитайте счетчики в известных временных интервалах для измерения использования пропускной способности.
Можно получить немного гибкости при создании промежуточной цепочки.
iptables -N myapp_counter
iptables -A myapp_counter -j ACCEPT
iptables -I FORWARD -p tcp -s 10.1.2.3 --sport 42123 -d 10.7.8.9 --dport 42789 -j myapp_counter
iptables -I FORWARD -p tcp -s 10.7.8.9 --sport 42789 -d 10.1.2.3 --dport 42123 -j myapp_counter
С этой установкой, счетчиком для myapp_counter
будет включать торговлю обоими направлениями. Другое преимущество прохождения через цепочки - то, что можно атомарно прочитать счетчик на цепочке и установить его на 0 с iptables -nvxZL myapp_counter
. И Вы не должны выяснять число правила, таким образом, легче автоматизировать установку.
Солярис init сценарии является болью. Капитал-A не имеет значения, существует сценарий в /etc/rc.d
это находит каждый файл в /etc/rc3.d
это запускается с 'S' и выполняет их в числовом порядке.
Это оставляет Вас с Запуском С Основ:
/etc/rc3.d/S75Apache2
исполняемый файл набора?
Делает тот сценарий, имеют '#!' строка? Строка корректна (никакие непечатаемые байты, и т.д.)?
Если это - удар, или ksh сценарий выполняет его как ksh -n /etc/rc3.d/S75Apache2 start
. Это скажет Вам, если это будет иметь синтаксические ошибки.
Если можно запустить тот скрипт как корень, попробуйте его: /etc/rc3.d/S75Apache2 start
и /etc/rc3.d/S75Apache2 stop
Проверьте тщательно, чтобы видеть, запускается ли этоhttpd
и остановки httpd
. По крайней мере запустите скрипт с 'запуском' и аргументами 'остановки' сами. Использовать set -x
видеть то, что сценарий делает во время выполнения. Проверьте, чтобы видеть, делает ли, что это делает соответствия, чему Вы верите, это.
Читать /etc/rc3.d/S75Apache2
тщательно. PATH
является малонаселенным при начальной загрузке, и Ваш сценарий не может знать, где некоторые исполняемые файлы во время начальной загрузки, но могли бы при выполнении после начальной загрузки. Попытайтесь не принять слишком много - файлы не могли бы существовать, что Вы думаете, существуют, подобные вещи.
Гарантируйте этому a KnnApache2
сценарий не существует в /etc/rc3.d
. Я противоречу этому Солярис init
будет работать (например), K76Apache2 stop
когда это переходит от уровня выполнения 3 до уровня выполнения 5.
Удостоверьтесь, что сценарий изменяет идентификатор пользователя соответственно. Это, вероятно, не важно для Apache, учитывая, что Ваш сценарий, вероятно, просто звонит apachectl start
с некоторыми командами пролога, но если Вы работаете http
непосредственно, удостоверьтесь что получающееся httpd
процесс имеет корректный идентификатор пользователя. Использовать sudo
или что-то в сценарии для разбираний в нем.
Это поворачивается, там БЫЛА ошибка в сценарии запуска: переменная LD_LIBRARY_PATH не была установлена правильно. Определение этого в сценарии решит проблему.
Для дальнейшего использования существует файл журнала, который содержит сообщения запуска, которые содержали ошибку, которая привела к решению нашей проблемы. Файл:
/var/svc/log/milestone-multi-user-server:default.log
Я нашел ссылку на это в/etc/rc3.d/README файле. Другой день, другой самородок знания!
Вы прокрутили свой собственный Apache (т.е. скомпилировали его от исходного кода), или Вы просто используете Apache, который прибывает предварительно установленный с Солярисом 10?
Хорошо действительно не имеет значения, если Вы находитесь на Солярисе 10 (или позже), поскольку Вы говорите, что Вы - Вы, не должен использовать Солярис init сценарии вообще, необходимо использовать SMF. (да, технически init сценарии все еще поддерживаются, но поскольку Вы указываете, что они - боль, и SMF намного лучше),
Для запуска (теперь, и также автоматически после перезагрузки), веб-сервер Apache 2.2, который прибывает pre-inststalled с Солярисом 10 затем просто, делает это:
svcadm enable /network/http:apache2
При прокрутке собственного Apache затем, необходимо создать декларацию SMF, импортировать декларацию, и от Вас идут. Просто Google для "SMF Солярис" и Вы найдете много рецептов.