运维(29)- ELK部署

简介: 运维(29)- ELK部署

01 引言

注意:需要保证elk套件版本统一,升级需要从es开始!

02 部署kafka

备注:假设在172.16.3.5机子上执行

2.1 下载

① 下载kafka/opt目录:

mkdir -p ~/tools/kafka
cd ~/tools/kafka
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.0.0/kafka_2.13-3.0.0.tgz
tar xf kafka_2.13-3.0.0.tgz
mv kafka_2.13-3.0.0 /opt/

② 创建软链接:

ln -s /opt/kafka_2.13-3.0.0 /opt/kafka

2.2 配置

① 配置用户以及权限:

useradd kafka
chown -R kafka:kafka /opt/kafka
chown -R kafka:kafka /opt/kafka_2.13-3.0.0/

② 配置kafka data log

mkdir -p /var/log/kafka
chown -R kafka:kafka /var/log/kafka

③ 编辑kafka配置 :

/opt/kafka/bin/kafka-server-start.sh最后一行exec之前加入以下内容

export KAFKA_HEAP_OPTS=" -Xmx6144m -Xms16m "
export KAFKA_JVM_PERFORMANCE_OPTS=" -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=1024m  "

④ 执行以下指令配置kafkaserver.properties,注意修改IP信息和zookeeper配置:

cat <<'EOF' > /opt/kafka/config/server.properties
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://172.16.3.5:9092
num.network.threads=8
num.io.threads=16
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/var/log/kafka/
num.partitions=1
num.recovery.threads.per.data.dir=2
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=1
log.segment.bytes=536870912
log.retention.check.interval.ms=300000
log.cleanup.policy=delete
log.retention.hours=4
log.retention.bytes=1073741824
zookeeper.connect=172.16.3.5:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
EOF

⑤ 执行以下指令编辑kafkasystemd服务文件:

cat <<'EOF' >  /etc/systemd/system/kafka.service
[Unit]
Description=kafka
After=network-online.target
[Service]
WorkingDirectory=/opt/kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
Type=forking
User=kafka
LimitNOFILE=32768
Restart=always
[Install]
WantedBy=multi-user.target
EOF

2.3 启动

systemctl daemon-reload
systemctl enable kafka
systemctl restart kafka

03 部署ES

备注:假设在172.16.3.4)机子上执行

注意: 修改配置文件/etc/elasticsearch/elasticsearch.yml中的hosts等配置信息

3.1 添加es源

① 添加esgpg key

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxx

② 添加es的源:

echo "deb https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/apt/ stable main" > /etc/apt/sources.list.d/es.list

3.2 安装es

① 安装es

apt update
apt install elasticsearch=7.15.1 -y

② 设置apt保持es版本:

apt-mark hold elasticsearch

3.3 配置es

先停止服务,然后配置es jvm堆内存:

systemctl stop elasticsearch
echo '-Xms7g' > /etc/elasticsearch/jvm.options.d/jvm.options
echo '-Xmx7g' >> /etc/elasticsearch/jvm.options.d/jvm.options
# 配置es
cat <<'EOF' > /etc/elasticsearch/elasticsearch.yml
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["172.16.3.4"]
cluster.initial_master_nodes: ["172.16.3.4"]
xpack.security.enabled: false
EOF

3.4 启动es

① 启动es:

systemctl restart elasticsearch

② 设置es开机自启动:

systemctl enable elasticsearch

4. 部署kibana

备注:假设在172.16.3.5)机子上执行,与kafaka同一台机子

注意:修改配置文件/etc/kibana/kibana.yml中的elasticsearch.hostsserver.publicBaseUrl等配置信息:

4.1 添加kibana源

① 添加esgpg key

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxx
# 添加es的源
echo "deb https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/apt/ stable main" > /etc/apt/sources.list.d/es.list

4.2 安装kibana

① 安装kibana:

apt update
apt install -y kibana=7.15.1

② 设置apt保持kibana版本:

apt-mark hold kibana

4.3 配置kibana

先停止kibana,然后配置:

systemctl stop kibana
cat <<'EOF' > /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://172.16.3.4:9200"]
i18n.locale: "zh-CN"
logging.quiet: true
server.basePath: "/kibana"
server.publicBaseUrl: "https://demo.kexinxiaoyuan.cn/kibana"
EOF

4.4 启动kibana

启动并设置kibana自动启动:

systemctl restart kibana
systemctl enable kibana

5. 配置域名转发

5.1 haproxy配置

① 配置域名转发,ssh 登录nginx服务器,先修改haproxy配置/etc/haproxy/haproxy.cfg,添加:

listen kibana
    bind 127.0.0.1:5601
    mode tcp
    option      tcp-check
    balance     roundrobin
    server kibana_b_1 172.16.3.5:5601 check inter 2000 rise 2 fall 3

② 修改保存/etc/haproxy/haproxy.cfg文件后,执行:

# 测试配置文件是否有问题
haproxy -c -f /etc/haproxy/haproxy.cfg
# 若上一步结果显示 Configuration file is valid ,则重启服务
systemctl restart haproxy.service

5.2 nginx配置

① 添加nginx转发,编辑nginx配置文件/etc/nginx/sites-enabled/demo.kexinxiaoyuan.cn,在server(443)段添加:

# kibana
    location /kibana {
        auth_basic "need auth";
        auth_basic_user_file /etc/nginx/.kibana_passwd;
        proxy_set_header  Upgrade $http_upgrade;
        proxy_set_header  Connection $connection_upgrade;
        proxy_set_header  Host $host;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Host $host;
        proxy_set_header  X-Forwarded-Proto https;
        proxy_pass        http://127.0.0.1:5601;
        rewrite ^/kibana/(.*)$ /$1 break;
    }

② 创建访问kibanahttp认证文件,并重载nginx,执行:

# 创建kibana密码文件
echo 'xxx:$sfdfdfsdfsd/' > /etc/nginx/.kibana_passwd
# 测试Nginx配置
nginx -t
# 重载Nginx
nginx -s reload

最后:kibana(ELK) 访问地址:https://demo.xxx.cn/kibana/

目录
相关文章
|
11月前
|
存储 运维 安全
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南
|
运维 数据可视化 关系型数据库
使用 Websoft9 运维面板部署和维护 WordPress 到底有多简单?
如何实现 WordPress 极速部署?Websoft9 通过应用商店一键安装与可视化运维管理,10 分钟完成零门槛上线。
502 1
|
9月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
1031 25
|
10月前
|
Ubuntu 应用服务中间件 网络安全
ELK完整部署教程
本文介绍了在Ubuntu 22.04上部署ELK(Elasticsearch、Logstash、Kibana)及Filebeat的完整步骤。内容涵盖Elasticsearch安装与安全配置、Kibana启用SSL与注册、Logstash配置输入输出,以及Filebeat采集日志并发送至Logstash或Elasticsearch的方法。适用于本地非容器环境的日志收集与可视化搭建。
|
运维 安全 关系型数据库
Websoft9 运维面板,全网真正的一键部署应用
Websoft9运维面板实现应用真·一键部署,通过智能环境适配、安全架构与容器化技术,将传统数小时部署缩短至分钟级,显著提升效率与安全性。
363 5
|
运维 监控 持续交付
Websoft9 运维面板:GitOps 助力简化持续部署流程
传统部署中手动配置、脚本管理及版本回滚等问题一直困扰开发者。GitOps 通过基础设施代码化与版本化,成为持续部署新标准。Websoft9 深度融合 GitOps 理念,实现从代码提交到生产发布的自动化闭环。其核心功能包括:Git 仓库驱动配置管理(支持多分支隔离)、Argo CD 集成自动同步(灰度发布与全量更新)以及可视化监控审计(部署历史与资源变化分析)。本文结合实际操作解析其低门槛企业级部署方案。
237 0
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
992 30
|
机器学习/深度学习 运维 安全
容器化部署的运维之道
在当今快速发展的软件行业,容器技术已成为推动持续集成和持续交付的关键因素。本文深入探讨了容器化部署的优势、挑战以及最佳实践,旨在为运维人员提供一套全面的指导方案,帮助他们更好地利用容器技术优化部署流程,提升系统的稳定性与效率。
397 27

热门文章

最新文章