Saltstack自动化部署zabbix

环境:
172.25.40.1 server1(westos.org) saltstack-master saltstack-minion zabbix-server
172.25.40.2 server2 saltstack-minion zabbix-agent

一、salt安装

1、配置yum源

在这里插入图片描述
2、安装salt-master并修改配置文件启动:

 yum install salt-master -y

systemctl start salt-master

systemctl enable salt-master

3、安装salt-minion并修改配置文件:

yum install salt-minion -y

修改配置文件:

vim /etc/salt/minion
master: 172.25.40.1(指向master端)

systemctl start salt-minion
    
systemctl enable salt-minion

4、验证服务端端是否已经接收客户端key:

salt-key -L  
如果没有:
salt-key -A

在查看:
在这里插入图片描述

5、检测是否能够通讯:

salt ‘server2’ test.ping

表示成功在这里插入图片描述

vim /etc/hosts
在这里插入图片描述
二、配置批量管理(在master(server1)上操作):

1、修改salt-master配置文件:

vim /etc/salt/master

file_roots:
  base:
  - /srv/salt/     (定义sls路径)

pillar_roots:
  base:
  - /srv/salt/pillar  (定义pillar路径:主要存放自定义变量)

2、创建存放目录:

mkdir /srv/salt/    

mkdir /srv/pillar

3、定义入口文件:查看结构:

cd /srv/

在这里插入图片描述
server1(westos.org)安装zabbix-server
在这里插入图片描述

[root@server1 srv]# cat salt/zabbix_server/install.sls 
install-zabbix-server:
  pkg.installed:
    - pkgs: 
      - zabbix-server-mysql 
      - zabbix-web-mysql
      - mariadb-server
  file.managed:
    - name: /etc/zabbix/zabbix_server.conf
    - source: salt://zabbix_server/files/zabbix_server.conf
    - template: jinja
    - context:
      DBName: {{ pillar['DBName'] }}
      DBUser: {{ pillar['DBUser'] }}
      DBPassword: {{ pillar['DBPassword'] }}
    - name: /etc/httpd/conf.d/zabbix.conf
    - source: salt://zabbix_server/files/zabbix.conf
  service.running:
    - name: zabbix-server
    - watch:
      - file: install-zabbix-server
    - name: httpd

server2 安装 zabbix-agent

[root@server1 srv]# cat salt/zabbix_agent/install.sls 
install-zabbix-agent:
  pkg.installed:
    - pkgs: 
      - zabbix-agent
  file.managed:
    - name: /etc/zabbix/zabbix_agentd.conf
    - source: salt://zabbix_agent/files/zabbix_agentd.conf
    - template: jinja
    - context:
      Server: {{ pillar['Server'] }}
      ServerActive: {{ pillar['ServerActive'] }}
      Hostname: {{ pillar['Hostname'] }}
  service.running:
    - name: zabbix-agent
    - watch:
      - file: install-zabbix-agent

设置变量

[root@server1 srv]# ls
pillar  salt
[root@server1 srv]# cd pillar/
[root@server1 pillar]# ls
top.sls  web
[root@server1 pillar]# cat top.sls 
base:
  '*':
    - web.vars

[root@server1 pillar]# cat web/vars.sls 
{% if grains['fqdn'] == 'westos.org' %}
DBName: zabbix
DBUser: zabbix
DBPassword: redhat
webserver: httpd
{% elif grains['fqdn'] == 'server2' %}
Server: 172.25.40.1
ServerActive: 172.25.40.1
Hostname: server2
{% endif %}

在另外一台虚拟机server3安装zabbix-server和zabbix-agent,目的是为server1获取zabbix配置文件

[root@server3 ~]# yum install -y zabbix-server
[root@server3 ~]# yum install -y zabbix-agent
[root@server3 ~]# scp /etc/zabbix/zabbix_server.conf server1:/srv/salt/zabbix_service/files
[root@server3 ~]# scp /etc/zabbix/zabbix_agentd.conf server1:/srv/salt/zabbix_agent/files

修改配置文件:
[root@server1 zabbix_server]# vim files/zabbix_server.conf

DBName={{ DBName }}
DBUser={{ DBUser }}
DBPassword={{ DBPassword }}

在这里插入图片描述

[root@server1 zabbix_server]# cd …/zabbix_agent/
[root@server1 zabbix_agent]# ls
files install.sls
[root@server1 zabbix_agent]# vim files/zabbix_agentd.conf

Server={{ Server }}
Hostname={{ Hostname }}
ServerActive={{ ServerActive }}

推送,执行批量操作
[root@server1 pillar]# salt ‘*’ state.highstate

在这里插入图片描述
配置数据库

[root@server1 ~]# mysql_secure_installation ##初始化数据库,设置密码

1)创建数据库

[root@server1 ~]# mysql -uroot -predhat
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by ‘redhat’;

授予zabbix库上的所有特权发送到标识的zabbix@localhost用户

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#创建数据库zabbix字符集可以包含中文

2)导入数据到zabbix数据库

[root@server1 zabbix-server-mysql-4.0.5]# zcat /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz | mysql -p zabbix
[root@server1 zabbix-server-mysql-4.0.5]# mysql -p   ##查看导入数据
Enter password: 
MariaDB [(none)]> use zabbix;  

MariaDB [zabbix]> show tables;

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值