ansible部署zabbix+mariadb(不看后悔系列)

ansible部署zabbix+mariadb

我只做了简单的部署,没有涉及到任何复杂操作。
实验环境
两台虚拟机,一台作为ansible,一台部署zabbix+mariadb
ansible:hostname=centos4 ip=192.168.100.135
Zabbix+mariadb:hostname=Zabbix ip=192.168.100.137

在ansible配置源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
下载zabbix源:copy到远程
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
关闭防火墙:使用service
ansible all -m service -a ‘name=firewalld state=stopped’
1, 关闭selinux:使用shell模块
ansible all -m shell -a ‘setselinux 0’

2, 首先整理出来一个框架,什么文件该放在什么位置,因为我使用了很多种办法,所以文件有点多,你只需要用什么放什么就ok。
ansible部署zabbix+mariadb(不看后悔系列)_第1张图片

3, 我是用的xshell传文件
ansible部署zabbix+mariadb(不看后悔系列)_第2张图片
4,这里先说如何配置mariadb,如果不先配置数据库,zabbix就起不来。
手动写一个文件放在/roles/mariadb/files/

ansible部署zabbix+mariadb(不看后悔系列)_第3张图片

5,然后写数据库的任务
-name:ansible下的源到被控主机。
-name:开始安装数据库。
-name:把openstack.cnf文件传到被控主机
-name:启动数据库
-name:把在数据库创建zabbix用户并授权的脚本传过去。
-name:执行脚本。
ansible部署zabbix+mariadb(不看后悔系列)_第4张图片ansible部署zabbix+mariadb(不看后悔系列)_第5张图片

ansible部署zabbix+mariadb(不看后悔系列)_第6张图片
ps:脚本长这个样子
#!/bin/bash #创建数据库 a=mysql -e "show databases;" | grep "zabbix" if [[ $a != “zabbix” ]];then mysql -e “create database zabbix character set utf8 collate utf8_bin;” fi #创建用户 b=mysql -e "select user,host from mysql.user;" | grep -o "zabbix" if [[ $b != “zabbix” ]];then mysql -e “grant all on zabbix.* to zabbix@’%’ identified by ‘123456’;” fi #倒数数据库 mysql -e “show tables from zabbix;” &> /dev/null if ! [[ $? -eq 0 ]];then zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 -h192.168.100.137 zabbix fi
ansible部署zabbix+mariadb(不看后悔系列)_第7张图片

6,开始配置zabbix
ansible部署zabbix+mariadb(不看后悔系列)_第8张图片
这里的bai.sh是自己写的,因为批量安装package失败所以选择了脚本
#!/bin/bash
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
ansible部署zabbix+mariadb(不看后悔系列)_第9张图片

handlers:
ansible部署zabbix+mariadb(不看后悔系列)_第10张图片
ps:files里zabbix_server.conf下的密码要改对,时区也要改。
执行剧本:
这个文件写在跟roles平级的地方

ansible部署zabbix+mariadb(不看后悔系列)_第11张图片

7,测试:
在被控端检查相关服务状态
在执行剧本:ansible-playbook zabbix.yml
ansible部署zabbix+mariadb(不看后悔系列)_第12张图片
ansible部署zabbix+mariadb(不看后悔系列)_第13张图片

这里提醒你先决条件有问题,因为我是先修改的配置文件在copy到被控端,所以没有启动触发器。
ansible部署zabbix+mariadb(不看后悔系列)_第14张图片

你可以去重新配置一下,也可以:
ansible zabbix -m service -a ‘name=zabbix-server state=restarted’
ansible部署zabbix+mariadb(不看后悔系列)_第15张图片

如果还不行,请修改:
/etc/php.ini,然后在重启httpd服务
ansible zabbix -m service -a ‘name=httpd state=restarted’ansible部署zabbix+mariadb(不看后悔系列)_第16张图片
再去查看就ok啦
ansible部署zabbix+mariadb(不看后悔系列)_第17张图片

你可能感兴趣的:(ansible)