目录
1.系统操作
2.搭建es
3.kibana(新起终端跟es一起启动)
4.logstash(新起终端和es一起启动)
5.修改logstash配置文件
6. 创建索引
7. exit #退出容器
8. 在logstash节点插入数据,测试是否能拿取到(下面如果本身有数据就不需要创建目录了)
9.配置索引,索引模式创建
10.在discover中查看日志
1.系统操作
前置操作就不说了,像关闭防火墙啊,关闭selinux啊,开放端口啊这写
2.搭建es
即docker run --restart=always -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /aaa/bbb/:/usr/share/elasticsearch/data -v /u01/ezone/elk-es-plugins:/usr/share/elasticsearch/plugins --privileged --network elk-net -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1 && chmod 777 /u01/ezone/elk-es-data
注意:/aaa/bbb:/usr/share/elasticsearch/data :前为将es中的数据存放的目录,一般写在数据盘中 :后面为容器中存在的路径
3.kibana(新起终端跟es一起启动)
docker run --restart=always -d --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 -e "I18N_LOCALE=zh-CN" --network=elk-net -p 5601:5601 kibana:7.12.1
4.logstash(新起终端和es一起启动)
注意:logstash需要每个节点都搭,因为它是收集日志的服务
即 docker run --restart=always -d -p 5044:5044 -p 9600:9600 \
-v /var/log/containers:/var/log/containers \
-v /var/log/pods:/var/log/pods \
-v /storage/docker/containers:/storage/docker/containers \
--name logstash logstash:7.12.1
用chmod -R递归修改目录的权限,改为777否则容器中读取不了数据
注意: /var/log/containers:/var/log/containers :前面的为本地目录位置,后面为系统目录位置 这里是没有创建网络 如果前面创建了后面要跟上网络的名字
5.修改logstash配置文件
docker exec -it $(docker ps|awk '$2~/logst/{print$1}') /bin/bash
#修改logstash容器中的文件
vi /usr/share/logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.1.1:9200" ]
#上面192.168.1.1为es节点的ip,下面的配置文件也同理
6. 创建索引
##索引需要根据自己的需求设计 不会的话可以去搜一个模板
7. exit #退出容器
docker restart logstash #重启logstash容器
#重启完成后,访问kibana
网页输入 ip:5601 如: 192.168.1.1:5601
8. 在logstash节点插入数据,测试是否能拿取到(下面如果本身有数据就不需要创建目录了)
mkdir -p /data/ezone/ezpipeline/logs/resource-manager-1/
echo "$(date) hello world">> /data/ezone/ezpipeline/logs/resource-manager-1/scheduler-manager.log