yzl
93958d0fb0
|
1 year ago | |
---|---|---|
.. | ||
README.md | 1 year ago | |
template_app_apache_http.yaml | 1 year ago |
README.md
Apache by HTTP
Overview
This template is designed for the effortless deployment of Apache monitoring by Zabbix via HTTP and doesn't require any external scripts.
The template Apache by HTTP
- collects metrics by polling mod_status with HTTP agent remotely:
127.0.0.1
ServerVersion: Apache/2.4.41 (Unix)
ServerMPM: event
Server Built: Aug 14 2019 00:35:10
CurrentTime: Friday, 16-Aug-2019 12:38:40 UTC
RestartTime: Wednesday, 14-Aug-2019 07:58:26 UTC
ParentServerConfigGeneration: 1
ParentServerMPMGeneration: 0
ServerUptimeSeconds: 189613
ServerUptime: 2 days 4 hours 40 minutes 13 seconds
Load1: 4.60
Load5: 1.20
Load15: 0.47
Total Accesses: 27860
Total kBytes: 33011
Total Duration: 54118
CPUUser: 18.02
CPUSystem: 31.76
CPUChildrenUser: 0
CPUChildrenSystem: 0
CPULoad: .0262535
Uptime: 189613
ReqPerSec: .146931
BytesPerSec: 178.275
BytesPerReq: 1213.33
DurationPerReq: 1.9425
BusyWorkers: 7
IdleWorkers: 93
Processes: 4
Stopping: 0
BusyWorkers: 7
IdleWorkers: 93
ConnsTotal: 13
ConnsAsyncWriting: 0
ConnsAsyncKeepAlive: 5
ConnsAsyncClosing: 0
Scoreboard: ...
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Apache 2.4.41
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
See the setup instructions for mod_status.
Check the availability of the module with this command line: httpd -M 2>/dev/null | grep status_module
This is an example configuration of the Apache web server:
<Location "/server-status">
SetHandler server-status
Require host example.com
</Location>
If you use another path, then do not forget to change the {$APACHE.STATUS.PATH}
macro.
Macros used
Name | Description | Default |
---|---|---|
{$APACHE.STATUS.PORT} | The port of the Apache status page. |
80 |
{$APACHE.STATUS.PATH} | The URL path. |
server-status?auto |
{$APACHE.STATUS.SCHEME} | The request scheme, which may be either HTTP or HTTPS. |
http |
{$APACHE.RESPONSE_TIME.MAX.WARN} | The maximum Apache response time expressed in seconds for a trigger expression. |
10 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Apache: Get status | Getting data from a machine-readable version of the Apache status page. For more information see Apache Module mod_status. |
HTTP agent | apache.get_status Preprocessing
|
Apache: Service ping | Simple check | net.tcp.service[http,"{HOST.CONN}","{$APACHE.STATUS.PORT}"] Preprocessing
|
|
Apache: Service response time | Simple check | net.tcp.service.perf[http,"{HOST.CONN}","{$APACHE.STATUS.PORT}"] | |
Apache: Total bytes | The total bytes served. |
Dependent item | apache.bytes Preprocessing
|
Apache: Bytes per second | It is calculated as a rate of change for total bytes statistics.
|
Dependent item | apache.bytes.rate Preprocessing
|
Apache: Requests per second | It is calculated as a rate of change for the "Total requests" statistics.
|
Dependent item | apache.requests.rate Preprocessing
|
Apache: Total requests | The total number of the Apache server accesses. |
Dependent item | apache.requests Preprocessing
|
Apache: Uptime | The service uptime expressed in seconds. |
Dependent item | apache.uptime Preprocessing
|
Apache: Version | The Apache service version. |
Dependent item | apache.version Preprocessing
|
Apache: Total workers busy | The total number of busy worker threads/processes. |
Dependent item | apache.workers_total.busy Preprocessing
|
Apache: Total workers idle | The total number of idle worker threads/processes. |
Dependent item | apache.workers_total.idle Preprocessing
|
Apache: Workers closing connection | The number of workers in closing state. |
Dependent item | apache.workers.closing Preprocessing
|
Apache: Workers DNS lookup | The number of workers in |
Dependent item | apache.workers.dnslookup Preprocessing
|
Apache: Workers finishing | The number of workers in finishing state. |
Dependent item | apache.workers.finishing Preprocessing
|
Apache: Workers idle cleanup | The number of workers in cleanup state. |
Dependent item | apache.workers.cleanup Preprocessing
|
Apache: Workers keepalive (read) | The number of workers in |
Dependent item | apache.workers.keepalive Preprocessing
|
Apache: Workers logging | The number of workers in logging state. |
Dependent item | apache.workers.logging Preprocessing
|
Apache: Workers reading request | The number of workers in reading state. |
Dependent item | apache.workers.reading Preprocessing
|
Apache: Workers sending reply | The number of workers in sending state. |
Dependent item | apache.workers.sending Preprocessing
|
Apache: Workers slot with no current process | The number of slots with no current process. |
Dependent item | apache.workers.slot Preprocessing
|
Apache: Workers starting up | The number of workers in starting state. |
Dependent item | apache.workers.starting Preprocessing
|
Apache: Workers waiting for connection | The number of workers in waiting state. |
Dependent item | apache.workers.waiting Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Apache: Failed to fetch status page | Zabbix has not received any data for items for the last 30 minutes. |
nodata(/Apache by HTTP/apache.get_status,30m)=1 |
Warning | Manual close: Yes Depends on:
|
Apache: Service is down | last(/Apache by HTTP/net.tcp.service[http,"{HOST.CONN}","{$APACHE.STATUS.PORT}"])=0 |
Average | Manual close: Yes | |
Apache: Service response time is too high | min(/Apache by HTTP/net.tcp.service.perf[http,"{HOST.CONN}","{$APACHE.STATUS.PORT}"],5m)>{$APACHE.RESPONSE_TIME.MAX.WARN} |
Warning | Manual close: Yes Depends on:
|
|
Apache: Host has been restarted | Uptime is less than 10 minutes. |
last(/Apache by HTTP/apache.uptime)<10m |
Info | Manual close: Yes |
Apache: Version has changed | Apache version has changed. Acknowledge to close the problem manually. |
last(/Apache by HTTP/apache.version,#1)<>last(/Apache by HTTP/apache.version,#2) and length(last(/Apache by HTTP/apache.version))>0 |
Info | Manual close: Yes |
LLD rule Event MPM discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Event MPM discovery | The discovery of additional metrics if the event Multi-Processing Module (MPM) is used. For more details see Apache MPM event. |
Dependent item | apache.mpm.event.discovery Preprocessing
|
Item prototypes for Event MPM discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Apache: Connections async closing | The number of asynchronous connections in closing state (applicable only to the event MPM). |
Dependent item | apache.connections[async_closing{#SINGLETON}] Preprocessing
|
Apache: Connections async keepalive | The number of asynchronous connections in keepalive state (applicable only to the event MPM). |
Dependent item | apache.connections[async_keep_alive{#SINGLETON}] Preprocessing
|
Apache: Connections async writing | The number of asynchronous connections in writing state (applicable only to the event MPM). |
Dependent item | apache.connections[async_writing{#SINGLETON}] Preprocessing
|
Apache: Connections total | The number of total connections. |
Dependent item | apache.connections[total{#SINGLETON}] Preprocessing
|
Apache: Bytes per request | The average number of client requests per second. |
Dependent item | apache.bytes[per_request{#SINGLETON}] Preprocessing
|
Apache: Number of async processes | The number of asynchronous processes. |
Dependent item | apache.process[num{#SINGLETON}] Preprocessing
|
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums