#
# Cookbook:: irrigate-fluentd
# Recipe:: nginx
#
# Copyright: The Orchard
#

include_recipe 'td-agent::default'

# Grant read access to nginx logs and configure sources and filters for nginx log files
if node['fluentd']['nginx_logs'] && !node['fluentd']['nginx_logs'].empty?
  node['fluentd']['nginx_logs'].each do |log_name, log_info|
    logs_path = node['fluentd']['nginx_logs_path']

    directory logs_path do
      mode '0755'
    end

    td_agent_source "source-nginx-#{log_name}" do
      type 'tail'
      tag "nginx.#{log_name}"
      parameters(
        format: log_info['format'],
        path: "#{logs_path}/#{log_name}")
    end

    td_agent_filter "filter-nginx-#{log_name}" do
      type 'record_transformer'
      tag "nginx.#{log_name}"
      parameters(
        record: [{
          host_name: node['fqdn'],
          host_ip: node['ipaddress'],
          log_type: 'nginx',
          log_name: log_name,
        }]
      )
    end
  end
end
