Elastic Stack 8 : Install Filebeat2022/11/09 |
|
Install Filebeat that easily ships log file data to Elasticsearch or Logstash.
|
|
| [1] | Install Filebeat. Configure Elasticsearch repository before it. |
|
root@dlp:~# apt -y install filebeat
|
| [2] | Configure basic settings and start Filebeat. |
|
root@dlp:~#
vi /etc/filebeat/filebeat.yml # line 28 : set items to collect data # if collect logs, turn to [enabled: true] # by default, /var/log/*.log files are shipped
- type: filestream
# Unique ID among all inputs, an ID is required.
id: my-filestream-id
# Change to true to enable this input configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
# Exclude lines. A list of regular expressions to match. It drops the lines that are
# matching any regular expression from the list.
# Line filtering happens after the parsers pipeline. If you would like to filter lines
# before parsers, use include_message parser.
#exclude_lines: ['^DBG']
# Include lines. A list of regular expressions to match. It exports the lines that are
# matching any regular expression from the list.
# Line filtering happens after the parsers pipeline. If you would like to filter lines
# before parsers, use include_message parser.
#include_lines: ['^ERR', '^WARN']
.....
.....
# line 108 : if use Kibana, uncomment and specify output host # if SSL is enabled on Kibana, hostname should be the same with the hostname in certs # [username] and [password] is the admin user's one # if using self-signed certificate, specify [ssl.verification_mode: none] setup.kibana: ..... host: "https://dlp.srv.world:5601" protocol: "https" username: "elastic" password: "password" ssl.enabled: true ssl.verification_mode: none # line 144 : specify output of Elasticsearch # [username] and [password] is the admin user's one # [ssl.certificate_authorities] is the cacert generated by Elasticsearch installation output.elasticsearch: # Array of hosts to connect to.l hosts: ["https://dlp.srv.world:9200"] protocol: "https" username: "elastic" password: "password" ssl.certificate_authorities: "/etc/elasticsearch/certs/http_ca.crt" ..... .....
root@dlp:~#
vi /etc/filebeat/filebeat.reference.yml # line 15 : set items to collect data
- module: system
# Syslog
syslog:
enabled: true
.....
.....
# Authorization logs
auth:
enabled: true
# line 4720 : if use Kibana, uncomment and specify output host # if SSL is enabled on Kibana, uncomment ssl related lines # [username] and [password] is the admin user's one # if using self-signed certificate, specify [ssl.verification_mode: none] setup.kibana: # Kibana Host # Scheme and port can be left out and will be set to the default (http and 5601) # In case you specify and additional path, the scheme is required: http://localhost:5601/path # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601 host: "https://dlp.srv.world:5601" # Optional protocol and basic auth credentials. protocol: "https" username: "elastic" password: "password" # Optional HTTP Path #path: "" # Use SSL settings for HTTPS. Default is true. ssl.enabled: true ..... ..... # after very careful consideration. It is primarily intended as a temporary # diagnostic mechanism when attempting to resolve TLS errors; its use in # production environments is strongly discouraged. # The default value is full. ssl.verification_mode: noneroot@dlp:~# systemctl enable --now filebeat
|
| [3] | Verify status the data has been collected normally. |
|
# index list root@dlp:~# curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/_cat/indices?v Enter host password for user 'elastic': health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open .ds-metricbeat-8.5.0-2022.11.09-000001 MRfmgqLxSGCLapOAJDDZww 1 1 12862 0 15.2mb 15.2mb yellow open .ds-packetbeat-8.5.0-2022.11.09-000001 ooN-ezjvT_-j19g8hmYkwQ 1 1 14229 0 5.5mb 5.5mb yellow open .ds-filebeat-8.5.0-2022.11.09-000001 KNL7VJaXTK-hk7ZVxyty3Q 1 1 6765 0 1mb 1mb yellow open test_index Yw-_PdilSIueIBLM9KmihQ 1 1 1 0 6.4kb 6.4kb # document list on the index root@dlp:~# curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/.ds-filebeat-8.5.0-2022.11.09-000001/_search?pretty
Enter host password for user 'elastic':
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 6765,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : ".ds-filebeat-8.5.0-2022.11.09-000001",
"_id" : "cFZjW4QBpfPiykRa5VVv",
"_score" : 1.0,
"_source" : {
"@timestamp" : "2022-11-09T07:56:18.231Z",
"input" : {
"type" : "filestream"
},
"ecs" : {
"version" : "8.0.0"
},
"host" : {
"name" : "dlp.srv.world",
"mac" : [
"52-54-00-97-AA-CC"
],
"hostname" : "dlp.srv.world",
"architecture" : "x86_64",
"os" : {
"platform" : "ubuntu",
"version" : "22.04.1 LTS (Jammy Jellyfish)",
.....
|
| [4] | If Kibana is running, it's possible to import data to sample Dashboards. |
|
root@dlp:~# filebeat setup --dashboards Loading dashboards (Kibana must be running and reachable) Loaded dashboards |
|
| Sponsored Link |