ELK8 部署
文章目录
Install Elasticsearch
- ES8 较 ES7,部署过程中支持自动生成、分发 ssl 证书,无需手动签发配置证书,大大简化了部署复杂度。
下载安装包配置路径
|
|
调整系统环境变量
|
|
配置用户及权限
|
|
更改 es 配置
更改 es 内存大小
- 更改所有 es 节点使用的内存大小
|
|
初始化主节点并配置集群设置
- 更改 es 配置
|
|
- 启动 es 并获取首次启动自动生成的账号密码信息
|
|
- 初始化后,也会 elasticsearch 会自动生成 ssl 证书并更改配置文件,新增配置文件如下,无需手动调整
|
|
-
停止 es 并调整配置,更改 es 9300 端口监听地址
- es 9300 端口默认只监听 127.0.0.1,需调整 transport.host 监听外部访问
- 注:此配置需初始化主节点后调整,否则会因为未配置 xpack 导致无法启动
1 2 3 4 5 6 7 8 9 10 11
# 默认监听 127.0.0.1 $ sudo ss -anlp|grep 9300 tcp LISTEN 0 128 [::ffff:127.0.0.1]:9300 [::]:* users:(("java",pid=20576,fd=368)) tcp LISTEN 0 128 [::1]:9300 [::]:* users:(("java",pid=20576,fd=367)) $ vi config/elasticsearch.yml transport.host: 0.0.0.0 # 启动集群 $ sudo -u es bin/elasticsearch # 9300 端口监听所有地址 $ sudo ss -anlp|grep 9300 tcp LISTEN 0 128 [::]:9300 [::]:* users:(("java",pid=20989,fd=367))
- es 9300 端口默认只监听 127.0.0.1,需调整 transport.host 监听外部访问
-
验证节点状态
|
|
其他节点加入集群
- 要接入集群的节点更改配置
|
|
- 初始化的主节生成注册集群的 token
|
|
- 要加入集群的节点 带 token 启动 es
|
|
- 节点 elasticsearch.yml 自动生成以下配置
|
|
- 查看集群信息
|
|
调整集群配置文件
elasticsearch.yml
- discovery.seed_hosts
- 由于 es 脚本局限性问题,早注册的节点此配置存在不完善情况,需进行调整,配置为本集群所有节点的集群通信地址
|
|
- cluster.initial_master_nodes
- 配置为所有允许成为主节点的节点名称
|
|
配置 systemctl,并启动
- vi /etc/systemd/system/elasticsearch.service
|
|
- 启动服务并配置自启
|
|
Install Kibana
下载安装包配置路径
|
|
配置用户及权限
|
|
更改 es 配置
|
|
测试启动
- 前台启动 kibana
|
|
- es 生成 kibana 访问 token
|
|
-
访问 172.16.2.175:5601/tgkibana/?code=421792 并配置 token
- 可使用创建 es 时自动生成的 es 用户访问
-
初始启动后,更改 es 配置,配置完整 es 节点
|
|
- 关闭 Geolp 采集
|
|
配置 systemctl,并设置自启动
- vi /etc/systemd/system/kibana.service
|
|
- 服务自启动
|
|
配置集群监控
- xpack 和 metricbeat 二选一,官方推荐使用 metricbeat,但开启 xpack 更简单
xpack 内置监控
- 开发工具内发送请求
|
|
metricbeat
下载安装包
|
|
配置存储 metricbeat es 连接地址
|
|
- 测试配置文件
|
|
- 测试连接 es
|
|
配置 metricbeat 监控 es
- 开启 es 监控
|
|
-
创建监控用户
- 在 kibana 控制台中创建用户,用户配置 monitoring_user,remote_monitoring_agent,remote_monitoring_collector 角色
- 以用户名:metricbeat_user 密码:vGx2VNxXn330wfFE 为例
-
配置 elasticsearch-xpack 配置文件
|
|
- 初始化 es 中存储监控信息的索引
|
|
开启服务并配置开机自启
|
|
Install Logstash
es 配置 logstash user
创建 logstash role
- 创建 logstash_role
- 集群配置 manage_index_templates,monitor 权限
- 创建时如果遇到报错,可先不添加 monitor role,创建够更改 role 权限,增加 monitor role
- 索引 logstash-* nginx-* t-log-* mysql-slow-* 配置 create write read create_index manage_ilm manage 权限(或 all 权限)
- 集群配置 manage_index_templates,monitor 权限
创建 logstash_user
- 创建 logstash_user 用户,绑定 logstash_system,logstash_role
下载安装包并配置路径
|
|
调整 logstash 配置
jvm.options
- vi /app/logstash/logstash-8.2.0/config/jvm.options
|
|
logstash.yml
- vim /app/logstash/logstash-8.2.0/config/logstash.yml
|
|
startup.options
- vi /usr/local/platform/logstash/logstash-7.12.0/config/startup.options
|
|
patterns/patterns.conf
- 根据实际情况配置正则匹配提取规则
|
|
|
|
conf.d
filter.conf
|
|
input.conf
|
|
mysql-filter.conf
|
|
nginx-filter.conf
|
|
output.conf
|
|
配置用户及权限
|
|
配置 systemctl 并启动
- vim /etc/default/logstash
|
|
- vi /etc/systemd/system/logstash.service
|
|
- 启动服务并配置自启
|
|
配置生命周期及索引模板
创建生命周期策略
- iml-t-log
- 热阶段
- 调整最大主分片大小 10G,最大存在时间 1 天
- 温阶段
- 在以下情况下将数据移到相应阶段:2 天
- 开启索引只读
- 冷阶段:
- 在以下情况下将数据移到相应阶段:30 天
- 开启只读
- 删除阶段
- 在以下情况下将数据移到相应阶段:60 天
创建索引模板
- 针对不同日志类型,可以更改 mappings
|
|
创建索引并绑定别名
|
|
|
|
创建索引模板(8 叫数据视图)
安装 filebeat
|
|
- 更改配置
|
|
启动服务并配置启动
|
|
文章作者 Xiang
上次更新 2022-07-03