ELK集群搭建大型日志系统:2.安装Kibana

2019-08-13  本文已影响0人  小六的昵称已被使用

环境

[14:23:11 root@elk-01 ~ $]cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

kibana-7.1.1-x86_64.rpm

第一步:系统优化设置

1.告诉操作系统可以无限制分配内存给一个进程

echo '* soft memlock unlimited' >>/etc/security/limits.conf
echo '* hard memlock unlimited' >>/etc/security/limits.conf
cat /etc/security/limits.conf

2.禁用SWAP

## 完全禁用SWAP
## swapoff -a
## 尽量避免使用SWAP
echo 'vm.swappiness = 1' >> /etc/sysctl.conf

3. 修改最大打开文件描述符

echo '* soft nofile 65535' >> /etc/security/limits.conf
echo '* hard nofile 65535' >> /etc/security/limits.conf
cat /etc/security/limits.conf
ulimit -n 65535

4.重启生效

init 6

第二步:安装 Elasticsearch 协调节点

官方说明:https://www.elastic.co/guide/en/kibana/current/production.html#load-balancing

Kibana 连接 Elasticsearch 不支持多节点集群,官方给解决方案是跟 Kibana 在同一个节点上再安装 Elasticsearch 加入集群并设置为协调节点,然后 Kibana 直接连接本地 ES 节点即可。

Elasticsearch 协调节点不负责存储数据、不参与选举 Master。本质是上就是一个只能负责平衡器,是集群的一部分,他接受传入的 HTTP 请求,并将请求重定向到集群中的其他节点,收集并返回结果。

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

帮助文档:https://www.elastic.co/cn/webinars/getting-started-elasticsearch?elektra=startpage

1.下载并安装

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm
rpm -ivh elasticsearch-7.1.1-x86_64.rpm

2.修改配置文件以支持集群

1.注意修改network.host为各节点IP地址

2.注意修改discovery.zen.ping.unicast.hosts列表

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
cat <<EOF >>/etc/elasticsearch/elasticsearch.yml
## 通过以下3项设置让此节点既不是主节点、又不是数据节点、又不是摄取节点,但是充当搜索负载均衡器
# node.master: false
# node.data: false
# node.ingest: false

## 集群名称
cluster.name: ELK-Cluster

## 节点名称(每个节点名称不能相同)
node.name: `hostname`

## 允许 JVM 锁住内存,禁止操作系统交换出去
# bootstrap.memory_lock: true

## 是否有资格成为主节点
## 通过 node.master 可以配置该节点是否有资格成为主节点,如果配置为 true,则主机有资格成为主节点
## 注意这里是有资格成为主节点,不是一定会成为主节点
node.master: false

## 是否是数据节点
## 当 node.master 和 node.data 均为 false,则该主机会作为负载均衡节点
node.data: false

## 是否是摄取节点
## ElasticSearch的ingest节点用来在真正对文档进行索引之前做预处理。
## 所有的节点都是默认支持ingest的,任何节点都可以处理ingest请求,也可以创建一个专门的Ingest nodes。
node.ingest: false

## 设置访问的地址和端口
network.host: 192.168.50.17
http.port: 9200

## 集群地址设置
## 配置之后集群的主机之间可以自动发现
# discovery.zen.ping.unicast.hosts: ["192.168.50.14", "192.168.50.15", "192.168.50.16"]
discovery.seed_hosts: ["192.168.50.14", "192.168.50.15", "192.168.50.16", "192.168.50.17"]
cluster.initial_master_nodes: ["192.168.50.14", "192.168.50.15", "192.168.50.16", "192.168.50.17"] 

## 配置大多数节点(通常为主节点的节点总数/ 2 + 1)来防止“裂脑”:
discovery.zen.minimum_master_nodes: 2

## 在完全集群重启后阻止初始恢复,直到启动N个节点
gateway.recover_after_nodes: 2
EOF
vim /etc/elasticsearch/elasticsearch.yml

3.为elasticsearch设置jdk路径,否则启动时候会报错

请根据自己实际路径进行修改

cp /etc/sysconfig/elasticsearch /etc/sysconfig/elasticsearch.bak
cat <<EOF >>/etc/sysconfig/elasticsearch
JAVA_HOME=/home/jdk1.8.0_202
EOF

4.设置堆内存(根据物理内存情况设置)

http://openskill.cn/article/304
https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_limiting_memory_usage.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

## 编辑以下值
## 内存设置为物理内存的50%,并且不要超过32G
## 确保这两个值相等,防止程序在运行时改变堆内存大小, 这是一个很耗系统资源的过程
cp /etc/elasticsearch/jvm.options /etc/elasticsearch/jvm.options.bak
vim /etc/elasticsearch/jvm.options

-Xms2g
-Xmx2g

5.启动服务

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl stop elasticsearch.service
systemctl start elasticsearch.service
systemctl status elasticsearch.service

6.验证

## 查看单节点状态
curl -X GET "192.168.50.14:9200/"
curl -X GET "192.168.50.15:9200/"
curl -X GET "192.168.50.16:9200/"
curl -X GET "192.168.50.17:9200/"

## 查看集群内节点分布
curl -XGET 'http://192.168.50.14:9200/_cat/nodes?pretty'
curl -XGET 'http://192.168.50.15:9200/_cat/nodes?pretty'
curl -XGET 'http://192.168.50.16:9200/_cat/nodes?pretty'
curl -XGET 'http://192.168.50.17:9200/_cat/nodes?pretty'

## 检测集群健康状态
curl 192.168.50.14:9200/_cat/health?v
curl 192.168.50.15:9200/_cat/health?v
curl 192.168.50.16:9200/_cat/health?v
curl 192.168.50.17:9200/_cat/health?v

## 查看所有支持的 _cat 命令
curl -XGET 'http://192.168.50.14:9200/_cat?pretty'
curl -XGET 'http://192.168.50.15:9200/_cat?pretty'
curl -XGET 'http://192.168.50.16:9200/_cat?pretty'
curl -XGET 'http://192.168.50.17:9200/_cat?pretty'

    _cat代表查看信息
    nodes为查看节点信息,默认会显示为一行,所以就用刀了?preety让信息更有好的显示
    ?preety让输出信息更友好的显示

第三步:下载并安装 Kibana

下载地址:https://www.elastic.co/cn/downloads/kibana

帮助文档:https://www.elastic.co/guide/en/kibana/7.1/index.html

1.下载并安装

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-x86_64.rpm
rpm -ivh kibana-7.1.1-x86_64.rpm

2.修改配置

cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
cat <<\EOF >> /etc/kibana/kibana.yml
## 设置监听端口
server.port: 5601

## 设置绑定IP
server.host: "192.168.50.17"

## 修改系统语言
i18n.locale: "zh-CN"

## 填写 ES 服务器地址(这里填写上边部署好的 ES 协调节点的地址和端口)
elasticsearch.hosts: ["http://192.168.50.17:9200"]
EOF

3.启动服务

systemctl enable kibana.service
systemctl stop kibana.service
systemctl start kibana.service
systemctl status kibana.service

4.登录查看

## 管理地址
http://192.168.50.17:5601

## kibana 状态监控
http://192.168.50.17:5601/status
上一篇下一篇

猜你喜欢

热点阅读