链接: https://pan.baidu.com/s/1jRjapzrU7jm7wW5S5o3OaA 提取码: 9ruv

1.实验目的和内容
准备三台虚拟机 server1 server2 server3
server1作为salt-master
server2、3作为salt-minion
使用saltstack一键部署zabbix监控平台
server2作为zabbix-server
server3作为zabbix-agent
2.总体框架

3.顶级文件top.sls
对于server2运行mariadb和zabbix-server模块
对于server3运行zabbix-agent模块
base:
'server2':
- mariadb
- zabbix-server
'server3':
- zabbix-agent

4.部署zabbix-server
mariadb/init.sls
db-install:
pkg.installed:
- pkgs:
- mariadb-server
- mariadb
- MySQL-python
service.running:
- name: mariadb
cmd.run:
- name: mysql -e "DELETE FROM mysql.user WHERE User='';" && mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" && mysql -e "DROP DATABASE IF EXISTS test;" && mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'" && mysql -e "FLUSH PRIVILEGES;"
- onlyif: mysql -e "show databases;"
mysql_user.present:
- name: root
- password: westos
db-configure:
file.managed:
- name: /mnt/create.sql.gz
- source: salt://mariadb/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
zabbix-server/init.sls
zabbix-server:
pkg.installed:
- pkgs:
- zabbix-server-mysql
- zabbix-agent
- httpd
- zabbix-web-mysql
file.managed:
- name: /etc/zabbix/zabbix_server.conf
- source: salt://zabbix-server/zabbix_server.conf
service.running:
- name: zabbix-agent
- enable: true
timezone:
file.managed:
- name: /etc/httpd/conf.d/zabbix.conf
- source: salt://zabbix-server/zabbix.conf
cmd.run:
- name: systemctl restart httpd
zabbix-server-server:
service.running:
- name: zabbix-server
- enable: true
zabbix-server-httpd:
service.running:
- name: httpd
- enable: true
5.部署zabbix-agent
zabbix-agent/init.sls
zabbix-agent:
pkg.installed:
- pkgs:
- zabbix-agent
file.managed:
- name: /etc/zabbix/zabbix_agentd.conf
- source: salt://zabbix-agent/zabbix_agentd.conf
- template: jinja
- context:
ZABBIX_SERVER: 172.25.21.2
ZABBIX_SERVER_ACTIVE: 172.25.21.2
AGENT_HOSTNAME: {{ grains['fqdn'] }}
service.running:
- name: zabbix-agent
- watch:
- file: zabbix-agent
6.结果
运行命令
查看172.25.21.2/zabbix
版权声明:本文为Puuwuuchao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。