百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Docker搭建ELK 8.0,收集Nginx日志完整搭建教程——免踩坑系列

off999 2025-02-16 22:26 26 浏览 0 评论

因公司节约成本,业务下云,很多基础服务都需要自建,刚好尝鲜一下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、当看见如下界面时,恭喜你搭建成功。

相关推荐

tp路由器无线设置最佳参数(tp-link路由器网络参数怎么设置)

1,在浏览器中输入192.168.1.1,进入后台管理,输入用户名和密码登录。2,先连接外网。在左边选择“网络参数”下的“WAN口设置”。3,并在右边选择一种网络方式,如“PPPOE”并输入帐号和密码...

amd的cpu天梯图(amd全系列cpu天梯图)

低压版最高端是“FX-7500”,四核心,4MB二级缓存,CPU频率为2.1-3.3GHz,RadeonR7GPU六个计算单元384个流处理器,频率496-553MHz,内存支持DDR3-1600...

免费恢复微信好友软件(免费恢复微信好友软件哪个好用)

1.不存在免费的微信找回删除好友软件。2.因为微信的好友删除是一种数据操作,需要访问微信服务器上的数据,而微信官方并没有提供找回删除好友的功能,所以任何软件都无法实现这个功能。此外,使用未知来源的...

台式电脑突然断电后无法开机

首先,突然断电导致电脑不能正常开机,并不一定是系统故障,根据以下的方法进行排除。1、在断开电源的前提条件下,打开主机箱侧盖将内存条取下来,更换内存安装插槽的位置。2、找到主板电池,并且将主板电池取下来...

网易邮箱163登录下载(网易邮箱163登录下载不了)

手机163的登录入口163邮箱官网入口是;https://smart.mail.163.com/login.htm网易邮箱注册方法;1在浏览器搜索“网易邮箱”。2进入网易邮箱官网https://sma...

免费ppt模板下载网站(免费ppt模板下载网站名)
  • 免费ppt模板下载网站(免费ppt模板下载网站名)
  • 免费ppt模板下载网站(免费ppt模板下载网站名)
  • 免费ppt模板下载网站(免费ppt模板下载网站名)
  • 免费ppt模板下载网站(免费ppt模板下载网站名)
hotmail邮箱怎么样

微软关闭的是中国大陆地区以外的WindowsLiveMessenger客户端服务和邮箱服务完全无关.所以不止中国大陆,全球的hotmail都可以用的.hotmail邮箱目前还是可以用的,不过...

手机怎么连路由器上网设置(用手机连接路由器设置)

手机无线路由器的桥接方法如下1、在确保手机已连接到当前WIFI网络的情况下,打开手机设置。然后在设置页面中,点击“移动网络”进入。2、在移动网络设置界面,点击“移动网络共享”进入。3、在移动网络共享设...

nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
截图电脑(截图电脑怎么操作)

方法一:系统自带截图具体操作:同时按下电脑的自带截图键【Windows+shift+S】,可以选择其中一种方式来截取图片:截屏有矩形截屏、任意形状截屏、窗口截屏和全屏截图。?方法二:QQ截图具体操作:...

显卡参数对比(rtx50系列显卡参数对比)

在规格方面:显卡容量大(大容量显卡在大型游戏中比较有用);显卡速度快(比如DDR5比DDR3快);核心频率高(比如4830在500MHZ左右,4870能到700多)这是显卡很重要的参数;还有流处理器...

n卡驱动下载官网(n卡驱动官网网址)

1可能下载不了。2可能的原因是网速不稳定或者网络连接不畅,还有就是可能是服务器维护或者更新的原因。3如果下载不了,可以尝试换一个时间或者尝试使用其他的下载方式或者下载其他版本的驱动。另外,也可以...

android模拟器下载安装(安卓模拟器软件下载)

电脑版安卓模拟器可以通过网上下载并安装。首先选择一个安卓模拟器,比如NoxPlayer、BlueStacks、LDPlayer等,然后在官网或其他可靠的下载网站下载对应的安装包。下载完成后,双击安装包...

win7明明是管理员却没有权限

答:win7没有管理员权限的解决方法。1.为Windows7的右键菜单添加取得所有权的菜单:具体实现的方法不难,将以下内容另存为文本文件; 2.然后修改该文件的扩展名为.reg,双击导...

电脑c盘格式化了怎么装系统(电脑c盘格式化后还能用吗)

C盘只有格式化才能中心装系统吗?不是的。C盘格式化是为了让C盘更清洁,这样装了的系统比较纯净的。没有系统来及,用起来更是的速度快。格式化(format)是指对磁盘或磁盘中的分区(partition)进...

取消回复欢迎 发表评论: