이 모니터는 Apache 구성을 확인하기 위해 스크립트를 실행하고, 구성에서 경고나 오류를 발견한 경우 경고를 보냅니다.
Apache HTTP 서버 구성 파일에 구성 문제가 있습니다. 다시 시작하면 서버가 올바르게 시작하지 않을 수 있습니다. 이 모니터는 구성의 유효성을 검사하기 위해 -t 옵션으로 httpd 또는 apache2ctl 프로그램을 실행합니다. 프로그램이 구성에서 문제를 발견하면 오류 또는 경고 상태가 설정됩니다.
httpd.conf 또는 include 파일의 구성이 잘못되었습니다. 구성 문제에 대한 자세한 내용은 경고 메시지와 컨텍스트를 검토합니다.
보고된 구성 문제를 해결합니다.
Target | Microsoft.ApacheHTTPServer.ManagedServer.Unix | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.ShellScript.Status.ThreeState.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.ApacheHTTPServer.ManagedServer.Unix.ConfigurationCheck.Monitor" Accessibility="Public" Target="Microsoft.ApacheHTTPServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.ShellScript.Status.ThreeState.MonitorType" ParentMonitorID="Health!System.Health.ConfigurationState" Enabled="onStandardMonitoring">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.ApacheHTTPServer.ManagedServer.Unix.ConfigurationCheck.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context///*[local-name()="StdOut"]$</AlertParameter1>
<AlertParameter2>$Data/Context///*[local-name()="StdErr"]$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="StatusOK" ID="StatusOK"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="StatusWarning" ID="StatusWarning"/>
<OperationalState HealthState="Error" MonitorTypeStateID="StatusError" ID="StatusError"/>
</OperationalStates>
<Configuration>
<Interval>14400</Interval>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Script>
#!/bin/bash
if [ -x "/usr/sbin/apache2ctl" ]
then
result=`/usr/sbin/apache2ctl -t `
fi
if [ -x "/usr/sbin/httpd" ]
then
result=`/usr/sbin/httpd -t `
fi
if [ -x "/usr/local/apache2/bin/apachectl" ]
then
result=`/usr/local/apache2/bin/apachectl -t `
fi
printf "$result"
exit 0</Script>
<ScriptArgs/>
<Timeout>120</Timeout>
<UserName>$RunAs[Name="Unix!Microsoft.Unix.ActionAccount"]/UserName$</UserName>
<Password>$RunAs[Name="Unix!Microsoft.Unix.ActionAccount"]/Password$</Password>
<WarningStatus>[w|W]arn</WarningStatus>
<ErrorStatus>Syntax [E|e]rr</ErrorStatus>
</Configuration>
</UnitMonitor>