mirror of
https://github.com/Icinga/icingabeat.git
synced 2025-08-15 14:58:08 +02:00
143 lines
5.8 KiB
Plaintext
143 lines
5.8 KiB
Plaintext
[[filebeat-modules-quickstart]]
|
|
=== Quick start for common log formats
|
|
|
|
Filebeat provides a set of pre-built modules that you can use to rapidly
|
|
implement and deploy a log monitoring solution, complete with sample dashboards
|
|
and data visualizations, in about 5 minutes. These modules support common log
|
|
formats, such as Nginx, Apache2, and MySQL, and can be run by issuing a simple
|
|
command.
|
|
|
|
This topic shows you how to run the basic modules out of the box without extra
|
|
configuration. For detailed documentation and the full list of available
|
|
modules, see <<filebeat-modules>>.
|
|
|
|
If you are using a log file type that isn't supported by one of the available
|
|
Filebeat modules, you'll need to set up and configure Filebeat manually by
|
|
following the numbered steps under <<filebeat-getting-started>>.
|
|
|
|
==== Prerequisites
|
|
|
|
Before running Filebeat modules, you need to:
|
|
|
|
* Install and configure the Elastic stack. See
|
|
{libbeat}/getting-started.html[Getting Started with Beats and the Elastic Stack].
|
|
|
|
* Complete the Filebeat installation instructions described in
|
|
<<filebeat-installation>>. After installing Filebeat, return to this
|
|
quick start page.
|
|
|
|
* Install the Ingest Node GeoIP and User Agent plugins. These plugins are
|
|
required to capture the geographical location and browser information used by
|
|
some of the visualizations available in the sample dashboards. You can install
|
|
these plugins by running the following commands in the Elasticsearch home path:
|
|
+
|
|
[source,shell]
|
|
----------------------------------------------------------------------
|
|
sudo bin/elasticsearch-plugin install ingest-geoip
|
|
sudo bin/elasticsearch-plugin install ingest-user-agent
|
|
----------------------------------------------------------------------
|
|
+
|
|
You need to restart Elasticsearch after running these commands.
|
|
+
|
|
If you are using an https://cloud.elastic.co/[Elastic Cloud] instance, you can
|
|
enable the two plugins from the configuration page.
|
|
|
|
* Verify that Elasticsearch and Kibana are running and that Elasticsearch is
|
|
ready to receive data from Filebeat.
|
|
|
|
[[running-modules-quickstart]]
|
|
==== Running Filebeat modules
|
|
|
|
To set up and run Filebeat modules:
|
|
|
|
include::../../libbeat/docs/step-configure-credentials.asciidoc[]
|
|
|
|
. Run the `setup` command to set up the initial environment. This command
|
|
loads the recommended index template for writing to Elasticsearch and deploys
|
|
the sample dashboards for visualizing the data in Kibana. For example:
|
|
+
|
|
[source,shell]
|
|
----------------------------------------------------------------------
|
|
./filebeat setup -e
|
|
----------------------------------------------------------------------
|
|
+
|
|
The `-e` flag is optional and sends output to standard error instead of syslog.
|
|
|
|
. Start Filebeat and use the `--modules` flag to specify a comma-separated list
|
|
of modules you want to run. The following example starts Filebeat with the
|
|
`system` module enabled (it's assumed that you've already loaded the sample
|
|
dashboards):
|
|
+
|
|
[source,shell]
|
|
----------------------------------------------------------------------
|
|
./filebeat -e --modules system
|
|
----------------------------------------------------------------------
|
|
+
|
|
This command takes care of configuring Filebeat and loading the ingest node
|
|
pipelines and other configuration settings required to parse the log files.
|
|
+
|
|
To run more than one module, specify a comma-separated list of modules. For
|
|
example:
|
|
+
|
|
[source,shell]
|
|
----------------------------------------------------------------------
|
|
./filebeat -e --modules system,nginx,mysql
|
|
----------------------------------------------------------------------
|
|
+
|
|
When you start Filebeat, you should see messages indicating that Filebeat
|
|
has started harvesters for all enabled modules. For example:
|
|
+
|
|
[source,shell]
|
|
----------------------------------------------------------------------
|
|
2017/08/16 23:39:15.414375 harvester.go:206: INFO Harvester started for file: /var/log/displaypolicyd.stdout.log
|
|
----------------------------------------------------------------------
|
|
+
|
|
If you don't see this message for each log file that needs to be read,
|
|
see <<setting-variables>> to find out how to set the path the files.
|
|
|
|
NOTE: Depending on how you've installed Filebeat, you might see errors
|
|
related to file ownership or permissions when you try to run Filebeat modules.
|
|
See {libbeat}/config-file-permissions.html[Config File Ownership and Permissions]
|
|
in the _Beats Platform Reference_ if you encounter errors related to file
|
|
ownership or permissions.
|
|
|
|
This getting started guide uses the `--modules` flag to enable modules
|
|
at the command line when you run Filebeat. In a production environment, you'll
|
|
probably want to use the configs in the `modules.d` directory instead. See
|
|
<<configuration-filebeat-modules>> for more information.
|
|
|
|
[[setting-variables]]
|
|
==== Set the path variable
|
|
|
|
The examples here assume that the logs you're harvesting are in the location
|
|
expected for your OS and that the default behavior of Filebeat is appropriate
|
|
for your environment. Each module provides variables that you can set to fine
|
|
tune the behavior of Filebeat, including the location where it looks for log
|
|
files. For example, the following command sets the path for the Nginx access
|
|
logs:
|
|
|
|
[source,shell]
|
|
----
|
|
./filebeat -e --modules nginx -M "nginx.access.var.paths=[/var/log/nginx/access.log*]"
|
|
----
|
|
|
|
See <<configuration-filebeat-modules>> for more information about setting
|
|
variables and advanced options.
|
|
|
|
|
|
[[visualizing-data]]
|
|
==== Visualize the data in Kibana
|
|
|
|
After you've confirmed that Filebeat is sending events to Elasticsearch, launch
|
|
the Kibana web interface by pointing your browser to port 5601. For example,
|
|
http://127.0.0.1:5601[http://127.0.0.1:5601].
|
|
|
|
Open the dashboard and explore the visualizations for your parsed logs.
|
|
|
|
TIP: If you don't see data in Kibana, try changing the date range to a larger
|
|
range. By default, Kibana shows the last 15 minutes.
|
|
|
|
Here's an example of the syslog dashboard:
|
|
|
|
image:./images/kibana-system.png[Syslog dashboard]
|