茂名市网站建设_网站建设公司_过渡效果_seo优化
2025/12/31 20:34:12 网站建设 项目流程

简介

ELK 是由三个开源项目组成的日志管理解决方案,分别是 Elasticsearch、Logstash 和 Kibana。这三个工具协同工作,提供强大的日志收集、处理、存储和可视化能力。通常,ELK 被用于大规模的日志分析和数据监控,帮助开发人员和运维团队快速发现问题、进行故障排查和性能优化。

环境

阿里云ecs,centos7.9 16c 32g

组件

ElasticSearch、Logstash 和 Kiabana +Filebeat

安装docker

源码方式:

可下载对应docker包,执行脚本部署,参考如下链接

https://blog.csdn.net/eighters/article/details/155743885?spm=1011.2415.3001.5331

https://download.docker.com/linux/static/stable/x86_64/

部署完成后需要配置daemon.json文件添加阿里云加速器

这里我还修改了docker数据的默认存放目录



安装elasticsearch

1.创建工作目录

mkdir -p /data/docker/elasticsearch/{plugins,data}

2.下载镜像并创建网络

docker pull elasticsearch:7.9.3

docker network create elk

3.配置系统参数

echo 'vm.max_map_count=262144' >>/etc/sysctl.conf

生效参数

sysctl -p

4.给es数据目录授权

chmod -R 777 /data/docker/

5.启动es

docker run -itd --name=es --network elk --restart=always -p 9200:9200 -p 9300:9300 -v /data/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /data/docker/elasticsearch/data:/usr/share/elasticsearch/data --privileged -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.9.3

6.访问端口测试服务

安装kibana

1.下载镜像

docker pull kibana:7.9.3

2.启动服务

docker run -d --restart=always --name kibana --network elk -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://es:9200 kibana:7.9.3

3.修改配置文件

添加中文

i18n.locale: "zh-CN"

4.验证服务

容器内测试 es容器

测试kibana服务

安装logstash

1.下载镜像

docker pull logstash:7.9.3

2.创建目录

mkdir -p -m 777 /data/docker/logstash/{pipeline.data.config}

3.启动一个基础容器,拷贝数据

docker run -d --name=logstash logstash:7.9.3

docker cp logstash:/usr/share/logstash /data/docker

4.修改配置文件

config/logstash.yml

config/pipelines.yml

pipeline/logstash.conf

5.重新创建logstash

docker run -d --name logstash --restart=always --privileged -p 5044:5044 -p 9600:9600 --network elk -v /etc/localtime:/etc/localtime -v /data/docker/logstash/config:/usr/share/logstash/config -v /data/docker/logstash/pipeline:/usr/share/logstash/pipeline -v /data/docker/logstash/data:/usr/share/logstash/data logstash:7.9.3

目标机器部署filebeat

1.下载版本包

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.3-linux-x86_64.tar.gz

2.解压及创建目录

tar -zxvf filebeat-7.9.3-linux-x86_64.tar.gz

mv filebeat-7.9.3-linux-x86_64 filebeat

mkdir /opt/filebeat/{data,log}

3.设置权限

chmod 777 filebeat -R
chmod 755 /opt/filebeat
chmod 755 /opt/filebeat/filebeat
chmod 600 /opt/filebeat/filebeat.yml
chmod 755 /opt/filebeat/log
chmod 700 /opt/filebeat/data

4.systemd程序

[root@iZ2zei1gxlnqhosc4uizbmZ ~]# systemctl cat filebeat
# /etc/systemd/system/filebeat.service
[Unit]
Description=Filebeat Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/filebeat/filebeat -c /opt/filebeat/filebeat.yml --path.home /opt/filebeat --path.data /opt/filebeat/data --path.logs /opt/filebeat/logs
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

5.修改配置文件

input设置

此处定义了两个类型的日志,分别定义了不同的app名字(这块设置可用于页面日志搜索类别使用

kibana设置

output设置

6.启动服务查看日志

systemctl restart filebeat

tail -f /opt/filebeat/logs/filebeat

有这个harvester字符说明文件已经读到了

kibana页面访问查看docker

1.点击discover按提示创建索引,预期是可以看到索引数据

2.点击observability----日志,预期是可以看到日志并且点击实时流日志无报错

注意此处fields.app就是filebeat配置的app名字,可以根据这个名字去过滤你需要的日志

使用方法:

搜索处 fields.app : xxx

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询