安装和配置 Elasticsearch、Kibana 和 Logstash
以下是安装和配置 Elasticsearch、Kibana 和 Logstash 的详细步骤,并设置开机自启。
步骤 1:修改系统参数
编辑系统参数并使其生效:
bash
vim /etc/sysctl.conf
添加以下行:
bash
vm.max_map_count=655360
使配置生效:
bash
sysctl -p
关闭防火墙和 SELinux
关闭防火墙:
bash
systemctl stop firewalld
systemctl disable firewalld
关闭 SELinux:
bash
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
步骤 2:创建用户
创建一个新用户 es
并设置密码:
bash
adduser es
echo "es:P@ssw0rd123" | chpasswd
步骤 3:上传并解压安装包
将安装包上传到服务器,然后解压并赋权:
bash
tar -zxvf elasticsearch-8.13.3-linux-x86_64.tar.gz -C /data/elk
chown -R es:es /data/elk
步骤 4:编辑 Elasticsearch 配置文件
编辑 Elasticsearch 配置文件 /data/elk/elasticsearch-8.13.3/config/elasticsearch.yml
:
bash
vi /data/elk/elasticsearch-8.13.3/config/elasticsearch.yml
添加以下内容:
yaml
cluster.name: my-application
node.name: node-1
path.data: /data/elk/data
path.logs: /data/elk/data
network.host: 0.0.0.0
http.port: 9200
步骤 5:启动 Elasticsearch 并设置开机自启
切换到 es
用户并启动 Elasticsearch:
bash
sudo -u es /data/elk/elasticsearch-8.13.3/bin/elasticsearch -d
设置开机自启:
bash
echo "[Unit]
Description=Elasticsearch
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=es
Group=es
ExecStart=/data/elk/elasticsearch-8.13.3/bin/elasticsearch
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/elasticsearch.service
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
步骤 6:修改 Elasticsearch 密码
切换到 es
用户并修改 elastic
用户密码:
bash
sudo -u es /data/elk/elasticsearch-8.13.3/bin/elasticsearch-reset-password -u elastic -i
步骤 7:生成主节点 Token
切换到 es
用户并生成 Token:
bash
sudo -u es /data/elk/elasticsearch-8.13.3/bin/elasticsearch-create-enrollment-token -s node
步骤 8:其他节点配置
在其他节点上,重复上述步骤 1-3,解压安装包并编辑配置文件 /data/elk/elasticsearch-8.13.3/config/elasticsearch.yml
:
yaml
cluster.name: my-application
node.name: node-2
path.data: /data/elk/data
path.logs: /data/elk/data
network.host: 0.0.0.0
http.port: 9200
启动 Elasticsearch 并加入主节点:
bash
sudo -u es /data/elk/elasticsearch-8.13.3/bin/elasticsearch -d --enrollment-token <主节点生成的token>
步骤 9:验证 Elasticsearch
在浏览器中访问:
https://192.168.9.181:9200/_cat/health?v
或使用命令行验证:
bash
curl -u elastic:<password> -k -X GET "https://192.168.9.181:9200/_cluster/health?pretty"
Kibana 安装和配置
步骤 1:上传并解压 Kibana 安装包
将安装包上传到服务器并解压:
bash
tar -zxvf kibana-8.13.3-linux-x86_64.tar.gz -C /data/elk
chown -R es:es /data/elk/kibana-8.13.3
步骤 2:编辑 Kibana 配置文件
编辑 Kibana 配置文件 /data/elk/kibana-8.13.3/config/kibana.yml
:
bash
vi /data/elk/kibana-8.13.3/config/kibana.yml
添加以下内容:
yaml
server.port: 5601
server.host: "0.0.0.0"
server.publicBaseUrl: "http://192.168.9.181:5601"
i18n.locale: "zh-CN"
步骤 3:启动 Kibana 并设置开机自启
切换到 es
用户并启动 Kibana:
bash
sudo -u es /data/elk/kibana-8.13.3/bin/kibana &
设置开机自启:
bash
echo "[Unit]
Description=Kibana
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=es
Group=es
ExecStart=/data/elk/kibana-8.13.3/bin/kibana
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/kibana.service
sudo systemctl daemon-reload
sudo systemctl enable kibana.service
步骤 4:生成注册令牌
在 Elasticsearch 主节点上生成注册令牌:
bash
sudo -u es /data/elk/elasticsearch-8.13.3/bin/elasticsearch-create-enrollment-token --scope kibana
步骤 5:生成验证码
在 Kibana 目录下生成验证码:
bash
sudo -u es /data/elk/kibana-8.13.3/bin/kibana-verification-code
步骤 6:访问 Kibana
在浏览器中访问:
http://192.168.9.181:5601
按照提示使用生成的注册令牌和验证码完成 Kibana 配置。
Logstash 安装和配置
步骤 1:上传并解压 Logstash 安装包
将安装包上传到服务器并解压:
bash
tar -zxvf logstash-8.13.3-linux-x86_64.tar.gz -C /data/elk
chown -R es:es /data/elk/logstash-8.13.3
步骤 2:配置 Logstash
编辑 Logstash 配置文件 /data/elk/logstash-8.13.3/config/logstash.yml
:
bash
vi /data/elk/logstash-8.13.3/config/logstash.yml
添加以下内容:
yaml
path.data: /data/elk/logstash/data
path.logs: /data/elk/logstash/logs
创建 Logstash 管道配置文件 /data/elk/logstash-8.13.3/pipeline/logstash.conf
:
bash
vi /data/elk/logstash-8.13.3/pipeline/logstash.conf
添加以下内容:
plaintext
input {
beats {
port => 5044
}
}
filter {
# Add any filters here
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
}
步骤 3:启动 Logstash 并设置开机自启
切换到 es
用户并启动 Logstash:
bash
sudo -u es /data/elk/logstash-8.13.3/bin/logstash -f /data/elk/logstash-8.13.3/pipeline/logstash.conf &
设置开机自启:
bash
echo "[Unit]
Description=Logstash
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=es
Group=es
ExecStart=/data/elk/logstash-8.13.3/bin/logstash -f /data/elk/logstash-8.13.3/pipeline/logstash.conf
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/logstash.service
sudo systemctl daemon-reload
sudo systemctl enable logstash.service
以上步骤涵盖了使用 二进制包安装 Elasticsearch、Kibana 和 Logstash