Setup

Configuration tl;dr

Files
Sample configuration
Encryption certificate
Listener
Port 5015. For help finding your region’s listener URL, see Account region.
Default log locations
/var/log/nginx/access.log or /var/log/nginx/error.log
Log type (for preconfigured parsing)
Access log: nginx, nginx_access, or nginx-access
Error log: nginx-error
Guided configuration

You’ll need: Filebeat 7 or Filebeat 6, root access

  1. Download the Logz.io certificate

    For HTTPS shipping, download the Logz.io public certificate to your certificate authority folder.

     sudo wget https://raw.githubusercontent.com/logzio/public-certificates/master/COMODORSADomainValidationSecureServerCA.crt -P /etc/pki/tls/certs/
    
  2. Add nginx as an input

    In the Filebeat configuration file (/etc/filebeat/filebeat.yml), add nginx to the filebeat.inputs section.

    Replace <ACCOUNT-TOKEN> with the token of the account you want to ship to.

     # Filebeat 7 configuration
    
     filebeat.inputs:
     - type: log
       paths:
       - /var/log/nginx/access.log
    
       fields:
         logzio_codec: plain
    
         # Your Logz.io account token. You can find your token at
         #  https://app.logz.io/#/dashboard/settings/manage-accounts
         token: <ACCOUNT-TOKEN>
         type: nginx_access
       fields_under_root: true
       encoding: utf-8
       ignore_older: 3h
    
     - type: log
       paths:
       - /var/log/nginx/error.log
    
       fields:
         logzio_codec: plain
    
         # Your Logz.io account token. You can find your token at
         #  https://app.logz.io/#/dashboard/settings/manage-accounts
         token: <ACCOUNT-TOKEN>
         type: nginx_error
       fields_under_root: true
       encoding: utf-8
       ignore_older: 3h
    
     filebeat.registry.path: /var/lib/filebeat
     processors:
     - rename:
         fields:
         - from: "agent"
           to: "filebeat_agent"
         ignore_missing: true
     - rename:
         fields:
         - from: "log.file.path"
           to: "source"
         ignore_missing: true
    
     # Filebeat 6 configuration
    
     filebeat.inputs:
     - type: log
       paths:
       - /var/log/nginx/access.log
    
       fields:
         logzio_codec: plain
    
         # Your Logz.io account token. You can find your token at
         #  https://app.logz.io/#/dashboard/settings/manage-accounts
         token: <ACCOUNT-TOKEN>
         type: nginx_access
       fields_under_root: true
       encoding: utf-8
       ignore_older: 3h
    
     - type: log
       paths:
       - /var/log/nginx/error.log
    
       fields:
         logzio_codec: plain
    
         # Your Logz.io account token. You can find your token at
         #  https://app.logz.io/#/dashboard/settings/manage-accounts
         token: <ACCOUNT-TOKEN>
         type: nginx_error
       fields_under_root: true
       encoding: utf-8
       ignore_older: 3h
    
     registry_file: /var/lib/filebeat/registry
    
  3. Add Logz.io as an output

    If Logz.io is not an output, add it now.

    Replace <LISTENER-URL> with your region’s listener URL. For more information on finding your account’s region, see Account region.

     output.logstash:
       hosts: ["<LISTENER-URL>:5015"]
       ssl:
         certificate_authorities: ['/etc/pki/tls/certs/COMODORSADomainValidationSecureServerCA.crt']
    
  4. Restart Filebeat

     sudo systemctl restart filebeat
    
  5. Check Logz.io for your logs

    Confirm you’re shipping logs by opening an nginx-hosted webpage in your browser. Give your logs a few minutes to get from your system to ours, and then open Kibana.

    If you still don’t see your logs, see log shipping troubleshooting.