安装部署ELK

本文详细介绍了如何在三台虚拟机上部署ELK(Elasticsearch、Logstash、Kibana)集群,包括设置主机名、配置时间同步、部署JDK、安装环境支持、下载插件、修改配置文件等步骤。同时,还涵盖了收集tomcat和nginx日志的过程,以及Kibana的安装和配置,包括配置多个端口、反向代理和访问验证。

部署elasticsearch

准备三台虚拟机,selinux的状态是disabled,防火墙是关闭的

1.设计主机名和hosts解析

在e1上配置
[root@e1 ~]# cat >> /etc/hosts << EOF
> 172.xx.xx.xx e1
> 172.xx.xx.xx e2
> 172.xx.xx.xx e3
> EOF

2.配置时间同步

[root@e1 ~]# yum install chrony
[root@e1 ~]# vim /etc/chrony.conf

[root@e1 ~]# systemctl enable --now chronyd

 3.部署jdk (三台机器都需要部署)

[root@e1 ~]# rpm -ivh jdk-8u261-linux-x64.rpm 

[root@e1 ~]# yum localinstall -y jdk-8u261-linux-x64.rpm 

4.部署elasticsearch

[root@e1 ~]# yum install https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum/elastic-7.x/7.2.0/elasticsearch-7.2.0-x86_64.rpm

e1节点的配置

[root@e1 ~]# cd /etc/elasticsearch/
[root@e1 elasticsearch]# cp elasticsearch.yml{,.bak}

修改文件

[root@e1 elasticsearch]# vim elasticsearch.yml

名字为e1

主机地址为自己的地址,将e1设置为主节点

<think>我们正在处理用户关于在Ubuntu上安装和配置ELK集群的问题。ELK是指Elasticsearch、Logstash和Kibana三个开源软件的集合,通常用于日志处理和分析。 根据用户的要求,我们需要提供在Ubuntu系统上安装部署ELK集群的步骤。由于用户提到的是集群,所以我们需要配置多个节点。但为了简化,我们先以单节点集群为例进行说明,然后扩展至多节点集群。 注意:以下步骤基于ELK 8.x版本(特别是8.4.3,因为引用中提到了这个版本),但请注意版本更新可能带来的变化。 ### 步骤1:准备工作 1. 确保系统是Ubuntu(建议18.04或更高版本)。 2. 更新系统: ```bash sudo apt update && sudo apt upgrade -y ``` 3. 安装Java环境(ELK需要Java,推荐OpenJDK 11或17): ```bash sudo apt install openjdk-11-jdk -y ``` 安装后检查: ```bash java -version ``` ### 步骤2:安装Elasticsearch 1. 下载Elasticsearch(以8.4.3为例): ```bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.3-linux-x86_64.tar.gz ``` 2. 解压: ```bash tar -zxvf elasticsearch-8.4.3-linux-x86_64.tar.gz ``` 3. 移动到合适目录(可选): ```bash sudo mv elasticsearch-8.4.3 /usr/local/elasticsearch ``` 4. 修改系统配置(如引用[2]中提到的): - 编辑`/etc/sysctl.conf`,添加: ``` vm.max_map_count=262144 ``` 然后运行: ```bash sudo sysctl -p ``` - 编辑`/etc/security/limits.conf`,添加: ``` * soft nofile 65536 * hard nofile 65536 * soft nproc 4096 * hard nproc 4096 ``` 然后重新登录或重启。 5. 生成证书(单节点集群可以使用自签名证书): 进入Elasticsearch目录,运行: ```bash bin/elasticsearch-certutil cert --keep-ca-key --pem --out ./certs.zip --silent ``` 解压certs.zip到config/certs目录。 6. 配置`elasticsearch.yml`(位于config目录): ```yaml cluster.name: my-elastic-cluster node.name: node-1 network.host: 0.0.0.0 http.port: 9200 discovery.type: single-node # 单节点配置,如果是多节点则去掉此配置并配置discovery.seed_hosts xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.key: certs/node-1/node-1.key xpack.security.transport.ssl.certificate: certs/node-1/node-1.crt xpack.security.transport.ssl.certificate_authorities: certs/ca/ca.crt xpack.security.http.ssl.enabled: true xpack.security.http.ssl.key: certs/node-1/node-1.key xpack.security.http.ssl.certificate: certs/node-1/node-1.crt xpack.security.http.ssl.certificate_authorities: certs/ca/ca.crt ``` 7. 启动Elasticsearch: ```bash ./bin/elasticsearch ``` 后台运行可以使用`-d`参数。 8. 设置密码(如果开启了安全认证): 启动后,运行: ```bash ./bin/elasticsearch-setup-passwords auto ``` 记录下自动生成的密码(或者使用interactive模式手动设置)。 ### 步骤3:安装Kibana 1. 下载Kibana(版本与Elasticsearch一致): ```bash wget https://artifacts.elastic.co/downloads/kibana/kibana-8.4.3-linux-x86_64.tar.gz ``` 2. 解压: ```bash tar -zxvf kibana-8.4.3-linux-x86_64.tar.gz ``` 3. 移动到合适目录(可选): ```bash sudo mv kibana-8.4.3-linux-x86_64 /usr/local/kibana ``` 4. 生成证书(可选,如果Elasticsearch启用了SSL,则Kibana也需要配置): 可以使用Elasticsearch生成的CA来签发Kibana证书,或者使用相同的证书(如果是同一台机器)。 5. 配置`kibana.yml`: ```yaml server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["https://localhost:9200"] elasticsearch.username: "kibana_system" # 使用kibana_system用户,密码在Elasticsearch设置密码时生成 elasticsearch.password: "your_kibana_system_password" elasticsearch.ssl.certificateAuthorities: ["/path/to/elasticsearch/config/certs/ca/ca.crt"] server.ssl.enabled: true server.ssl.certificate: "/path/to/elasticsearch/config/certs/node-1/node-1.crt" server.ssl.key: "/path/to/elasticsearch/config/certs/node-1/node-1.key" ``` 6. 启动Kibana: ```bash ./bin/kibana ``` ### 步骤4:安装Logstash 1. 下载Logstash: ```bash wget https://artifacts.elastic.co/downloads/logstash/logstash-8.4.3-linux-x86_64.tar.gz ``` 2. 解压: ```bash tar -zxvf logstash-8.4.3-linux-x86_64.tar.gz ``` 3. 移动到合适目录(可选): ```bash sudo mv logstash-8.4.3 /usr/local/logstash ``` 4. 配置Logstash: - 创建配置文件`logstash.conf`(在config目录下): ```conf input { beats { port => 5044 } } output { elasticsearch { hosts => ["https://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" user => "logstash_system" password => "your_logstash_system_password" cacert => "/path/to/elasticsearch/config/certs/ca/ca.crt" ssl_certificate_verification => true } } ``` - 配置`logstash.yml`(可选,主要设置管道配置): ```yaml http.host: "0.0.0.0" ``` 5. 启动Logstash: ```bash ./bin/logstash -f config/logstash.conf ``` ### 步骤5:验证集群 1. 访问Elasticsearch:`curl -k -u elastic:your_password https://localhost:9200` 2. 访问Kibana:`https://localhost:5601`,使用elastic用户登录(密码在设置密码时生成)。 ### 扩展为多节点集群 要部署多节点集群,需要: - 在其他节点上重复上述步骤(注意修改节点名称和配置)。 - 在`elasticsearch.yml`中配置`discovery.seed_hosts`和`cluster.initial_master_nodes`。 - 确保所有节点使用相同的集群名称和证书颁发机构(CA)。 ### 注意事项 - 安全:生产环境需要严格的安全配置,包括强密码和网络隔离。 - 性能:根据日志量调整JVM堆大小(在config/jvm.options中设置)。 - 版本:确保Elasticsearch、Kibana和Logstash版本一致。 以上步骤提供了一个基本的ELK集群安装指南。实际部署中可能需要根据具体需求调整配置。 §§相关问题§§ 1. 如何配置ELK集群以实现高可用性? 2. ELK集群的安全认证如何管理? 3. 在ELK中如何创建索引模式并可视化数据? 4. 如何通过Filebeat将日志发送到Logstash?</think>### Ubuntu上安装和配置ELK集群指南 ELK(Elasticsearch、Logstash、Kibana)集群用于日志管理、数据分析和可视化。以下是基于Ubuntu 20.04+的安装步骤(以ELK 8.4.3为例): #### 一、环境准备 1. **系统要求**: - Ubuntu 20.04 LTS或更高版本 - Java环境(OpenJDK 11+): ```bash sudo apt update && sudo apt install openjdk-11-jdk -y ``` - 调整系统参数(防止内存不足): ```bash echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf sudo sysctl -p ``` #### 二、安装Elasticsearch集群 1. **下载并解压**: ```bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.3-linux-x86_64.tar.gz tar -zxvf elasticsearch-8.4.3-linux-x86_64.tar.gz mv elasticsearch-8.4.3 /usr/local/elasticsearch ``` 2. **生成证书**(集群通信安全): ```bash cd /usr/local/elasticsearch bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" ``` 3. **配置节点**(以节点1为例): ```yaml # /usr/local/elasticsearch/config/elasticsearch.yml cluster.name: my-elk-cluster node.name: node-1 network.host: 0.0.0.0 http.port: 9200 discovery.seed_hosts: ["node1-ip", "node2-ip"] # 所有节点IP cluster.initial_master_nodes: ["node-1", "node-2"] xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 ``` 4. **启动服务**: ```bash sudo -u elasticsearch ./bin/elasticsearch -d # 需创建专用用户 ``` #### 三、安装Kibana 1. **下载并配置**: ```bash wget https://artifacts.elastic.co/downloads/kibana/kibana-8.4.3-linux-x86_64.tar.gz tar -zxvf kibana-8.4.3-linux-x86_64.tar.gz mv kibana-8.4.3 /usr/local/kibana ``` ```yaml # /usr/local/kibana/config/kibana.yml server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://node1-ip:9200", "http://node2-ip:9200"] elasticsearch.username: "kibana_system" # 需提前在ES设置密码 ``` 2. **启动服务**: ```bash cd /usr/local/kibana && ./bin/kibana --allow-root ``` #### 四、安装Logstash 1. **下载并配置管道**: ```bash wget https://artifacts.elastic.co/downloads/logstash/logstash-8.4.3-linux-x86_64.tar.gz tar -zxvf logstash-8.4.3-linux-x86_64.tar.gz mv logstash-8.4.3 /usr/local/logstash ``` ```conf # /usr/local/logstash/config/logstash.conf input { beats { port => 5044 } } output { elasticsearch { hosts => ["node1-ip:9200", "node2-ip:9200"] user => "logstash_user" password => "your_password" } } ``` 2. **启动服务**: ```bash cd /usr/local/logstash && bin/logstash -f config/logstash.conf ``` #### 五、集群验证 1. **检查节点状态**: ```bash curl -XGET "http://localhost:9200/_cluster/health?pretty" -u elastic:your_password ``` 输出应包含 `"status" : "green"`。 2. **访问Kibana**: `http://server-ip:5601`,使用Elasticsearch生成的密码登录。 #### 六、安全加固 1. **设置密码**: ```bash # 在任一Elasticsearch节点运行 ./bin/elasticsearch-setup-passwords auto ``` 2. **防火墙规则**: ```bash sudo ufw allow 9200/tcp # ES通信 sudo ufw allow 5601/tcp # Kibana sudo ufw allow 5044/tcp # Logstash ``` > **注意**: > - 多节点需在所有机器重复上述步骤,确保`elasticsearch.yml`中集群名称一致 > - 生产环境建议使用Docker或APT仓库安装[^1][^2] > - 完整安全配置参考[官方文档](https://www.elastic.co/guide/en/elasticsearch/reference/8.4/security-basic-setup.html)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值