最近新项目要准备做日志系统,nginx的access log暂时先放着,后期再考虑,目前首要处理的是接口中的php执行过程中产生的业务日志。直接入数据库,或写文件感觉太low,elk stack虽然搭建、运维比较麻烦,但它有很好的展示层,并且能够灵活地接入将来的其他各种日志,感觉还是值得做下尝试。准备先在VM上先用docker镜像体验下,于是就有了以下的安装过程。
安装docker
- 使用apt install安装docker.io发现版本有问题,
- 升级软件源,安装lxc-docker,还是有问题(具体什么忘了)
- 使用get.docker.io的shell,搞定
curl -sSL https://get.docker.com/ | sudo sh
获取elk镜像
- 之前尝试过github中的elk-docker,但是发现它启动过程中会调用被墙的接口,导致无法继续,由于我使用的环境的特殊性,不便翻墙,于是放弃这种方式;
- 从官方pull elk镜像,这种方式执行过程中也有墙;
- 使用阿里云docker-hub,妥妥搞定(这个是它的文档:elk-docker)
docker pull registry.cn-hangzhou.aliyuncs.com/testhub/elk
运行
启动镜像
sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it \
-e LOGSTASH_START=0 -e KIBANA_START=0 --name elk registry.cn-hangzhou.aliyuncs.com/testhub/elk
小结
有很多坑要趟过才知道,环境搭建完成了,接下来在看看怎么用elk吧。