一、写文件
二、文件内容
1、mariadb
cd mariadb/
ls
vim install.sls
db-install:
pkg.installed:
- pkgs:
- mariadb-server
- mariadb
- MySQL-python
service.running:
- name: mariadb
cmd.run:
- name: mysql -pwestos -e "DELETE FROM mysql.user WHERE User='';" && mysql -pwestos -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" && mysql -pwestos -e "DROP DATABASE IF EXISTS test;" && mysql -pwestos -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'" && mysql -pwestos -e "FLUSH PRIVILEGES;"
- onlyif: mysql -e "show databases;"
db-configure:
file.managed:
- name: /mnt/create.sql.gz
- source: salt://mariadb/files/create.sql.gz
mysql_database.present:
- name: zabbix
- character_set: utf8
- collate: utf8_bin
- connection_user: root
- connection_pass: westos
mysql_user.present:
- name: zabbix
- host: localhost
- password: westos
- connection_user: root
- connection_pass: westos
mysql_grants.present:
- grant: all privileges
- database: zabbix.*
- user: zabbix
- connection_user: root
- connection_pass: westos
cmd.wait:
- name: zcat /mnt/create.sql.gz | mysql -pwestos zabbix
- watch:
- mysql_database: db-configure
2、 repos
zabbix:
pkgrepo.managed:
- baseurl: http://172.25.32.250/4.0
- gpgcheck: 0
3、top.sls
base:
'server2':
- mariadb.install
- zabbix-server.install
- zabbix-web.install
'server3':
- zabbix-agent.install
4、zabbix-agent
vim install.sls
include:
- repos.zabbix
agent-install:
pkg.installed:
- name: zabbix-agent
file.managed:
- name: /etc/zabbix/zabbix_agentd.conf
- source: salt://zabbix-agent/files/zabbix_agentd.conf
- template: jinja
- context:
zabbixserver: {{ pillar['ZABBIX-SERVER'] }}
hostname: {{ grains['fqdn'] }}
service.running:
- name: zabbix-agent
- watch:
- file: agent-install
vim zabbix_agentd.conf
98 Server={{ zabbixserver }}
139 ServerActive={{ zabbixserver }}
150 Hostname={{ hostname }}
5、zabbix-server
cd files/
124 DBPassword={{ dbpasswd }}
6、
include:
- repos.zabbix
web-install:
pkg.installed:
- pkgs:
- zabbix-web-mysql
- zabbix-web
- httpd
- php
- php-mysql
file.managed:
- name: /etc/httpd/conf.d/zabbix.conf
- source: salt://zabbix-web/files/zabbix.conf
service.running:
- name: httpd
- watch:
- file: web-install
20 php_value date.timezone Asia/Shanghai
7、 pillar
vim zabbix.sls
{% if grains[‘fqdn’] == ‘server2’ %}
DBPASSWD: westos
{% else %}
ZABBIX-SERVER: 172.25.32.2
{% endif %}
~
vim top.sls
base:
*’:
- zabbix
~