v0.10 - Toparvion/analog GitHub Wiki

v0.10 - 'Download current log' feature

This release of AnaLog is aimed to shorten the gap between browser capabilities and real users' demands - while AnaLog was deliberately designed with certain browser restrictions in mind, it is quite obvious that ability to work with whole (usually big) log files is essential for day-to-day tasks. That is why AnaLog introduces this new feature - log file downloading directly from browser.

There are several changes to highlight:

  • Download current log button is now available for any log (not plains only) and click on it does not trigger downloading immediately anymore - instead a new 'Control Check' dialog is shown where:

    • Current log's node, path, size and last modified timestamp are displayed;
    • Download button is located along with its variants for downloading just last part of the log (50KB, 500KB, 5MB, 50MB, 200MB - depending of current log size);
    • Dropdown select is displayed to choose a specific member of composite log (in case of latter only);
    • Last error (if any) occurred while fetching log details (e.g. HTTP 404 Not Found, HTTP 503 Unavailable etc).
  • Host and ports of cluster properties are now set separately. There are 2 kind of ports to specify:

    1. Agent port - a port to use by AnaLog server instance to support remote log monitoring;
    2. Server port - a port to use by user browser and by other servers for downloading log files from agent instances.
      This port is not required and by default equals to server.port of current AnaLog instance.
  • clusterNodes param has been renamed to nodes as well as its address property has been renamed to host as it doesn't contain port number anymore.
    For example, if your configuration looks like:

clusterNodes:
  - name: alpha
    address: alpha.example.com:7801

then it should be rewritten as:

nodes:
  - name: alpha
    host: alpha.example.com
    agentPort: 7801
    serverPort: 8080    # may be omitted optional if equals to server.port
  • Added /download resource to AnaLog's server HTTP API:

    • HEAD /download returns content length and last modified timestamp of specified file even if it resides on remote node;
    • GET /download returns the specified file itself (as an attachment in order to facilitate streaming downloading). This also works transparently even for files on remote nodes of AnaLog.

    The new resource is designed to be used in various ways:

    • By web client application (in browser) to start file downloading via dedicated button on the control panel;
    • By other servers to retrieve files from agents in previous scenario;
    • By end users themselves to download frequently used files (e.g. by making a browser bookmark).
  • Every log choice is now provided with label containing its 'type' (local, remote, composite) and list of its nodes.
    This is a groundwork for future support of remote plain logs and composite log configuration refactoring.

⚠️ **GitHub.com Fallback** ⚠️