ELK 监控系统搭建(2) ES安装

4 篇文章 0 订阅
4 篇文章 0 订阅

ELK 监控系统搭建(2) ES安装

1. 环境

elastic search 7.11
jdk 1.8+
(注意,实际完整功能需要jdk11+,es内置有jdk11+,但是会优先采用环境变量JAVA_HOME设置的jdk.,文中有设置使用内置JDK的方法)
本文使用的windows版本

elastic search 官方文档地址: ES官方文档

2. 安装部署

2.1 下载ES

下载地址: ES官网下载地址
大小约300M

2.2 部署

  1. 解压下载下来的压缩包至硬盘某目录.

  2. 运行 bin\elasticsearch.bat

默认访问地址为: http://localhost:9200

3. 常见问题

3.1 允许直接用IP访问

假设es部署在 172.18.30.95 上,默认只能使用 localhost 进行访问,想改为使用 172.18.30.95:9200 进行访问.

修改elasticsearch.yml

network.host: 172.18.30.95
discovery.seed_hosts: ["0.0.0.0", "[::1]"]

3.2 用户名密码设置

  1. 修改elasticsearch.yml ,增加如下配置以开启x-pack验证.
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
  1. 重启es
  2. 设置用户名和密码的命令,这里需要为7个用户分别设置密码,分别是 elastic,apm_system, kibana, kibana_system,logstash_system,beats_system,remote_monitoring_user
    手动设置:bin/elasticsearch-setup-passwords interactive
    自动生成:bin/elasticsearch-setup-passwords auto
  3. 修改密码命令如下
    curl -H "Content-Type:application/json" -XPOST -u 用户名:旧密码 http://172.18.30.95:9200/_xpack/security/user/elastic/_password -d "{\"password\" : \"新密码\" }"

注意: -d 参数的值是json字符串.

正确格式 "{\"password\" : \"新密码\" }" ,json中的" 替换成\"进行转义.

以下是错误格式:

-d '{"password" : "新密码" }' 
-d {"password" : "新密码" }

好多文章里这个都是错的,坑了我好久.

修改密码API说明文档: 修改密码API说明文档

3.3 控制台中文乱码

修改jvm.options

增加配置:-Dfile.encoding=GBK 编码和操作系统编码保持一致.windows中文系统为 GBK

3.4 使用内置jdk

es内置有jdk11+,但是会优先采用环境变量JAVA_HOME设置的jdk.

启用内置jdk方法有两种:

方法1(全局性质): 将环境变量中的JAVA_HOME指向jdk11+.

方法2(只针对es): 修改 bin\elasticsearch-env.bat

if "%JAVA_HOME%" == "" (
  set JAVA="%ES_HOME%\jdk\bin\java.exe"
  set "JAVA_HOME=%ES_HOME%\jdk"
  set JAVA_TYPE=bundled jdk
) else (
 rem 把else中的内容改为和if中的一样
  rem set JAVA="%JAVA_HOME%\bin\java.exe"
  set JAVA="%ES_HOME%\jdk\bin\java.exe"
  set "JAVA_HOME=%ES_HOME%\jdk"
  set JAVA_TYPE=JAVA_HOME
)

linux下修改bin\elasticsearch-env,内容大同小异.

4. 附录-配置文件

共有三个配置文件:
config\elasticsearch.yml es设置
config\jvm.options jvm的设置
config\log4j2.properties 日志设置

这三个配置文件修改后需重启ES才能生效.

4.1 elasticsearch.yml详解

路径: elasticsearch.yml
注意: 初始配置文件中仅放了极少数比较常用的配置.

#---------------------------------- 集群相关 -----------------------------------
#代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的. 

#es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。 

#cluster.name可以确定你的集群名称,当你的elasticsearch集群在同一个网段中elasticsearch会自动的找到具有相同cluster.name的elasticsearch服务. 

#所以当同一个网段具有多个elasticsearch集群时cluster.name就成为同一个集群的标识. 

#cluster.name: my-application

#------------------------------------节点相关------------------------------------
#
#节点名称同理,可自动生成也可手动配置
#node.name: node-1
#Add custom attributes to the node:
#node.attr.rack: r1
#
#-----------------------------------当前节点目录相关 ------------------------------------
#
#数据存储位置 (如果要存到多个目录,则使用英文逗号分隔):
#path.data: /path/to/data
#日志文件目录:
#path.logs: /path/to/logs
#
#-----------------------------------内存相关-----------------------------------
#
#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.
#
#----------------------------------网络设置-----------------------------------
#
#设置绑定的ip地址(也就是浏览器里访问时用的地址),可以是ipv4或ipv6的,默认为192.168.0.1.
#network.host: 192.168.0.1
#
#http端口
#http.port: 9200
#
#For more information, consult the network module documentation.
#
#--------------------------------- Discovery ----------------------------------
#
#提供一个初始的host列表,在本节点启动时进行discovery. 默认值是 ["127.0.0.1", "[::1]"]
#discovery.seed_hosts: ["host1", "host2"]
#
#你可以通过为 cluster.initial_master_nodes 参数设置一系列符合主节点条件的节点的主机名或 IP 地址来引导启动集群
#cluster.initial_master_nodes: ["node-1", "node-2"]
#
#For more information, consult the discovery and cluster formation module documentation.
#
#----------------------------------网关-----------------------------------
#
#一个集群中的N个节点启动后,才允许进行recover处理
#
#gateway.recover_after_nodes: 3
#
#For more information, consult the gateway module documentation.
#
#---------------------------------- Various -----------------------------------
#
#设置是否可以通过正则或者_all删除或者关闭索引库,默认true表示必须需要显式指定索引库名称
#生产环境建议设置为true,删除索引库的时候必须显式指定,否则可能会误删索引库中的索引库。
#
#action.destructive_requires_name: true

4.2 需关注的重点设置

官网文档-important-settings

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值