Next: Kerberos Services, Previous: File-Sharing Services, Up: Services [Contents][Index]
Tailon is a web application for viewing and searching log files.
The following example will configure the service with default values.
By default, Tailon can be accessed on port 8080 (http://localhost:8080
).
(service tailon-service-type)
The following example customises more of the Tailon configuration,
adding sed
to the list of allowed commands.
(service tailon-service-type (tailon-configuration (config-file (tailon-configuration-file (allowed-commands '("tail" "grep" "awk" "sed"))))))
Data type representing the configuration of Tailon. This type has the following parameters:
config-file
(default: (tailon-configuration-file)
)The configuration file to use for Tailon. This can be set to a tailon-configuration-file record value, or any gexp (see G-Expressions).
For example, to instead use a local file, the local-file
function
can be used:
(service tailon-service-type (tailon-configuration (config-file (local-file "./my-tailon.conf"))))
package
(default: tailon
)The tailon package to use.
Data type representing the configuration options for Tailon. This type has the following parameters:
files
(default: (list "/var/log")
)List of files to display. The list can include strings for a single file or directory, or a list, where the first item is the name of a subsection, and the remaining items are the files or directories in that subsection.
bind
(default: "localhost:8080"
)Address and port to which Tailon should bind on.
relative-root
(default: #f
)URL path to use for Tailon, set to #f
to not use a path.
allow-transfers?
(default: #t
)Allow downloading the log files in the web interface.
follow-names?
(default: #t
)Allow tailing of not-yet existent files.
tail-lines
(default: 200
)Number of lines to read initially from each file.
allowed-commands
(default: (list "tail" "grep" "awk")
)Commands to allow running. By default, sed
is disabled.
debug?
(default: #f
)Set debug?
to #t
to show debug messages.
wrap-lines
(default: #t
)Initial line wrapping state in the web interface. Set to #t
to
initially wrap lines (the default), or to #f
to initially not
wrap lines.
http-auth
(default: #f
)HTTP authentication type to use. Set to #f
to disable
authentication (the default). Supported values are "digest"
or
"basic"
.
users
(default: #f
)If HTTP authentication is enabled (see http-auth
), access will be
restricted to the credentials provided here. To configure users, use a
list of pairs, where the first element of the pair is the username, and
the 2nd element of the pair is the password.
(tailon-configuration-file (http-auth "basic") (users '(("user1" . "password1") ("user2" . "password2"))))
Darkstat is a packet sniffer that captures network traffic, calculates statistics about usage, and serves reports over HTTP.
This is the service type for the
darkstat
service, its value must be a darkstat-configuration
record as in
this example:
(service darkstat-service-type (darkstat-configuration (interface "eno1")))
Data type representing the configuration of darkstat
.
package
(default: darkstat
)The darkstat package to use.
interface
Capture traffic on the specified network interface.
port
(default: "667"
)Bind the web interface to the specified port.
bind-address
(default: "127.0.0.1"
)Bind the web interface to the specified address.
base
(default: "/"
)Specify the path of the base URL. This can be useful if
darkstat
is accessed via a reverse proxy.
The Prometheus “node exporter” makes hardware and operating system statistics provided by the Linux kernel available for the Prometheus monitoring system. This service should be deployed on all physical nodes and virtual machines, where monitoring these statistics is desirable.
This is the service type for the
prometheus-node-exporter
service, its value must be a prometheus-node-exporter-configuration
.
(service prometheus-node-exporter-service-type)
Data type representing the configuration of node_exporter
.
package
(default: go-github-com-prometheus-node-exporter
)The prometheus-node-exporter package to use.
web-listen-address
(default: ":9100"
)Bind the web interface to the specified address.
textfile-directory
(default: "/var/lib/prometheus/node-exporter"
)This directory can be used to export metrics specific to this machine.
Files containing metrics in the text format, with the filename ending in
.prom
should be placed in this directory.
extra-options
(default: '()
)Extra options to pass to the Prometheus node exporter.
Zabbix is a high performance monitoring system that can collect data from a variety of sources and provide the results in a web-based interface. Alerting and reporting is built-in, as well as templates for common operating system metrics such as network utilization, CPU load, and disk space consumption.
This service provides the central Zabbix monitoring service; you also need
zabbix-front-end-service-type
to configure Zabbix
and display results, and optionally zabbix-agent-service-type
on machines that should be monitored (other
data sources are supported, such as Prometheus Node Exporter).
This is the service type for the Zabbix server service. Its value must be a
zabbix-server-configuration
record, shown below.
Available zabbix-server-configuration
fields are:
zabbix-server
(default: zabbix-server
) (type: file-like)The zabbix-server package.
user
(default: "zabbix"
) (type: string)User who will run the Zabbix server.
group
(default: "zabbix"
) (type: group)Group who will run the Zabbix server.
db-host
(default: "127.0.0.1"
) (type: string)Database host name.
db-name
(default: "zabbix"
) (type: string)Database name.
db-user
(default: "zabbix"
) (type: string)Database user.
db-password
(default: ""
) (type: string)Database password. Please, use include-files
with
DBPassword=SECRET
inside a specified file instead.
db-port
(default: 5432
) (type: number)Database port.
log-type
(default: ""
) (type: string)Specifies where log messages are written to:
system
- syslog.
file
- file specified with log-file
parameter.
console
- standard output.
log-file
(default: "/var/log/zabbix/server.log"
) (type: string)Log file name for log-type
file
parameter.
pid-file
(default: "/var/run/zabbix/zabbix_server.pid"
) (type: string)Name of PID file.
ssl-ca-location
(default: "/etc/ssl/certs/ca-certificates.crt"
) (type: string)The location of certificate authority (CA) files for SSL server certificate verification.
ssl-cert-location
(default: "/etc/ssl/certs"
) (type: string)Location of SSL client certificates.
extra-options
(default: ""
) (type: extra-options)Extra options will be appended to Zabbix server configuration file.
include-files
(default: ()
) (type: include-files)You may include individual files or all files in a directory in the configuration file.
The Zabbix agent gathers information about the running system for the Zabbix monitoring server. It has a variety of built-in checks, and can be extended with custom user parameters.
This is the service type for the Zabbix agent service. Its value must be a
zabbix-agent-configuration
record, shown below.
Available zabbix-agent-configuration
fields are:
zabbix-agent
(default: zabbix-agentd
) (type: file-like)The zabbix-agent package.
user
(default: "zabbix"
) (type: string)User who will run the Zabbix agent.
group
(default: "zabbix"
) (type: group)Group who will run the Zabbix agent.
hostname
(default: ""
) (type: string)Unique, case sensitive hostname which is required for active checks and must match hostname as configured on the server.
log-type
(default: ""
) (type: string)Specifies where log messages are written to:
system
- syslog.
file
- file specified with
log-file
parameter.
console
- standard output.
log-file
(default: "/var/log/zabbix/agent.log"
) (type: string)Log file name for log-type
file
parameter.
pid-file
(default: "/var/run/zabbix/zabbix_agent.pid"
) (type: string)Name of PID file.
server
(default: ("127.0.0.1")
) (type: list)List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers and Zabbix proxies. Incoming connections will be accepted only from the hosts listed here.
server-active
(default: ("127.0.0.1")
) (type: list)List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix proxies for active checks. If port is not specified, default port is used. If this parameter is not specified, active checks are disabled.
extra-options
(default: ""
) (type: extra-options)Extra options will be appended to Zabbix server configuration file.
include-files
(default: ()
) (type: include-files)You may include individual files or all files in a directory in the configuration file.
The Zabbix front-end provides a web interface to Zabbix. It does not need to run on the same machine as the Zabbix server. This service works by extending the PHP-FPM and NGINX services with the configuration necessary for loading the Zabbix user interface.
This is the service type for the Zabbix web frontend. Its value must be a
zabbix-front-end-configuration
record, shown below.
Available zabbix-front-end-configuration
fields are:
zabbix-server
(default: zabbix-server
) (type: file-like)The Zabbix server package to use.
nginx
(default: ()
) (type: list)List of nginx-server-configuration
blocks for the Zabbix front-end. When empty, a default that listens on
port 80 is used.
db-host
(default: "localhost"
) (type: string)Database host name.
db-port
(default: 5432
) (type: number)Database port.
db-name
(default: "zabbix"
) (type: string)Database name.
db-user
(default: "zabbix"
) (type: string)Database user.
db-password
(default: ""
) (type: string)Database password. Please, use db-secret-file
instead.
db-secret-file
(default: ""
) (type: string)Secret file which will be appended to zabbix.conf.php file. This file contains credentials for use by Zabbix front-end. You are expected to create it manually.
zabbix-host
(default: "localhost"
) (type: string)Zabbix server hostname.
zabbix-port
(default: 10051
) (type: number)Zabbix server port.
Next: Kerberos Services, Previous: File-Sharing Services, Up: Services [Contents][Index]