Elastic Stack
课程:ElasticStack高级搜索入门到项目实战!Linux运维必备 (oldboyedu.com)
(29条消息) ELK日志系统搭建完整详细步骤_郑爱辰的博客-CSDN博客
一、 Elastic Stack在企业常见架构
1.1、Elastic Stack分布式日志系统概述
E—ekastucsearch
解决数据存储和检索(存放数据和查询数据以及分析)
L—logstash
主要有两个功能,收集和简单处理(切数据)
K—Kibana
图形化管理插件,用以展示数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02Slxb1c-1686294863467)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426190954410.png)]
老的品牌教ELK
新的品牌教ElasticStack
名字由来
logstash是一个重量级的服务,使用起来不方便,有时只需要执行简单的日志收集操作,所以很多插件用不上,因此专门开发了Beats组件:只有一个作用,收集日志。而日志处理还是交给logstash处理
Beats由多个收集组件组成
因此就以公司名字Elastic+技术栈Stack命名 ElasticStack
The Elastic Stack, 包括Elasticsearch、Kibana、Beats和Logstash(也称为 ELK Stack)。
ElaticSearch:
简称为ES, ES是⼀个开源的⾼扩展的分布式全⽂搜索引擎,是整个Elastic Stack技术栈的核⼼。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
Kibana:
是⼀个免费且开放的⽤户界⾯,能够让您对Elasticsearch数据进⾏可视化,并让您在Elastic Stack中进⾏导航。您可以进⾏各种操作,从跟踪查询负载,到理解请求如何流经您的整个应⽤,都能轻松完成。
Beats:
是⼀个免费且开放的平台,集合了多种单⼀⽤途数据采集器。它们从成百上千或成千上万台机器和系统向Logstash 或
Elasticsearch发送数据。
Logstash:
是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
Elastic Stack的主要优点有如下⼏个:
(1)处理⽅式灵活:
elasticsearch是实时全⽂索引,具有强⼤的搜索功能。
(2)配置相对简单:
elasticsearch全部使⽤JSON 接⼝,logstash使⽤模块配置,kibana的配置⽂件部分更简单。
(3)检索性能⾼效:
基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。
(4)集群线性扩展:
elasticsearch和logstash都可以灵活线性扩展。
(5)前端操作绚丽:
kibana的前端设计⽐较绚丽,⽽且操作简单。
使⽤elastic stack能收集那些⽇志:
容器管理⼯具:
docker
容器编排⼯具:
docker swarm,Kubernetes
负载均衡服务器:
lvs,haproxy,nginx
web服务器:
httpd,nginx,tomcat
数据库:
mysql,redis,MongoDB,Hbase,Kudu,ClickHouse,PostgreSQL
存储:
nfs,gluterfs,fastdfs,HDFS,Ceph
系统:
message,security
业务:
包括但不限于C,C++,Java,PHP,Go,Python,Shell等编程语⾔研发的App
1.2 架构
1.2.1 EFK
Beats组件中有很多组件,最常用的是FileBeat,起到日志收集服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wdcscYJM-1686294863468)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426191959304.png)]
图中每个Filebeat都可以收集不同的日志,然后打存储到中Elasticsearch,最后使用kibana进行数据展示
数据流⾛向: 源数据层(nginx,tomcat) ---> 数据采集层(filebeat) ---> 数据存储层(ElasticSearch)
1.2.2 ELK
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqUPDHbc-1686294863469)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426192019774.png)]
由Logstash进行日志收集工作,并加以简单分析处理,转发到Elasticsearch进行处理,最后由Kibana进行数据展示
数据流⾛向: 源数据层(nginx,tomcat) ---> 数据采集/转换层(Logstash) ---> 数据存储(ElasticSearch)
1.2.3 ELFK
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFAdidKU-1686294863469)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426192334766.png)]
Filebeat执行日志收集,交给Logstash处理,然后写入Elasticsearch
数据流⾛向: 源数据层(nginx,tomcat) ---> 数据采集(filebeat) ---> 转换层(Logstash) ---> 数据存储层(ElasticSearch)
1.2.4 ELFK+kafka
在前一个架构中,logstash的作用本应该做数据处理转换的,但是由于多个filebeat把收集的日志打到logstash中,所以,他还担任着另一个角色,即日志聚合,在生产环境中,filebeat可能在很多台服务器上部署,而logstash只有一台,容易崩溃,数据就打不进来。
结局方案:前面加一个kafka集群,也就是消息队列,对filebeat收集的日志做一个缓冲,logstash从kafka中拿数据,再进行数据处理,然后写入elasticsearch中,最后由kibana可视化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OnYA3ZDo-1686294863469)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426192810910.png)]
数据流⾛向: 源数据层(nginx,tomcat) ---> 数据采集(filebeat) ---> 数据缓存层(kafka)---> 转换层(Logstash) ---> 数据存储层(ElasticSearch)
1.2.5 ELFK + Kafka 架构演变
spark,flink等组件可以从kafka中拿去数据,后面再说
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4dLFEaXh-1686294863470)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426193007276.png)]
也就是说,再实际工作中,如果有大数据部门的存在,也有可能kafka的数据被多个部门使用
二、ElasticSearch和Solr的抉择
2.1 ElasticSearch和Lucene的关系
Lucene的优缺点:
优点: 可以被认为是迄今为⽌最先进,性能最好的,功能最全的搜索引擎库(框架)。
缺点:
(1)只能在Java项⽬中使⽤,并且要以jar包的⽅式直接集成在项⽬中;
(2)使⽤很复杂,你需要深⼊了解检索的相关知识来创建索引和搜索索引代码;
(3)不⽀持集群环境,索引数据不同步(不⽀持⼤型项⽬);
(4)扩展性差,索引库和应⽤所在同⼀个服务器,当索引数据过⼤时,效率逐渐降低;
值得注意的是,上述的Lucene框架中的缺点,Elasticsearch全部都能解决
ElasticSearch是一个实时的分布式搜索和分析引擎,它可以帮助你用前所未有的速度去处理大规模数据
ES可以用于全文搜索,结构化搜索以及分析。
2.2 ElasticSearch和Solr如何抉择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Omv5vbYs-1686294863470)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426193647174.png)]
-
Solr是Apache Lucene项⽬的开源企业搜索平台。其主要功能包括全⽂检索、命中标示、分⾯搜 索、动态聚类、数据库集成,以及富⽂本(如Word、PDF)的处理。 Solr是⾼度可扩展的,并提供了分布式搜索和索引复制。Solr是最流⾏的企业级搜索引擎, Solr4 还增加了NoSQL⽀持。
-
Elasticsearch(下⾯简称"ES")与Solr的⽐较:
- (1)Solr利⽤Zookeeper进⾏分布式管理,⽽ES⾃身带有分布式协调管理功能;
- (2)Solr⽀持更多格式(JSON、XML、CSV)的数据,⽽ES仅⽀持JSON⽂件格式;
- (3)Solr官⽅提供的功能更多,⽽ES本身更注重于核⼼功能,⾼级功能多有第三⽅插件提 供;
- (4)Solr在"传统搜索"(已有数据)中表现好于ES,但在处理"实时搜索"(实时建⽴索引)应⽤时效率明显低ES。
- (5)Solr是传统搜索应⽤的有⼒解决⽅案,但Elasticsearch更适⽤于新兴的实时搜索应⽤。
如下图所示,有⽹友在⽣产环境测试,将搜索引擎从Solr转到ElasticSearch以后的平均查询速 度有了将近50倍提升
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fcuCCP83-1686294863470)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230426194048714.png)]
三、集群基础环境初始化
3.1 准备虚拟机
IP地址eth0 | IP地址eth1 | 主机名 | CPU | 内存 | 磁盘 | 角色说明 |
---|---|---|---|---|---|---|
10.10.31.14 | 172.20.0.101 | elk101 | 2C | 4G | 20G | ES node |
10.10.31.28 | 172.20.0.102 | elk102 | 2C | 4G | 20G | ES node |
10.10.31.21 | 172.20.0.103 | elk103 | 2C | 4G | 20G | ES node |
cat >> /etc/hosts << 'EOF'
172.20.0.101 elk101.oldboyedu.com
172.20.0.102 elk102.oldboyedu.com
172.20.0.103 elk103.oldboyedu.com
EOF
3.2 修改软件源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e
's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsing
hua.edu.cn|g' \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo
3.3 修改终端颜色
cat <<EOF >> ~/.bashrc
PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \W\[\e[0m\]]# '
EOF
source ~/.bashrc
3.4 修改sshd服务优化
sed -ri 's@^#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
sed -ri 's#^GSSAPIAuthentication yes#GSSAPIAuthentication no#g' /etc/ssh/sshd_config
grep ^UseDNS /etc/ssh/sshd_config
grep ^GSSAPIAuthentication /etc/ssh/sshd_config
3.5 关闭防火墙
systemctl disable --now firewalld && systemctl is-enabled firewalld
systemctl status firewalld
3.6 禁用selinux
sed -ri 's#(SELINUX=)enforcing#\1disabled#' /etc/selinux/config
grep ^SELINUX= /etc/selinux/config
setenforce 0
getenforce
3.7 配置集群免密登录及同步脚本
(1)修改主机列表
cat >> /etc/hosts << 'EOF'
172.20.0.101 elk101.oldboyedu.com
172.20.0.102 elk102.oldboyedu.com
172.20.0.103 elk103.oldboyedu.com
EOF
(2)elk101节点上⽣成密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -q
(3)elk101配置所有集群节点的免密登录
for ((host_id=101;host_id<=103;host_id++));do ssh-copy-id elk${host_id}.oldboyedu.com ;done
(4)链接测试
ssh 'elk101.oldboyedu.com'
ssh 'elk102.oldboyedu.com'
ssh 'elk103.oldboyedu.com'
(5)所有节点安装rsync数据同步⼯具
yum -y install rsync
(6)编写同步脚本
vim /usr/local/sbin/data_rsync.sh # 将下⾯的内容拷⻉到该⽂件即可
#!/bin/bash
# Auther: Jason Yin
if [ $# -ne 1 ];then
echo "Usage: $0 /path/to/file(绝对路径)"
exit
fi
# 判断⽂件是否存在
if [ ! -e $1 ];then
echo "[ $1 ] dir or file not find!"
exit
fi
# 获取⽗路径
fullpath=`dirname $1`
# 获取⼦路径
basename=`basename $1`
# 进⼊到⽗路径
cd $fullpath
for ((host_id=102;host_id<=103;host_id++))
do
# 使得终端输出变为绿⾊
tput setaf 2
echo ===== rsyncing elk${host_id}.oldboyedu.com: $basename =====
# 使得终端恢复原来的颜⾊
tput setaf 7
# 将数据同步到其他两个节点
rsync -az $basename `whoami`@elk${host_id}.oldboyedu.com:$fullpath
if [ $? -eq 0 ];then
echo "命令执⾏成功!"
fi
done
(7)给脚本授权
chmod +x /usr/local/sbin/data_rsync.sh
3.8 集群时间同步
(1)安装常⽤的Linux⼯具,您可以⾃定义哈。
yum -y install vim net-tools
(2)安装chrony服务
yum -y install ntpdate chrony
(3)修改chrony服务配置⽂件
vim /etc/chrony.conf
...
# 注释官⽅的时间服务器,换成国内的时间服务器即可
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
server ntp5.aliyun.com iburst
...
(4)配置chronyd的开机⾃启动
systemctl enable --now chronyd
systemctl restart chronyd
(5)查看服务
systemctl status chronyd
全部完成后拍摄快照,以便后期恢复
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mdLaIxpl-1686294863471)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427094958992.png)]
四、ElasticSearch单节点部署
4.1 下载指定的ES版本
下载地址
https://www.elastic.co/cn/downloads/elasticsearch
这里下载7.17.3的tar包和rpm包
[root@elk101.oldboyedu.com ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz
[root@elk101.oldboyedu.com ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-x86_64.rpm
4.2 单点部署elasticsearch
# (1)安装服务 # yum -y localinstall 会自动解决依赖
yum -y localinstall elasticsearch-7.17.3-x86_64.rpm
# 使用systemctl cat elasticsearch 查看配置文件内容
# 查看内置jdkversion
/usr/share/elasticsearch/jdk/bin/java -version
openjdk version "18" 2022-03-22
OpenJDK Runtime Environment Temurin-18+36 (build 18+36)
OpenJDK 64-Bit Server VM Temurin-18+36 (build 18+36, mixed mode, sharing)
# 查看服务有无启动
[root@elk101.oldboyedu.com ~]# systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: https://www.elastic.co
# 启动了两个端口 9200 和 9300
# 9200是对集群外部提供服务的,使用的是HTTP协议
# 9300集群之间相互通讯使用
[root@elk101.oldboyedu.com ~]# ss -nlt
# 测试9200端口
[root@elk101.oldboyedu.com ~]# curl 127.0.0.1:9200
{
"name" : "elk101.oldboyedu.com", # 当前访问节点的名称
"cluster_name" : "elasticsearch", # 集群名称
"cluster_uuid" : "Tna7PKcKSiy1YSEfs2zR_w", # 集群唯一标识
"version" : {
"number" : "7.17.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff",
"build_date" : "2022-04-19T08:11:19.070913226Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
# (2)修改配置⽂件
egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml
cluster.name: oldboyedu-elk
node.name: oldboyedu-elk103
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0 # 指的是当前节点所有ip都可以访问
discovery.seed_hosts: ["172.20.0.101"] # 设置集群配置,可写ip地址,也可以写主机名,会自动解析
# 相关参数说明:
cluster.name:
# 集群名称,若不指定,则默认是"elasticsearch",⽇志⽂件的前缀也是集群名称。
node.name:
# 指定节点的名称,可以⾃定义,推荐使⽤当前的主机名,要求集群唯⼀。
path.data:
# 数据路径。
path.logs:
# ⽇志路径
network.host:
# ES服务监听的IP地址
discovery.seed_hosts:
# 服务发现的主机列表,对于单点部署⽽⾔,主机列表和"network.host"字段配置相同即可。
# (3)启动服务
systemctl start elasticsearch.service
启动的时候可以去看日志
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tjrq2z6N-1686294863471)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427111613298.png)]
再去查看下端口,匹配的所有ip地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cNEFddyJ-1686294863471)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427111855367.png)]
五、ElasticSearch分布式集群部署
注意:部署集群前尽量在干净的环境下部署
5.1 elk101修改配置文件
egrep -v "^$|^#" /etc/elasticsearch/elasticsearch.yml
...
cluster.name: oldboyedu-elk
node.name: elk101
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["elk101","elk102","elk103"]
cluster.initial_master_nodes: ["elk101","elk102","elk103"]
温馨提示:
"node.name"各个节点配置要区分清楚,建议写对应的主机名称。
首先在每个节点安装ES
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pRlRjqc7-1686294863472)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427160432336.png)]
5.2 elk101修改配置文件
检查配置文件的技巧,直接cat不方便看,可以使用 下面的命令查询配置,意思是以#和空格开头的行不看
egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml
[root@elk101.oldboyedu.com ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml
cluster.name: oldboyedu-elk
node.name: elk101
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["172.20.0.101","172.20.0.102","172.20.0.103"]
cluster.initial_master_nodes: ["172.20.0.101"]
[root@elk102.oldboyedu.com ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml
cluster.name: oldboyedu-elk
node.name: elk102
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["172.20.0.101","172.20.0.102","172.20.0.103"]
cluster.initial_master_nodes: ["172.20.0.101"]
[root@elk102.oldboyedu.com ~]#
[root@elk103.oldboyedu.com ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml
cluster.name: oldboyedu-elk
node.name: elk103
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["172.20.0.101","172.20.0.102","172.20.0.103"]
cluster.initial_master_nodes: ["172.20.0.101"]
[root@elk103.oldboyedu.com ~]#
systemctl start elasticsearch.service
启动!并检验
[root@elk101.oldboyedu.com /]# !curl
curl 172.20.0.101:9200/
{
"name" : "elk101",
"cluster_name" : "oldboyedu-elk-2023",
"cluster_uuid" : "0DxrLdtyR2yLRJ7sZixCqw",
"version" : {
"number" : "7.17.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff",
"build_date" : "2022-04-19T08:11:19.070913226Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
{
"name" : "elk101",
"cluster_name" : "oldboyedu-elk-2023",
"cluster_uuid" : "0DxrLdtyR2yLRJ7sZixCqw",
"version" : {
"number" : "7.17.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff",
"build_date" : "2022-04-19T08:11:19.070913226Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
curl 172.20.0.101:9200
{
"name" : "elk101",
"cluster_name" : "oldboyedu-elk-2023",
"cluster_uuid" : "0DxrLdtyR2yLRJ7sZixCqw",
"version" : {
"number" : "7.17.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff",
"build_date" : "2022-04-19T08:11:19.070913226Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
可以看到已经生成了uuid,再来看一下api
[root@elk101.oldboyedu.com /]# curl 172.20.0.101:9200/_cat/nodes
10.10.31.28 19 72 0 0.00 0.01 0.05 cdfhilmrstw - elk102
10.10.31.14 27 96 1 0.01 0.04 0.05 cdfhilmrstw * elk101
10.10.31.21 27 73 1 0.00 0.01 0.05 cdfhilmrstw - elk103
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9sIkjr8C-1686294863472)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230428140506499.png)]
成功!
补充一下启动工程中查看日志的命令
tail -100f /var/log/elasticsearch/oldboyedu-elk-2023.log
5。3 集群启动失败后清理的方法
# 集群启动失败后需要清理产生的数据文件,日志文件和临时文件
# 注意,此操作不适用于生产环境!!!!!!
# 注意,此操作不适用于生产环境!!!!!!
# 注意,此操作不适用于生产环境!!!!!!
ll /var/{lib,log}/elasticsearch/* 三节点都要执行
rm -rf /var/{lib,log}/elasticsearch/* 三节点都要执行
tmp 目录也要关注一下
六、部署Kibana服务
6.1、本地安装kibana
下载方法同上,浏览elastic官网,找到kibana,找到对应version然后进行下载
注意:kibana版本要和elasticsearch一致
https://www.elastic.co/cn/downloads/
复制rpm包的下载链接https://artifacts.elastic.co/downloads/kibana/kibana-7.17.3-x86_64.rpm
直接wget下载
使用yum localinstall安装在哪个节点都可以,下面用elk103节点演示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7L3h0AWt-1686294863472)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427200358733.png)]
6.2、修改kibana配置文件
通过以上方法安装的kibana配置文件位置为/etc/kibana/kibana.yml
下面来看下配置文件中较为关键的参数
# Kibana is served by a back end server. This setting specifies the port to use.
#server.port: 5601 # 服务端口号,默认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" # kibana绑定的主机名或IP地址,默认是本地主机
# 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"] # 指定一个部署的es节点可以配置单点或者集群,这里是集群,应该使用集群的每个节点
elasticsearch.hosts: ["http://10.10.31.14:9200","http://10.10.31.28:9200","http://10.10.31.21:9200"]
# 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_system"
# elasticsearch.password: "pass" # 开启安全认证的账号密码
# 最后一行
# 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: "en" =======》 i18n 是国际化的简称,也就是配置kibana的语言支持
查看基本配置信息
[root@elk103.oldboyedu.com ~]# egrep -v "^#|^$" /etc/kibana/kibana.yml
server.host: "0.0.0.0"
server.name: "kibana"
elasticsearch.hosts: ["http://10.10.31.14:9200","http://10.10.31.28:9200","http://10.10.31.21:9200"]
i18n.locale: "zh-CN"
启动kibana
[root@elk103.oldboyedu.com ~]# systemctl start kibana.service
[root@elk103.oldboyedu.com ~]# systemctl status kibana.service
● kibana.service - Kibana
Loaded: loaded (/etc/systemd/system/kibana.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2023-04-27 20:14:36 CST; 6s ago
Docs: https://www.elastic.co
Main PID: 2606 (node)
CGroup: /system.slice/kibana.service
└─2606 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli/dist --logging.dest="/var/log/kiba...
Apr 27 20:14:36 elk103.oldboyedu.com systemd[1]: Started Kibana.
[root@elk103.oldboyedu.com ~]#
浏览器访问验证测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Db49M4n-1686294863472)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427201950499.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BmMXxT0F-1686294863473)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427202053789.png)]
简单认识下索引
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iFa1dVA9-1686294863473)(https://shidt2023.oss-cn-shanghai.aliyuncs.com/typora/img/image-20230427202528278.png)]
可以看到上图中的隐藏索引都是以 . 开头的,这基本是默认的系统创建的索引,不要做删除操作。我们在创建时也尽量不要以 . 开头创建索引。