Elastic Stack 8 : Install Metricbeat2024/08/02 |
|
Install Metricbeat that collects metrics from System or Services.
For Metricbeat details, refer to the official site. |
|
| [1] | Install Metricbeat. Configure Elasticsearch repository before it. |
|
root@dlp:~# apt -y install metricbeat
|
| [2] | Configure basic settings and start Metricbeat. |
|
root@dlp:~#
vi /etc/metricbeat/metricbeat.yml # line 67 : 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 99 : 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. 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/metricbeat/metricbeat.reference.yml # line 61 : set items to collect data # enable and disable to comment out and uncomment
- module: system
metricsets:
- cpu # CPU usage
- load # CPU load averages
- memory # Memory usage
- network # Network IO
- process # Per process metrics
- process_summary # Process summary
- uptime # System Uptime
- socket_summary # Socket summary
#- core # Per CPU core usage
#- diskio # Disk IO
#- filesystem # File system usage for each mountpoint
#- fsstat # File system summary metrics
#- raid # Raid
#- socket # Sockets and connection info (linux only)
#- service # systemd service information
enabled: true
period: 10s
processes: ['.*']
# line 2831 : 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: "" # Optional Kibana space ID. #space.id: "" # Use SSL settings for HTTPS. 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 metricbeat
|
| [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 dataset.size green open .internal.alerts-transform.health.alerts-default-000001 3MDAnVqWRkC_ucXp_f-dRg 1 0 0 0 249b 249b 249b green open .internal.alerts-observability.logs.alerts-default-000001 virq6rX_TAadxqKMrIr4tQ 1 0 0 0 249b 249b 249b green open .internal.alerts-observability.uptime.alerts-default-000001 46XZFk5FRl28WLwbzBCRCw 1 0 0 0 249b 249b 249b green open .internal.alerts-ml.anomaly-detection.alerts-default-000001 03VHbmGgSIOuhotRgmO1Yw 1 0 0 0 249b 249b 249b green open .internal.alerts-observability.slo.alerts-default-000001 IaTLW9hYRIm8y1ikEzlN2g 1 0 0 0 249b 249b 249b green open .internal.alerts-default.alerts-default-000001 XpCXm0SYQa2o_uT14iMPyw 1 0 0 0 249b 249b 249b green open .internal.alerts-observability.apm.alerts-default-000001 0OrsLwbDRVWozBNNt1RAOA 1 0 0 0 249b 249b 249b green open .internal.alerts-observability.metrics.alerts-default-000001 yQqehuwnTN-ndP0O-YoqYg 1 0 0 0 249b 249b 249b green open .kibana-observability-ai-assistant-conversations-000001 ctEkgFQkTc-2Fec_91qYJA 1 0 0 0 249b 249b 249b green open .internal.alerts-ml.anomaly-detection-health.alerts-default-000001 34FcMwC0S26Gw6PQlsAgHA 1 0 0 0 249b 249b 249b green open .internal.alerts-observability.threshold.alerts-default-000001 b9DylGvaSp6Glf8y8lKITA 1 0 0 0 249b 249b 249b green open .kibana-observability-ai-assistant-kb-000001 bde5sw2OTaO0TX18GPGY8Q 1 0 0 0 249b 249b 249b green open .internal.alerts-security.alerts-default-000001 09-NNzj9SBK7QC9yzpFreQ 1 0 0 0 249b 249b 249b yellow open test_index KB7PcAnESd6F8Gz4BJz7AA 1 1 1 0 6.5kb 6.5kb 6.5kb yellow open .ds-metricbeat-8.14.3-2024.08.02-000001 3QM_SeQkRZG-Um9Dopq9Iw 1 1 83 0 458.8kb 458.8kb 458.8kb green open .internal.alerts-stack.alerts-default-000001 yh_lotA4Q0KsZAx4iIGNig 1 0 0 0 249b 249b 249b # document list on the index root@dlp:~# curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/.ds-metricbeat-8.14.3-2024.08.02-000001/_search?pretty
Enter host password for user 'elastic'
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 292,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : ".ds-metricbeat-8.14.3-2024.08.02-000001",
"_id" : "arCxEJEBh42v6JiLyeYb",
"_score" : 1.0,
"_source" : {
"@timestamp" : "2024-08-02T01:26:02.459Z",
"agent" : {
"name" : "dlp.srv.world",
"type" : "metricbeat",
"version" : "8.14.3",
"ephemeral_id" : "a3ab7284-f542-40df-bef7-6019fdafc888",
"id" : "7654b86e-2a63-4239-8278-1a100d051793"
},
"ecs" : {
"version" : "8.0.0"
},
"event" : {
"duration" : 31693106,
"dataset" : "system.process",
"module" : "system"
},
"metricset" : {
"name" : "process",
"period" : 10000
},
"system" : {
"process" : {
"num_threads" : 135,
.....
.....
|
| [4] | If Kibana is running, it's possible to import data to sample Dashboards. |
|
root@dlp:~# metricbeat setup --dashboards Loading dashboards (Kibana must be running and reachable) Loaded dashboards |
|
|
| Sponsored Link |
|
|