链接追踪系列-04.linux服务器docker安装elk

bash 复制代码
[root@VM-24-17-centos ~]# cat /proc/sys/vm/max_map_count
65530
[root@VM-24-17-centos ~]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144 

#先创建出相应目录:/opt/dockerV/es/...

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
 -v /opt/dockerV/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  \
-v /opt/dockerV/es/data:/usr/share/elasticsearch/data \
-v /opt/dockerV/es/plugins:/usr/share/elasticsearch/plugins \
--name ES01 elasticsearch:7.17.5

#报错了:docker: error pulling image configuration: download failed after attempts=6: dial tcp 104.18.124.25:443: i/o timeout.

解决方案:配置阿里云/腾讯云镜像地址: "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]

bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

再次启动es docker:报错"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes",

解决:权限不够:

chmod 777 /opt/dockerV/es/**

再次启动:ok

配置插件:ik_smart:

配置扩展字典:

创建my.dic文件:

酸衡子

樊孤殷衡

见路不走

重启容器:

因为一些特殊原因:没能打开防火墙端口:先通过nginx转发去操作:

bash 复制代码
下载logstash:[root@VM-24-17-centos opt]# wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz

解压:[root@VM-24-17-centos opt]# tar -xvf logstash-7.17.0-linux-x86_64.tar.gz                                                                                        

备份:

配置:

bash 复制代码
input {
 file {
   type => "docker"
   path => "/var/lib/docker/containers/*/*.log"
   start_position => "beginning"
   sincedb_path => "/dev/null"
   codec => "json"
 }
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-%{+YYYY.MM.dd}"
    document_type => "docker"
  }
}

#启动logstash:

bash 复制代码
cd /opt/logstash-7.17.0 && 
./bin/logstash -f config/docker.conf &


---------------------附录:本机mac m1 安装kibana-----------

本机再启动一个kibana实例:

bash 复制代码
jelex@jelexxudeMacBook-Pro ~ % docker run --name kibana-tencent -e ELASTICSEARCH_HOSTS=http://101.43.xxx.xx -p 5602:5601 -d arm64v8/kibana:7.17.5
430b2c038fd79c41dca524bcd2dfc58452bbc9f770166b2d6ece1b5e2b2eacab
jelex@jelexxudeMacBook-Pro ~ % docker ps | grep kibana
430b2c038fd7   arm64v8/kibana:7.17.5     "/bin/tini -- /usr/l..."   10 seconds ago       Up 9 seconds        0.0.0.0:5602->5601/tcp                                 kibana-tencent
jelex@jelexxudeMacBook-Pro ~ %

GET _analyze

{

"text": "hello,world 徐..."

}

------------#添加认证:------------

bash 复制代码
# 配置X-Pack
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

#重启es:

#设置es密码:

bash 复制代码
[root@VM-24-17-centos dockerV]# docker exec -it ES01 bash
root@1701f055dbb0:/usr/share/elasticsearch/bin# ./elasticsearch-setup-passwords interactive 


kibana配置认证:

jelex@jelexxudeMacBook-Pro ~ % docker exec -it kibana-tencent bash

#把配置文件复制出来:

bash 复制代码
jelex@jelexxudeMacBook-Pro ~ % docker cp kibana-tencent:/usr/share/kibana/config /Users/jelex/Desktop

#删除容器:重新来,加上配置卷映射:

#把桌面上刚从容器中复制出来的配置文件放到容器卷中:

编辑配置:认证

bash 复制代码
docker run --name kibana-tencent -e ELASTICSEARCH_HOSTS=http://101.43.xxx.xx -p 5602:5601 -v /Users/jelex/dockerV/kibana-tencent/config:/usr/share/kibana/config -d arm64v8/kibana:7.17.5

访问kibana:http://localhost:5602/login?next=%2Fapp%2Fdev_tools#/console

#输入elastic / xxxx密码 用户名和密码:注意:用户名不是kibana

此时顶部就没有未认证warning了:

logstash加入认证:

#杀死原来的进程,重新启动:

cd /opt/logstash-7.17.0 && ./bin/logstash -f config/docker.conf &

#如果不行,再试试:

bash 复制代码
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: xxxxusername
xpack.monitoring.elasticsearch.password: xxxxxpwd
xpack.monitoring.elasticsearch.hosts: ["http://localhost:9200"]

详细学习可查看:https://www.elastic.co/guide/en/logstash/current/ls-security.html


可以查看用户:



搜索:

相关推荐
Maple_land1 小时前
Linux进程第八讲——进程状态全景解析(二):从阻塞到消亡的完整生命周期
linux·运维·服务器·c++·centos
爱吃生蚝的于勒1 小时前
【Linux】零基础学会Linux之权限
linux·运维·服务器·数据结构·git·算法·github
量子物理学1 小时前
Eclipse Mosquitto 在小内存下怎么修改配置文件
java·服务器·eclipse
Cyan_RA91 小时前
Linux 远程Ubuntu服务器本地部署大模型 EmoLLM 中常见的问题及解决方案 万字详解
linux·运维·服务器·ubuntu·大模型·远程部署·emollm
数字冰雹1 小时前
图观 流渲染打包服务器
服务器·前端·github·数据可视化
minji...1 小时前
Linux相关工具vim/gcc/g++/gdb/cgdb的使用详解
linux·运维·服务器·c++·git·自动化·vim
web安全工具库1 小时前
Linux 高手进阶:Vim 核心模式与分屏操作详解
linux·运维·服务器·前端·数据库
不会调制解调的猫2 小时前
笔记 | 内网服务器通过wifi穿透,设置流量走向
运维·服务器·笔记
深蓝电商API2 小时前
将爬虫部署到服务器:Scrapy+Scrapyd 实现定时任务与监控
服务器·爬虫·scrapy
熊思宇2 小时前
ASP.NET Core Web API 发布到 IIS 服务器
服务器·microsoft·asp.net