summaryrefslogtreecommitdiffstats
path: root/logsmanagement/rrd_api/rrd_api_web_log.h
diff options
context:
space:
mode:
Diffstat (limited to 'logsmanagement/rrd_api/rrd_api_web_log.h')
-rw-r--r--logsmanagement/rrd_api/rrd_api_web_log.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/logsmanagement/rrd_api/rrd_api_web_log.h b/logsmanagement/rrd_api/rrd_api_web_log.h
new file mode 100644
index 00000000..de0c88e3
--- /dev/null
+++ b/logsmanagement/rrd_api/rrd_api_web_log.h
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+/** @file rrd_api_web_log.h
+ * @brief Incudes the structure and function definitions for
+ * the web log charts.
+ */
+
+#ifndef RRD_API_WEB_LOG_H_
+#define RRD_API_WEB_LOG_H_
+
+#include "daemon/common.h"
+
+struct File_info;
+
+typedef struct Chart_data_web_log chart_data_web_log_t;
+
+#include "../file_info.h"
+#include "../circular_buffer.h"
+
+#include "rrd_api.h"
+
+struct Chart_data_web_log {
+
+ time_t last_update;
+
+ /* Number of collected log records */
+ collected_number num_lines;
+
+ /* Vhosts */
+ struct Chart_str cs_vhosts;
+ collected_number *num_vhosts;
+ int vhost_size, vhost_size_max; /**< Actual size and maximum allocated size of dim_vhosts, num_vhosts arrays **/
+
+ /* Ports */
+ struct Chart_str cs_ports;
+ collected_number *num_ports;
+ int port_size, port_size_max; /**< Actual size and maximum allocated size of dim_ports, num_ports and ports arrays **/
+
+ /* IP Version */
+ collected_number num_ip_ver_4, num_ip_ver_6, num_ip_ver_invalid;
+
+ /* Request client current poll */
+ collected_number num_req_client_current_ipv4, num_req_client_current_ipv6;
+
+ /* Request client all-time */
+ collected_number num_req_client_all_time_ipv4, num_req_client_all_time_ipv6;
+
+ /* Request methods */
+ collected_number num_req_method[REQ_METHOD_ARR_SIZE];
+
+ /* Request protocol */
+ collected_number num_req_proto_http_1, num_req_proto_http_1_1,
+ num_req_proto_http_2, num_req_proto_other;
+
+ /* Request bandwidth */
+ collected_number num_bandwidth_req_size, num_bandwidth_resp_size;
+
+ /* Request processing time */
+ collected_number num_req_proc_time_min, num_req_proc_time_max, num_req_proc_time_avg;
+
+ /* Response code family */
+ collected_number num_resp_code_family_1xx, num_resp_code_family_2xx,
+ num_resp_code_family_3xx, num_resp_code_family_4xx,
+ num_resp_code_family_5xx, num_resp_code_family_other;
+
+ /* Response code */
+ collected_number num_resp_code[RESP_CODE_ARR_SIZE];
+
+ /* Response code type */
+ collected_number num_resp_code_type_success, num_resp_code_type_redirect,
+ num_resp_code_type_bad, num_resp_code_type_error, num_resp_code_type_other;
+
+ /* SSL protocol */
+ collected_number num_ssl_proto_tlsv1, num_ssl_proto_tlsv1_1,
+ num_ssl_proto_tlsv1_2, num_ssl_proto_tlsv1_3,
+ num_ssl_proto_sslv2, num_ssl_proto_sslv3, num_ssl_proto_other;
+
+ /* SSL cipher suite */
+ struct Chart_str cs_ssl_ciphers;
+ collected_number *num_ssl_ciphers;
+ int ssl_cipher_size;
+
+};
+
+void web_log_chart_init(struct File_info *p_file_info);
+void web_log_chart_update(struct File_info *p_file_info);
+
+#endif // RRD_API_WEB_LOG_H_