Elasticsearch+Kibana日志分析系统搭建

由于我们的服务分布在各个节点,日志写入本地已经不能很好的访问了,所以需要一个日志中心集中分析日志,本来Elasticsearch+Kibana+Logstash是一整套,但我们目前使用的两个框架已经可以直接写入日志到Elasticsearch,所以不需要Logstash了。

安装Elasticsearch

在管理节点主机修改vm.max_map_count

vim /etc/sysctl.conf #加一行
vm.max_map_count=262144
sysctl -p #立即生效

Elasticsearch是可以创建多节点集群的,但我们仅为收集日志,就启用了一个主节点。

新建一个目录储存数据

mkdir -p /home/data/elasticsearch/data
docker run -d --name es01 --restart=always \
  --network my-net \
  -v /home/data/elasticsearch/data:/usr/share/elasticsearch/data \
  --ulimit memlock="-1:-1"  \
  -e node.name=es01 -e cluster.initial_master_nodes=es01 -e cluster.name=docker-cluster \
  -e bootstrap.memory_lock=true -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  docker.elastic.co/elasticsearch/elasticsearch:7.4.0

写入权限

chmod 777 /home/data/elasticsearch/data

如果要加入其他节点,只需要指定cluster.initial_master_nodes=es01

安装Kibana面板

注意elasticsearch 和 kibana要版本一至。在管理节点主机新建一个配置文件

vim /home/data/kibana/kibana.yml

内容为

server.name: kibana
server.host: "0"
elasticsearch.hosts: ["http://es01:9200"] #这就是我们elasticsearch的地址
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN

创建容器

docker run -d --name kibana --restart=always \
    --network my-net \
    -v /home/data/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
    docker.elastic.co/kibana/kibana:7.4.0

kibana面板是没有账号密码的,运行在私有网络,但我们可以在nginx代理的时候为其设置一个账号密码。

查看日志,只需进入面板,点击“使用 Elasticsearch 数据”,然后检查新数据,如果有日志发送过来的,就能查看到,创建索引就行了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

《PHP微服务练兵》系列索引博客:《PHP 微服务练兵》系列教程

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!