[root@wallet01 ~]# rpm -ivh elasticsearch-7.9.0-x86_64.rpm
[root@wallet01 ~]# vim /etc/elasticsearch/elasticsearch.yml
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
indices.fielddata.cache.size: 40%
network.host: 192.168.40.201
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

[root@wallet01 ~]# systemctl start elasticsearch.service
[root@wallet01 ~]# systemctl status elasticsearch.service

[root@wallet01 ~]# curl http://192.168.40.201:9200
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "58x-qng_R0qzgWcbcP3IEA",
"version" : {
"number" : "7.9.0",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "a479a2a7fce0389512d6a9361301708b92dff667",
"build_date" : "2020-08-11T21:36:48.204330Z",
"build_snapshot" : false,
"lucene_version" : "8.6.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

[root@wallet01 ~]# rpm -ivh kibana-7.9.0-x86_64.rpm
[root@wallet01 ~]# vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "192.168.40.201"
elasticsearch.hosts: ["http://192.168.40.201:9200"]

[root@wallet01 ~]# service kibana start
kibana started

[root@wallet01 ~]# service kibana status
kibana is running

[root@wallet01 ~]# rpm -ivh heartbeat-7.9.0-x86_64.rpm

[root@wallet01 ~]# vim /etc/heartbeat/heartbeat.yml
setup.kibana:
host: "192.168.40.201:5601"

output.elasticsearch:
hosts: ["192.168.40.201:9200"]

[root@wallet01 ~]# heartbeat setup -e

[root@wallet01 ~]# vim /etc/heartbeat/monitors.d/baidu.yml
- type: http # monitor type `http`. Connect via HTTP an optionally verify response
# ID used to uniquely identify this monitor in elasticsearch even if the config changes
id: baidu

# Human readable display name for this service in Uptime UI and elsewhere
name: baidu

# Enable/Disable monitor
enabled: true

# Configure task schedule
schedule: '@every 5s' # every 5 seconds from start of beat

# Configure URLs to ping
hosts: ["https://www.baidu.com"]

# Configure IP protocol types to ping on if hostnames are configured.
# Ping all resolvable IPs if `mode` is `all`, or only one IP if `mode` is `any`.
ipv4: true
ipv6: true
mode: any

[root@wallet01 ~]# systemctl start heartbeat-elastic.service
[root@wallet01 ~]# systemctl status heartbeat-elastic.service