Wer mittels Munin den Lighty tracken will, wird feststellen, dass es im gegensatz zum Apache-Status keine Anzeige der Idle-Servers gibt.
Aus diesem Grund habe ich mal fix einen Patch für die Version 1.5.0 geschrieben, der die Ausgabe der ?auto Page um die Anzeige von “IdleServers” und “Scoreboard” ergänzt.
CODE:
--- src/mod_status.c 2008-01-08 00:00:00.000000000 +0100 +++ src/mod_status.c 2008-01-08 00:00:00.000000000 +0100 @@ -569,6 +569,8 @@ double avg; time_t ts; size_t j; + unsigned int k; + unsigned int l; b = chunkqueue_get_append_buffer(con->send); @@ -595,6 +597,11 @@ buffer_append_long(b, srv->conns->used); BUFFER_APPEND_STRING_CONST(b, "\n"); + /* output idle servers */ + BUFFER_APPEND_STRING_CONST(b, "IdleServers: "); + buffer_append_long(b, srv->conns->size - srv->conns->used); + BUFFER_APPEND_STRING_CONST(b, "\n"); + /* output traffic */ BUFFER_APPEND_STRING_CONST(b, "Traffic: "); avg = p->abs_traffic_out / (srv->cur_ts - srv->startup_ts); @@ -610,6 +617,18 @@ buffer_append_long(b, avg); BUFFER_APPEND_STRING_CONST(b, "\n"); + /* output scoreboard */ + BUFFER_APPEND_STRING_CONST(b, "Scoreboard: "); + for (k = 0; k < srv->conns->used; k++) { + connection *c = srv->conns->ptr[k]; + const char *state = connection_get_short_state(c->state); + buffer_append_string_len(b, state, 1); + } + for (l = 0; l < srv->conns->size - srv->conns->used; l++) { + BUFFER_APPEND_STRING_CONST(b, "_"); + } + BUFFER_APPEND_STRING_CONST(b, "\n"); + /* set text/plain output */ response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/plain"));
Anleitung:
cd lighttpd-1.5.0 wget http://trac.lighttpd.net/trac/attachment/ticket/1507/mod_status.1.5.patch?format=raw patch -p0 < mod_status.patch make distclean ./configure make make install
[UPDATE]
Der Patch wurde im Changelog 2045 bzw. 2046 ins nächste Lighttpd Release aufgenommen.















