日志存储方案
app项目需要记录各种类型的日志:用户登录日志、后台操作日志等
为方便统一管理,日志统一存储至ElasticSearch中,与app业务剥离。
环境搭建 ES&Kibana
elasticsearch
docker pull elasticsearch:
6.7
.
0
mkdir -p /data/elasticsearch/config
mkdir -p /data/elasticsearch/data
echo
"http.host: 0.0.0.0"
>> /data/elasticsearch/config/elasticsearch.yml
echo
"network.host: 0.0.0.0"
>> /data/elasticsearch/config/elasticsearch.yml
docker run -d --name elasticsearch6.
7.0
-p
9200
:
9200
-p
9300
:
9300
-e
"discovery.type=single-node"
-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elasticsearch/data:/usr/share/elasticsearch/data 02982be5777d
kibana
docker pull kibana:
6.7
.
0
docker images
docker run --name kibana6.
7.0
-e ELASTICSEARCH_URL=http:
//172.17.0.3:9200 -p 5601:5601 -d a19f604cd838
示例
约定日志索引类型&字段
PUT platform_member_log
{
"settings"
: {
"number_of_replicas"
:
1
,
"number_of_shards"
:
5
},
"mappings"
: {
"_doc"
: {
"properties"
: {
"uid"
: {
"type"
:
"integer"
},
"auth_type"
: {
"type"
:
"keyword"
},
"command"
: {
"type"
:
"keyword"
},
"version"
: {
"type"
:
"double"
},
"client"
: {
"type"
:
"keyword"
},
"device_id"
: {
"type"
:
"keyword"
},
"ip"
: {
"type"
:
"keyword"
},
"os"
: {
"type"
:
"keyword"
},
"osver"
: {
"type"
:
"keyword"
},
"error_count"
: {
"type"
:
"integer"
}
}
}
}
}
客户端链接:https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html
使用es扩展 https://packagist.org/packages/cviebrock/laravel-elasticsearch
写入测试
$data
= [
"body"
=> [
"uid"
=> 1,
"auth_type"
=>
"weixin"
,
"command"
=>
"登录成功"
,
"version"
=>
"1.0"
,
"client"
=>
"xxx"
,
"device_id"
=>
"111222333"
,
"ip"
=>
"127.0.0.1"
,
"os"
=>
"ios"
,
"osver"
=>
"9.3"
,
"error_count"
=> 1
],
"index"
=>
"platform_member_log"
,
"type"
=>
"_doc"
,
"id"
=> 1,
];
$client
= ClientBuilder::create()->build();
return
$client
->index(
$data
);
Kibana初始化
安装完kibana后无法访问后,查看日志:Unable to revive connection: http://elasticsearch:9200/
解决办法:进入容器,修改config/kibana.yml 中
server.host 修改为 0.0.0.0
elasticsearch.hosts 修改为 elasticSearch容器IP
http://172.17.0.2:9200
重启容器即可
以上是 日志存储方案 的全部内容, 来源链接: utcz.com/z/511040.html