系统部署完成时间:2020/11月
各软件版本说明:
Ansible版本: ansible 2.9.10
操作系统版本: CentOS release 7.8
ELK日志架构:Filebeat+Kafka+Zookeeper+Logstash+Elasticsearch+Kibana
elastic stack各组件版本为:7.9.2
zookeeper版本:apache-zookeeper-3.6.2
kafka版本:kafka_2.13-2.6.0
各组件服务器数量说明:
ES Master节点数:3台
ES Node节点数:3台
Kafka+Zookeeper: 3台
Kibana: 2台
Ansible:2台(1台备份)
Logstash:2台(根据自己情况来定)
一,首先实现ansible的部署
1)部署anbile软件,并实现对各个节点的ssh信任,实现无密码链接
2)anbile采用role机制对各服务实现部署
如下所示:base目录是通用配置,例如各个服务器的时间同步,dns配置,基础软件安装等等
![992f48a99c3dc6a64e29e1ce3340e48f.png](https://img-blog.csdnimg.cn/img_convert/992f48a99c3dc6a64e29e1ce3340e48f.png)
各个目录结构如图所示(roles的规范结构),当然也有几个目录没有用到,主要还是tasks,files,handlers以及templates目录,变量均配置在了/etc/ansible/group_vars/all 全局变量当中了:
![ac64e023d244321266677608363aa21e.png](https://img-blog.csdnimg.cn/img_convert/ac64e023d244321266677608363aa21e.png)
![705627fa239069e6669da4cfd930d2f9.png](https://img-blog.csdnimg.cn/img_convert/705627fa239069e6669da4cfd930d2f9.png)
主要配置的是tasks/main.yml文件,本次部署所有配置文件均写在了这一个文件当中:
如下所示:
![7a869e16e6ecb66dfc2e3e998b9cedd4.png](https://img-blog.csdnimg.cn/img_convert/7a869e16e6ecb66dfc2e3e998b9cedd4.png)
最后入口配置文件site.yml
![6919008ab19c914203f4b5ba969b45c0.png](https://img-blog.csdnimg.cn/img_convert/6919008ab19c914203f4b5ba969b45c0.png)
所有配置好后,通过ansible进行安装部署服务操作:
ansible-playbook site.yml -t esmaster
部署完成之后的ELK日志系统:
elk日志系统配置了xpack,可以实现不同的用户进行登录并做权限的控制:
![4613a3e0bfa2025367e804530f50fd5b.png](https://img-blog.csdnimg.cn/img_convert/4613a3e0bfa2025367e804530f50fd5b.png)
![153e4dd540a8676f950751ccdda2725a.png](https://img-blog.csdnimg.cn/img_convert/153e4dd540a8676f950751ccdda2725a.png)
![143492c7bf99feeb37871c3010f198dc.png](https://img-blog.csdnimg.cn/img_convert/143492c7bf99feeb37871c3010f198dc.png)
![038c62b2d9c29eb58209f8681685b78e.png](https://img-blog.csdnimg.cn/img_convert/038c62b2d9c29eb58209f8681685b78e.png)
![014376e8dde9d1541df8fe6edb111dbf.png](https://img-blog.csdnimg.cn/img_convert/014376e8dde9d1541df8fe6edb111dbf.png)
因为涉及到东西较多,这里并没有详细的罗列出来,当然期间也碰到过一些问题,包括部署期间以及系统运行之后,如果有感兴趣的朋友或者有正在部署日志系统的朋友,欢迎一起交流!