https://www.elastic.co/cn/downloads
elasticsearch
https://www.elastic.co/cn/downloads/elasticsearch
elasticsearch-7.6.2-windows-x86_64.zip
elasticsearch-7.6.2-linux-x86_64.tar.gz
kibana
https://www.elastic.co/cn/downloads/kibana
kibana-7.6.2-linux-x86_64.tar.gz
kibana-7.6.2-windows-x86_64.zip
logstash
https://www.elastic.co/cn/downloads/logstash
logstash-7.6.2.tar.gz
logstash-7.6.2.zip
1.解压文件elasticsearch-7.6.2-windows-x86_64.zip
2.设置jdk
elasticsearch-7.6.2需要jdk11+,他自带了jdk13
E:\elastic\elasticsearch-7.6.2\jdk\bin>java -version
openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.2+8)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13.0.2+8, mixed mode, sharing)
修改bin\elasticsearch-env.bat,在if defined JAVA_HOME (前加入
set JAVA_HOME=E:\elastic\elasticsearch-7.6.2\jdk
3.配置文件config\elasticsearch.yml,默认就行
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
# Before you set out to tweak and tune the configuration, make sure you
# understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
#cluster.name: my-application
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
#
# Path to log files:
#
#path.logs: /path/to/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
#http.port: 9200
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
4.启动
E:\elastic\elasticsearch-7.6.2\bin>elasticsearch.bat
5.验证,访问http://localhost:9200
{
"name" : "PC-20",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "RzSBjM4-RoKHZ14-77f9EA",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
6.其他,暂不操作
elasticsearch.yml
xpack.security.enabled: true
设置密码 互动
elasticsearch-setup-passwords.bat interactive
1.解压文件kibana-7.6.2-windows-x86_64.zip
2.配置文件config\kibana.yml
设置elasticsearch地址,多个以逗号分隔
elasticsearch.hosts: ["http://localhost:9200"]
设置国际化,中文
i18n.locale: "zh-CN"
# Kibana is served by a back end server. This setting specifies the port to use.
#server.port: 5601
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
#server.host: "localhost"
# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""
# Specifies whether Kibana should rewrite requests that are prefixed with
# `server.basePath` or require that they are rewritten by your reverse proxy.
# This setting was effectively always `false` before Kibana 6.3 and will
# default to `true` starting in Kibana 7.0.
#server.rewriteBasePath: false
# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576
# The Kibana server's name. This is used for display purposes.
#server.name: "your-hostname"
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://localhost:9200"]
# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
#elasticsearch.preserveHost: true
# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"
# The default application to load.
#kibana.defaultAppId: "home"
# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
#elasticsearch.username: "kibana"
#elasticsearch.password: "pass"
# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key
# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files are used to verify the identity of Kibana to Elasticsearch and are required when
# xpack.security.http.ssl.client_authentication in Elasticsearch is set to required.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key
# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ]
# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full
# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500
# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000
# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]
# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}
# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 30000
# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
#elasticsearch.startupTimeout: 5000
# Logs queries sent to Elasticsearch. Requires logging.verbose set to true.
#elasticsearch.logQueries: false
# Specifies the path where Kibana creates the process ID file.
#pid.file: /var/run/kibana.pid
# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout
# Set the value of this setting to true to suppress all logging output.
#logging.silent: false
# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false
# Set the value of this setting to true to log all events, including system usage information
# and all requests.
#logging.verbose: false
# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
#ops.interval: 5000
# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English - en , by default , Chinese - zh-CN .
i18n.locale: "zh-CN"
3.启动
E:\elastic\kibana-7.6.2\bin>kibana.bat
log [23:08:10.445] [warning][config][encryptedSavedObjects][plugins] Generating a random key for xpack.encryptedSavedObjects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml
log [23:34:39.573] [warning][reporting] 正在为 xpack.reporting.encryptionKey 生成随机密钥。要防止待处理报告在重新启动时失败,请在 kibana.yml 中设置 xpack.reporting.encryptionKey
4.访问 http://localhost:5601/
(截图是未设置国际化前的截图)
点击Try our sample data,可以添加3组样例数据,进去后也可以再添。
http://localhost:5601/app/kibana#/management/kibana/settings/?_g=()
管理--高级设置--使用情况数据
禁用使用情况数据收集
http://localhost:5601/app/kibana#/home
添加样例数据
加载数据集和 Kibana 仪表板
http://localhost:5601/app/kibana#/home/tutorial_directory/sampleData
开发工具
http://localhost:5601/app/kibana#/dev_tools/console
GET _search
{
"query": {
"match_all": {}
}
}
# index a doc
PUT myindex/_doc/1
{
"body": "here"
}
# and get it ...
GET myindex/_doc/1
# delete idnex
DELETE myindex/_doc/1
下载
https://www.elastic.co/cn/downloads
开始
https://www.elastic.co/cn/start
官网视频教程
https://www.elastic.co/cn/videos
更多演示
https://www.elastic.co/cn/demos
开始使用 Elasticsearch
https://www.elastic.co/cn/webinars/getting-started-elasticsearch
开始使用 Kibana
https://www.elastic.co/cn/webinars/getting-started-kibana
开始使用 Logstash
https://www.elastic.co/cn/webinars/getting-started-logstash
ELK初学者入门
https://www.elastic.co/cn/webinars/introduction-to-elk-stack-a-primer-for-beginners
ELK之日志与指标分析 (Elastic Stack 101)
https://www.elastic.co/cn/webinars/introduction-elk-stack
借助 ELK Stack 管理日志和实现可观测性简介
https://www.elastic.co/cn/webinars/introduction-to-logging-and-observability-with-the-elk-stack
ELK
https://www.elastic.co/elk-stack
https://www.elastic.co/cn/what-is/elk-stack
英文文档
https://www.elastic.co/guide/index.html
中文文档
https://www.elastic.co/guide/cn/index.html
中文社区,可以提问
https://elasticsearch.cn/
github
https://github.com/elastic
https://github.com/elastic/examples
https://github.com/elastic/examples/tree/master/Common%20Data%20Formats
Common Data Formats/apche_logs
https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
Input plugins
Output plugins
Filter plugins
Codec plugins
Working with Logstash Modules
https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
https://www.elastic.co/guide/en/logstash/current/first-event.html
cd logstash-7.6.2
bin/logstash -e 'input { stdin { } } output { stdout {} }'
bin/logstash -f apache.conf
./filebeat -c filebeat.new.yml
kibana
Dev Tools
GET _cat/indices
GET apache_elastic_example/_search
创建索引模式
apache_elastic_example
metricbeat.yml
tags: ["service-demo", "my-macbook-pro"]
fields:
env: dev
指标
系统指标
cloud.id: "xxxxxx"
cloud.auth: "clastic:******"
注释掉elasticsearch的连接
output.elasticsearch:
hosts: ["localhost:9200"]
beat
./metricbeat modules list
./metricbeat modules enable system
./metricbeat setup
创建了仪表盘,可视化“组件”
启动
./metricbeat -e
check data
System metrics dashboard
日志
filebeat
filebeat.yml
配置雷同metricbeat的
./filebeat modules enable list
./filebeat modules enable system
./filebeat setup
启动
./filebeat -e
check data
System logs dashboard
查看实时日志
Stream live