网站首页 > 精选教程 正文
因公司节约成本,业务下云,很多基础服务都需要自建,刚好尝鲜一下ELK 8.0版本。详细搭建过程记录如下:
1、执行如下命令后,执行一下 sysctl -p 使配置生效或者 reboot 重启一下服务器
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
2、在宿主机上新建elasticsearch数据存储目录并授权
mkdir -p /elasticsearch/data && chown 1000:1000 /elasticsearch/data
3、执行 docker-compose up -d 部署elasticsearch和kibana,docker-compose.yaml如下:
version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.6.1
container_name: elasticsearch
restart: always
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms8g -Xmx8g"
- TZ=PRC
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /elasticsearch/data:/usr/share/elasticsearch/data
ports:
- 9200:9200
kibana:
image: docker.elastic.co/kibana/kibana:8.6.1
container_name: kibana
restart: always
environment:
- server.publicBaseUrl=http://your_server_ip:5601
depends_on:
- elasticsearch
ports:
- 5601:5601
4、浏览器输入http://your_server_ip:5601看到如下界面说明启动正常
5、进入elasticsearch容器内重置elastic密码和生成Enrollment token,命令如下:
docker exec -it elasticsearch bash
# 输入“y”后生成新的密码,需要保存记住
bin/elasticsearch-reset-password -u elastic
# 生成的Token密钥,填入到上图中的输入框内
bin/elasticsearch-create-enrollment-token --scope kibana
6、点击浏览器的"Configure Elastic"按钮继续到下一步,如图所示:
7、进入kibana容器内获取6位数字验证码并填入框内,命令如下:
docker exec -it kibana bash
bin/kibana-verification-code
8、配置成功后出现下图,账号是:elastic ,密码是第5步中生成的密码
9、备份保存证书,后面需要用到。退出到容器外执行如下命令:
docker cp elasticsearch:/usr/share/elasticsearch/config/certs/http_ca.crt .
10、将Nginx日志文件格式改成如下:
log_format log_json escape=json '{ "time": "$time_local", '
'"username": "$remote_user", '
'"remote_addr": "$remote_addr", '
'"request": "$request", '
'"domain": "$host", '
'"status": $status, '
'"size": $bytes_sent, '
'"request_body": "$request_body", '
'"client": "$http_user_agent", '
'"x_forwarded": "$http_x_forwarded_for", '
'"up_addr": "$upstream_addr", '
'"request_time": $request_time, '
'"upstream_response_time": $upstream_response_time, '
'"upstream_connect_time": $upstream_connect_time, '
'"upstream_header_time": $upstream_header_time, '
'"upstream_status": $upstream_status'
' }';
access_log /var/log/nginx/access.log log_json;
11、将http_ca.crt证书文件拷贝到Nginx服务器上,如/root/logstash/config/目录下,并修改用户权限:
chown 1000:1000 http_ca.crt
12、在/root/logstash/config/目录下新建logstash.conf配置文件,内容如下:
input {
file {
path => ["/nginx/logs/*.access.log"]
codec => "json"
type => "nginx-access-log"
}
}
filter {
mutate {
remove_field => ["type", "log", "event"]
}
mutate {
convert => ["@version", "integer"]
}
}
output {
# stdout { }
elasticsearch {
hosts => ["https://your_es_server_ip:9200"]
index => "logstash-nginx-%{+YYYY.MM.dd}"
user => "elastic"
password => "your_es_password"
ssl => true # 使用https连接
ssl_certificate_verification => false # 是否允许去CA机构验证证书是否有效,默认是true
cacert => "/logstash/config/http_ca.crt"
}
}
13、执行如下命令部署logstash
docker run -d --name logstash --hostname nginx --restart=always -v /root/proxy/logs:/nginx/logs -v /root/logstash/config:/logstash/config docker.elastic.co/logstash/logstash:8.6.1 -f /logstash/config/logstash.conf
注意:需要将Nginx日志目录挂进容器内,根据自己实际情况修改。
14、登录kibana,点击Discover,点击红框所示按钮
15、获取索引数据,如图红框所示:
16、当看见如下界面时,恭喜你搭建成功。
猜你喜欢
- 2024-10-17 测试开发技能实践-搭建ELK日志管理系统
- 2024-10-17 ELK ——你的日志分析三剑客(2) elk日志解析
- 2024-10-17 Linux搭建ELK日志收集,elasticsearch+kibana+filebeat轻量级
- 2024-10-17 如何将 Python 项目日志接入到 ELK
- 2024-10-17 如何在CentOS 7 / Fedora 31/30/29上安装ELK Stack
- 2024-10-17 ClickHouse日志平台这样建,分分钟秒掉ELK
- 2024-10-17 分布式日志管理系统:从ELK到EFK 分布式管理软件
- 2024-10-17 快速搞定docker部署Filebeat、ELK全家桶
- 2024-10-17 ELK架构部署以及应用 elk架构图
- 2024-10-17 在Docker上搭建ELK+Filebeat日志中心
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)