每条命令下方的文字为命令的解释注释!!
systemctl stop firewalld
#关闭防火墙;
systemctl disable firewalld
#禁止开机自启;
如果需要开启防火墙,那么开放所需端口;
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=5044/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
#添加规则,允许所有IP访问以上端口;
firewall-cmd --reload
# 重新加载;
sysctl -w vm.max_map_count=262144
#临时设置:最大虚拟内存262144;
echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
#永久设置:最大虚拟内存262144;
sysctl -p
#刷新生效;
(注:在下载并启动docker容器之前,先执行上述命令,否则elk容器启动会无限退出,因所需内存不足);
docker search elk
#查找elk可用镜像,这里我门选用第一个镜像;
docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 --name elk sebp/elk
#-d:后台运行;
#-p:端口映射;
#--name:容器名字;
#sebp/elk:镜像名字;
#5601:Kibana接口;
#9200:Elasticsearch接口;
#5044:Logstash接口;
(注:此镜像较大,如果本地没有镜像,下载需要一定时间,下载后约为2.07GB,下载前保证磁盘空间充足并且网络稳定)
http://xx.xx.xx.xxx:9200
http://xx.xx.xx.xxx:5601
#容器启动成功后,验证Elasticsearch,Kibana可以访问;
#这里用的filebeat来做input和output,logstash语法太难搞了,为了方便快捷更容易上手,下文使用filebeat作为客户端来用;
#elk启动完成之后,部署filebeat;
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-x86_64.rpm
#下载filebeat的rpm包;
rpm -vi filebeat-7.6.1-x86_64.rpm
#安装filebeat;
vim /etc/filebeat/filebeat.yml
#输入配置 ;
output.elasticsearch:
hosts: ["localhost:9200"]
username: "xxxxx"
password: "xxxxxxx"
setup.kibana:
host: "localhost:5601"
#输出配置,将username/password/host前注释打开;
filebeat modules enable system
#初始化模块;
filebeat setup
#编译;
service filebeat start
#启动;
#全部配置完成后直接kibana点击discover就会有filebeat索引了,可以查看所有/var/log/*/*.log数据了;
(注:filebeat配置文件中日志的path默认为/var/log/*/*.log,也可自己指定路径);
#测试一下看看能否查询到数据;
echo "我在这里" >> /var/log/message
#在kibana上查看;
#验证成功!!!
至此完成Cenos7.x无脑使用docker部署elk!
在此欢迎各位小伙伴提出意见和批评!!大家共勉!
如果此篇文章对您有一点点帮助,那么此篇文章便有了他的意义!
谢谢!!
不羡鸳鸯丶不羡仙 原创文章 33获赞 9访问量 1222 关注 私信 展开阅读全文