docker安装配置
# docker安装
yum -y install docker
systemctl start docker
systemctl enable docker
# 默认下载太慢,使用阿里的加速器
详见https://cr.console.aliyun.com/cn-hangzhou/instances/,按文档提示配置加速器。
复制代码
mongodb安装
$ docker pull mongo
# $IMAGE ID 是你下载镜像的ID
$ docker run -itd --name=mongo -P $IMAGE ID
复制代码
Elasticsearch安装
安装帮助文档 www.elastic.co/guide/en/el…
# 由于被墙我没有使用上面的安装方式,改用
$ docker pull elasticsearch
$ docker run -itd --name elasticsearch \
-e "http.host=0.0.0.0" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-P $IMAGE ID
复制代码
安装配置Graylog
// 用了阿里的镜像仓库,需要登录,详见https://cr.console.aliyun.com/cn-hangzhou/instances/
$ docker pull registry.cn-hangzhou.aliyuncs.com/logss/graylog:3.0
$ docker run -itd --name graylog --link mongo --link elasticsearch \
-p 9000:9000 -p 12201:12201 -p 1514:1514 \
$IMAGE ID
# 使用下面命令将graylog配置文件导出到宿主机目录(/home/nlh/graylog/是我的目录)进行修改。
$ docker cp graylog:/usr/share/graylog/data/config /home/nlh/graylog/
# 在导出的目录中修改配置文件graylog.conf,根据情况自行修改。
$ vi graylog.conf
http_publish_uri = http://{宿主机外网地址}:9000/
# 修改完成再重新复制过去,可能存在文件权限问题
#(我是将宿主机配置文件权限设置成777,然后重新创建容器挂载到tmp目录,进入容器后将挂载的文件内部拷贝覆盖原配置文件,这样做能保证覆盖的配置文件所有者所属组与原文件一致)。
$ docker cp /home/nlh/graylog/graylog.conf graylog:/usr/share/graylog/data/config
# 修改完成重启容器,用浏览器外网访问http://{宿主机外网地址}:9000
复制代码
设置Graylog接收日志
添加inputs
按照提示配置,这边我选用GELE HTTP,端口选择容器之前暴露的1514或者12201。
使用postman模拟发送日志消息
注意请求头设置成json类型,json数据中version,host,level,_some_info,short_message是默认需要解析的字段,其余字段可以自定义。
发送完成,http 状态码响应是202。Graylog查看消息,Search选项卡下点击搜索按钮。
下一篇文章我将介绍我用Go语言写的一个爬虫框架,采用mongodb作为数据库并使用最新的官方驱动。框架包含可用的免费ip代理池(一次请求大约有超过30个可用ip,可以慢慢累积),同时所有日志信息都可以发送给Graylog进行分析统计。该框架下还有3个demo,可直接在go环境下运行做测试。另有一个.exe文件,windows下可直接双击运行,下载某网站图片。