上篇博客已经做了saltstack,只需要推一个zabbix-server和zabbix-agent就好了,然后在server端安装mariadb并且授权,也可以直接推,时区也得修改
实验环境:
Server1:172.25.9.1 saltstack服务器
Server2:172.25.9.2 zabbix-server
Server3:172.25.9.3 zabbix-agent
实验步骤:
步骤一:在sever1上推zabbix-agent
[root@server1 ~]# mkdir /srv/salt/zabbix
Mkdir /srv/salt/zabbix/files
得到zabbix配置文件,可以直接在server1上安装,cp到files目录下,
修改拷贝过来的模版文件:使用变量的方法
hostname做好解析,
[root@server1 files]# vim zabbix_agentd.conf
98 Server={{ ZABBIX_SERVER }}
139 ServerActive={{ ZABBIX_ACTIVE_SERVER }}
150 Hostname={{ AGENT_HOSTNAME }}
编辑.sls文件 使用jinja模板 尽量别使用table键
[root@server1 zabbix]# vim install-zabbix-agent.sls
install-zabbix-agent:
pkg.installed:
- pkgs:
- zabbix-agent
file.managed:
- name: /etc/zabbix/zabbix_agentd.conf
- source: salt://zabbix/files/zabbix_agentd.conf
- template: jinja
- context:
ZABBIX_SERVER: 172.25.11.2
ZABBIX_ACTIVE_SERVER: 172.25.11.2
AGENT_HOSTNAME: server3
service.running:
- name: zabbix-agent
- watch:
- file: install-zabbix-agent
修改top.sls文件
[root@server1 salt]# vim top.sls
base:
'server2':
- zabbix.install-zabbix-server
'server3':
- zabbix.install-zabbix-agent
执行:
[root@server1 zabbix]# salt server3 state.sls zabbix.install-zabbix-agent
在server3主机查看zabbix-agent服务的状态(服务已开启)
[root@server3 ~]# systemctl status zabbix-agent
[root@server3 ~]# vim /etc/zabbix/zabbix_agentd.conf
步骤二:在server1上推zabbix-server:
首先写一个.sls文件给server2安装并开启mariadb-server
[root@server1 zabbix]# mkdir /srv/salt/mariadb
[root@server1 zabbix]# cd /srv/salt/mariadb/
[root@server1 mariadb]# vim install.sls
install-mariadb:
pkg.installed:
- pkgs:
- mariadb-server
service.running:
- name: mariadb-server
编辑top.sls文件,并执行:
[root@server1 apache]# vim /srv/salt/top.sls
[root@server1 mariadb]# salt server2 state.sls mariadb.install
查看mariadb服务状态,可以看到服务已经开启。
[root@server2 ~]# systemctl status mariadb
手动对mariadb进行初始化,创建用户并授权
[root@server2 ~]# mysql_secure_installation
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
在server1下载安装包包,拷贝配置文件到files目录并修改。
[root@server1 files]# yum install zabbix-server-mysql zabbix-web-mysql -y
[root@server1 files]# cp /etc/zabbix/zabbix_server.conf .
[root@server1 files]# cp /etc/httpd/conf.d/zabbix.conf .
[root@server1 files]# vim zabbix_server.conf
124 DBPassword=westos #加入数据库密码
[root@server1 files]# vim zabbix.conf #修改时区
20 php_value date.timezone Asia/Shanghai
编辑安装zabbix-server的.sls文件
[root@server1 zabbix]# vim install-zabbix-server.sls
install-zabbix-server:
pkg.installed:
- pkgs:
- zabbix-server-mysql
- zabbix-web-mysql
file.managed:
- name: /etc/zabbix/zabbix_server.conf
- source: salt://zabbix/files/zabbix_server.conf
service.running:
- name: zabbix-server
编辑安装httpd并修改php时区的install_apache.sls文件
[root@server1 zabbix]# vim install_apache.sls
install-apache:
pkg.installed:
- pkgs:
- httpd
file.managed:
- name: /etc/httpd/conf.d/zabbix.conf
- source: salt://zabbix/files/zabbix.conf
service.running:
- name: httpd
再次修改top.sls文件:
[root@server1 zabbix]# vim /srv/salt/top.sls
base:
'server2':
- zabbix.install-zabbix-server
- mariadb.install
- zabbix.install-apache
'server3':
- zabbix.install-zabbix-agent
执行,安装zabbix-server
[root@server1 zabbix]# salt server2 state.sls zabbix.install-zabbix-server
执行,安装httpd并修改时区。
[root@server1 zabbix]# salt server2 state.sls zabbix.install_apache
安装好之后在手动导入数据库并且查看(因为没装好之前没有这个库的压缩包)
[root@server2 ~]# cd /usr/share/doc/zabbix-server-mysql-4.0.5/
[root@server2 zabbix-server-mysql-4.0.5]# zcat create.sql.gz | mysql -p zabbix
测试:
浏览器中输入http://172.25.9.2/zabbix/setup.php访问。
用户名:Admin 密码:zabbix