# {{ ansible_managed }}
#
# New Relic Server Monitor configuration file.
#
# Lines that begin with a # are comment lines and are ignored by the server
# monitor. For those options that have command line equivalents, if the
# option is specified on the command line it will over-ride any value set
# in this file.
#

#
# Option : cgroup_style
# Value  : 0
# Note   : Setting `cgroup_style=0` fixes issue with docker memory reporting
#          Workaround for an issue where new relic cannot get container memory stats.
#          http://stackoverflow.com/questions/36788770/newrelic-does-not-display-cpu-memory-usage-for-dockers-container
# Default: none
#
#cgroup_style=
{% if newrelic_cgroup_style|default(None) != None %}
cgroup_style={{ newrelic_cgroup_style }}
{% endif %}

#
# Option : license_key
# Value  : 40-character hexadecimal string provided by New Relic. This is
#          required in order for the server monitor to start.
# Default: none
#
license_key={{ newrelic_license_key }}

#
# Option : loglevel
# Value  : Level of detail you want in the log file (as defined by the logfile
#          setting below. Valid values are (in increasing levels of verbosity):
#          error        - show errors only
#          warning      - show errors and warnings
#          info         - show minimal additional information messages
#          verbose      - show more detailed information messages
#          debug        - show debug messages
#          verbosedebug - show very detailed debug messages
# Default: error
# Note   : Can also be set with the -d command line option.
#
loglevel={{ newrelic_loglevel }}

#
# Option : logfile
# Value  : Name of the file where the server monitor will store it's log
#          messages. The amount of detail stored in this file is controlled
#          by the loglevel option (above).
# Default: none. However it is highly recommended you set a value for this.
# Note   : Can also be set with the -l command line option.
#
logfile={{ newrelic_logfile }}

#
# Option : proxy
# Value  : The name and optional login credentials of the proxy server to use
#          for all communication with the New Relic collector. In its simplest
#          form this setting is just a hostname[:port] setting. The default
#          port if none is specified is 1080. If your proxy requires a user
#          name, use the syntax user@host[:port]. If it also requires a
#          password use the format user:password@host[:port]. For example:
#            fred:secret@proxy.mydomain.com:8181
# Default: none (use a direct connection)
#
#proxy=
{% if newrelic_proxy|default(None) != None %}
proxy={{ newrelic_proxy }}
{% endif %}

#
# Setting: ssl
# Type   : boolean
# Purpose: If you prefer the daemon to use the secure HTTP (https) protocol
#          when communicating with the New Relic collector servers, set this
#          to true.
# Default: true (as of version 1.4)
#
#ssl=true

#
# Setting: docker_connection
# Type   : string
# Purpose: Determine how to communicate with the Docker API on the local host.
#          Valid values are:
#
#          uds:///path/to/socket
#          unix:///path/to/socket
#          /path/to/socket
#            These three forms are all equivalent and are used to point to the
#            UNIX-domain socket (UDS). The socket path must be absolute and the
#            socket must be writeable.
#
#          tcp://localhost:port
#          http://localhost:port
#            Use an unencrypted connection to the local host on the specified
#            port. If the :port portion is missing it defaults to 2376. The
#            host name MUST be localhost or 127.0.0.1. No other host name is
#            valid.
#
#          https://localhost:port
#            Use an encrypted connection to the local host om the specified
#            port. If the :port portion is missing it defaults to 2376. The
#            host name MUST be localhost or 127.0.0.1. No other host name is
#            valid. In order to use TLS authentication you may need to set
#            the various key and certificate options below.
#
#          If no value is set, attempt to use the default (/var/run/docker.sock)
#          if it exists and is writable. If that fails, attempt to use the value
#          of the environment variable DOCKER_HOST.
#
#          You may need to add the user that you run LSM as to the docker
#          group. Please consult the Docker web site for details and security
#          implications.
# Default: empty
#docker_connection=

#
# Setting: docker_cert_path
# Type   : string
# Purpose: Set the default location to look for the certificate, key and CA
#          certificate for using TLS. If no value is set and the directory
#          $HOME/.docker exists, that is used as the default value. LSM will
#          look in this directory for the cert.pem, key.pem and cacert.pem
#          files, and use them if present. If set, the environment variable
#          $DOCKER_CERT_PATH will be used as the default value if no value
#          is explicitly set here.
# Default: empty
#docker_cert_path=

#
# Setting: docker_cert
#          docker_key
#          docker_cacert
# Type   : string
# Purpose: Set the name of the certificate, key and CA certificate files to
#          use for TLS. If these are not absolute paths they are searched for
#          in the directory determined by docker_cert_path above.
# Default: empty
#docker_cert=
#docker_key=
#docker_cacert=

#
# Setting: ssl_ca_bundle
# Type   : string
# Purpose: Sets the location of a file containing CA certificates in PEM
#          format. When set, the certificates in this file will be used
#          to authenticate the New Relic collector servers. If ssl_ca_path
#          is also set (see below), the certificates in this file will be
#          searched first, followed by the certificates contained in the
#          ssl_ca_path directory. This setting has no effect when ssl
#          is set to false.
# Default: none
# Note   : Can also be set with the -b command line option.
#
#ssl_ca_bundle=

#
# Setting: ssl_ca_path
# Type   : string
# Purpose: Sets the location of a directory containing trusted CA certificates
#          in PEM format. When set, the certificates in this directory will be
#          used to authenticate the New Relic collector servers. If
#          ssl_ca_bundle is also set (see above), it will be searched first
#          followed by the certificates contained in ssl_ca_path. This
#          setting has no effect when ssl is set to false.
# Default: none
# Note   : Can also be set with the -S command line option.
#
#ssl_ca_path=

#
# Option : pidfile
# Value  : Name of a file where the server monitoring daemon will store it's
#          process ID (PID). This is used by the startup and shutdown script
#          to determine if the monitor is already running, and to start it up
#          or shut it down.
# Default: /tmp/nrsysmond.pid
# Note   : Can also be set with the -p command line option.
#
#pidfile=/var/run/newrelic/nrsysmond.pid

# Option : collector_host
# Value  : The name of the New Relic collector to connect to. This should only
#          ever be changed on advise from a New Relic support staff member.
#          The format is host[:port]. Using a port number of 0 means the default
#          port, which is 80 (if not using the ssl option - see below) or 443
#          if SSL is enabled. If the port is omitted the default value is used.
# Default: collector.newrelic.com
#
#collector_host=collector.newrelic.com

#
# Option : labels
# Value  : A series of label_type/label_value pairings
#          Each item in the pair is separated by a colon
#          Each pair is separated by a semicolon
#          e.g.
#            labels = Environment:Production;DataCenter:EastUS;
# Default: none
#
#labels=label_type:label_value
{% if newrelic_labels|default(None) != None %}
labels={{ newrelic_labels }}
{% endif %}

#
# Option : disable_nfs
# Type   : boolean
# Value  : Set to true to disable NFS client statistics gathering.
# Default: false
#
disable_nfs={{ newrelic_disable_nfs | to_nice_json }}

#
# Option : disable_docker
# Type   : boolean
# Value  : Set to true to disable Docker container statistics gathering.
# Default: false
#
disable_docker={{ newrelic_disable_docker | to_nice_json }}

#
# Option : override_hostname
# Type   : string
# Value  : Set to a non-empty value to use as the hostname that will be reported to New Relic
# Default: none
#
#hostname=newrelic.com
{% if newrelic_override_hostname|default(None) != None %}
hostname={{ newrelic_override_hostname }}
{% endif %}