(亲测无坑)Cenos7.x无脑使用docker部署elk

Giacinta ·
更新时间:2024-09-20
· 651 次阅读

今天给给位小伙伴带来的文章是使用docker无脑部署elk,废话不多说,直接上干货!!

每条命令下方的文字为命令的解释注释!!

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 关注 私信 展开阅读全文
作者:不羡鸳鸯丶不羡仙



elk Docker

需要 登录 后方可回复, 如果你还没有账号请 注册新账号