在多节点部署的情况下,需要对nginx日志文件按节点名[hostname]做区分,但实际使用中发现日志文件夹中并没有输出这种文件,本以为access_log中不支持这个变量,其实看到error_log中的日志发现了问题所在。
access_log /logs/nginx/prd-$hostname-access.log main;
在多节点部署的情况下,需要对nginx日志文件按节点名[hostname]做区分,但实际使用中发现日志文件夹中并没有输出这种文件,本以为access_log中不支持这个变量,其实看到error_log中的日志发现了问题所在。
access_log /logs/nginx/prd-$hostname-access.log main;
记录一个奇葩的问题,今天在调ELK+filebeat,将Laravel日志解析之后,写入elasticsearch发现,数据没了。
继续阅读记录一个elk数据写入不成功的问题
letsencrypt 免费的ssl证书现在已经比较流行了,今天来使用docker环境一行命令签发/续期证书。
他自己的有多种方式验证服务器的合法性,也就是证明这台服务器是你的,你拥有他的操作权限。今天使用webroot的方式来验证,这个方式有一个好处就是不影响现有的服务器运行。
他的机制其实就是命令录入一个webroot,自动验证程序会在这个目录写入一个临时的文件,然后这个程序会从互联网外网通过你键入的域名来访问这个文件,比如[http://gbk.pw/.well-known/acme-challenge/BY91IegFTEq8MtM8nAGEwOvY2TSos_tM7E2fAOeGgF0:]。如果通过域名能访问到,也就代表着你有这台服务器有写入权限。当然这只是他的原理,使用起来可以不必关心这些。
ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。
对于上面的elk套件,Logstash是可选的。现在官方在主要推行beats系统收集日志的组件 ,这些组件是基于go的,所以不需要java环境更加精简一些。这次就只安装ek环境,不再安装Logstash,对于数据的采集来源用beats套件,直接采集到ElasticSearch里面。
继续阅读elk升级版-ek+beats套件安装
需要将现有的gitlab迁移到docker中去。
先在docker中安装gitlab,为了兼容性,安装相同版本的gitlab.
继续阅读Gitlab迁移到docker环境下面
背景:最近再写一个即时聊天的应用用到到了swoole+异步redis,应用是跑在docker容器里面的。开发中发现docker中的redis长链接会被关闭寻找规律发现,第一次会再120秒内关闭,然后些后每次关闭都是固定的120秒。
继续阅读docker for mac tcp链接会被断开
安装依赖
yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
添加源
yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
安装
yum install docker-ce
启用&启动
systemctl enable docker systemctl daemon-reload systemctl start docker
安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
添加国内镜像
vi /etc/docker/daemon.json
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
systemctl restart docker
除了选择现有镜像为基础镜像外,Docker 还存在一个特殊的镜像,名为scratch。这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像。
继续阅读Go+Docker完美适配微服务