通过saltstack部署zabbix
一. 案例简介
使用Saltstack部署zabbix,主要包括zabbix-server、zabbix-agent、zabbix-web以及mysql。其中,zabbix的版本使用4.0,使用本地自己搭建的zabbix仓库,加快部署效率。
两台虚拟机作为示例,分别是server2和server3。
部署架构
[root@server1 srv]# tree
.
└── salt
├── top.sls
├── zabbix-agent
│ ├── init.sls
│ └── zabbix_agentd.conf
├── zabbix-db
│ └── init.sls
├── zabbix-server
│ ├── init.sls
│ └── zabbix_server.conf
└── zabbix-web
├── init.sls
└── zabbix.conf
5 directories, 8 files
二.部署过程
1 本地zabbix仓库搭建
root@server1 ~]# vim /etc/yum.repos.d/dvd.repo
[root@server1 ~]# cat /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=http://172.25.7.250/rhel7.6
gpgcheck=0
[saltstack]
name=saltstack
baseurl=http://172.25.7.250/3000
gpgcheck=0
[zabbix]
name=zabbix
baseurl=http://172.25.7.250/4.0
gpgcheck=0
2 创建数据库
创建目录并且编写init.sls文件
root@server1 zabbix-db]# vim init.sls
[root@server1 zabbix-db]# cat init.sls
db-install:
pkg.installed:
- pkgs:
- mariadb-server
- mariadb
- MySQL-python
service.running:
- name: mariadb
cmd.run:
- name: mysql -pwestos && create database zabbix character set utf8 collate utf8_bin; && create user 'zabbix'@'localhost' identified by 'westos'; && grant all privileges on zabbix.* to 'zabbix'@'localhost'; && quit && cd /usr/share/doc/ && cd zabbix-server-mysql-4.0.5/ && zcat create.sql.gz | mysql -pwestos zabbix
推送:
[root@server1 zabbix-db]# salt server2 state.sls zabbix-db
在server2中查看,
发现推送的文件