Recently I wanted to set up better monitoring for our several FOEX webservers and decided not to use an off-the-shelf solution, since I wanted to have the analysis results in my Oracle Database, ready to be used by whatever internal tools we have.
Immediately I thought of an old blogpost by Carsten Czarski (him and Tim Hall seem to have all Oracle answers present on their respective blogs), but decided against using remote tables spread over several servers.
Instead I did setup a new datamodel to import the webserver logfile data into. Check out my QuickSQL definition:
host host_name /nn alias vc100 ip_address vc16 request request_string /nn user_agent user_agent_string /nn alias vc100 is_bot yn agent_type vc2000 agent_name vc2000 agent_version vc2000 os_type vc2000 os_name vc2000 os_version_name vc2000 os_version_number vc2000 os_producer vc2000 os_producer_url vc2000 linux_distribution vc2000 agent_language vc2000 agent_language_tag vc2000 referrer referrer_string /nn alias vc100 http_status http_status /nn /unique alias vc100 is_used yn access_log host_id /nn remote_ip vc16 access_time timestamp /nn request_id http_status number bytes number referrer_id user_agent_id hash number /index /nn # settings = { prefix: "AWL", PK: "TRIG", drop: true, language: "EN" }
Using this data model it was very easy to create some charts based on analytic queries to visualize the data of interest:
Even before that we had to solve the issue of how to transport the logfile data (in almost real-time) from the webservers to the database.
Keep on reading how to stream the logfile data into the database in the next post.
Pingback: Building a monitoring dashboard with Oracle APEX JET Charts