首先准备zabbix-server的安装包及依赖:
[root@server1 zabbix]# ls 4.4/
apache-tomcat-8.5.24.tar.gz php-pdo-5.4.16-46.el7.x86_64.rpm
fping-3.10-1.el7.x86_64.rpm php-xml-5.4.16-46.el7.x86_64.rpm
jdk-8u121-linux-x64.rpm simkai.ttf
oneitsm_zabbix_release-1.2.0.tar.gz zabbix-agent-4.4.1-1.el7.x86_64.rpm
percona-zabbix-templates-1.1.8-1.noarch.rpm zabbix-get-4.4.1-1.el7.x86_64.rpm
php-5.4.16-46.el7.x86_64.rpm zabbix-java-gateway-4.4.1-1.el7.x86_64.rpm
php-bcmath-5.4.16-46.el7.x86_64.rpm zabbix-proxy-mysql-4.4.1-1.el7.x86_64.rpm
php-cli-5.4.16-46.el7.x86_64.rpm zabbix-sender-4.4.1-1.el7.x86_64.rpm
php-common-5.4.16-46.el7.x86_64.rpm zabbix-server-mysql-4.4.1-1.el7.x86_64.rpm
php-gd-5.4.16-46.el7.x86_64.rpm zabbix-web-4.4.1-1.el7.noarch.rpm
php-ldap-5.4.16-46.el7.x86_64.rpm zabbix-web-mysql-4.4.1-1.el7.noarch.rpm
php-mbstring-5.4.16-46.el7.x86_64.rpm zbx_percona_mysql_template_20200312_191902.xml
php-mysql-5.4.16-46.el7.x86_64.rpm zbx_percona_mysql_template.xml
[root@server1 zabbix]# pwd
/srv/salt/zabbix
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
准备数据库sql语句(创建zabbix数据库,创建zabbix用户及授权):
[root@server1 zabbix]# cat zabbix.sql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'localhost' identified by 'redhat';
grant all privileges on zabbix.* to zabbix@'%' identified by 'redhat';
- 1
- 2
- 3
- 4
准备zabbix-web配置文件:
[root@server1 zabbix]# cat zabbix.conf
#
# Zabbix monitoring system php web frontend
#
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
Require all denied
</Directory>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
准备zabbix-server配置文件(可以复制更改):
[root@server1 zabbix]# cat zabbix_server.conf
只需更改124行:
124 DBPassword=redhat #zabbix用户的密码
- 1
- 2
- 3
接下来最重要的sls文件:
[root@server1 zabbix]# cat init.sls
zabbix:
pkg.installed:
- pkgs:
- mariadb-server
file.managed:
- name: ~/zabbix.sql
- source: salt://zabbix/zabbix.sql
cmd.run:
- name: cd /root/4.4/ && yum install zabbix-server-mysql-4.4.1-1.el7.x86_64.rpm zabbix-web-mysql-4.4.1-1.el7.noarch.rpm zabbix-web-4.4.1-1.el7.noarch.rpm php-* fping-3.10-1.el7.x86_64.rpm -y &> /dev/null && systemctl start mariadb && cd /root/ && mysql < zabbix.sql && zcat /usr/share/doc/zabbix-server-mysql-4.4.1/create.sql.gz | mysql -uzabbix -predhat zabbix
- require:
- file: ~/zabbix.sql
service.running:
- name:
- zabbix-server
- enable: true
- reload: true
- require:
- file: /etc/zabbix/zabbix_server.conf
httpd:
service.running:
- enable: true
- reload: true
- require:
- file: /etc/httpd/conf.d/zabbix.conf
/etc/zabbix/zabbix_server.conf:
file.managed:
- source: salt://zabbix/zabbix_server.conf
- require:
- file: /etc/httpd/conf.d/zabbix.conf
/etc/httpd/conf.d/zabbix.conf:
file.managed:
- source: salt://zabbix/zabbix.conf
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
首先将安装包与依赖性推送过去:
[root@server1 zabbix]# salt server5 cp.get_dir salt://zabbix/4.4/ ~
- 1
最后直接推送即可:
[root@server1 zabbix]# salt server5 state.sls zabbix
- 1
推送成功后在浏览器访问:http://172.25.63.5/zabbix
可以看出部署成功,接下来的操作与参考博客相同,最后结果: