目录
- saltstack部署zabbix服务
- 安装httpd、mysql、php
- 安装httpd
- 安装mysql
- 安装php
- 部署zabbix所需的lamp架构环境
- 安装zabbix
saltstack部署zabbix服务
环境
[root@master salt]# tree prod/
prod/
|– modules
| |– application
| | `– php
| | |– files
| | | |– install.sh
| | | |– oniguruma-devel-6.8.2-2.el8.x86_64.rpm
| | | |– php-7.4.24.tar.gz
| | | |– php-fpm
| | | |– php-fpm.conf
| | | |– php-fpm.service
| | | `– www.conf
| | `– install.sls
| |– database
| | `– mysql
| | |– files
| | | |– install.sh
| | | |– my.cnf
| | | |– mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
| | | |– mysql.server
| | | `– mysqld.service
| | `– install.sls
| `– web
| `– apache
| |– files
| | |– apr-1.7.0.tar.gz
| | |– apr-util-1.6.1.tar.gz
| | |– httpd-2.4.49.tar.gz
| | |– httpd.conf
| | |– httpd.service
| | |– index.php
| | `– install.sh
| `– install.sls
`– zabbix
|– apache.sls
|– files
| |– index.php
| |– install.sh
| |– mysql.conf
| |– php.ini
| |– vhosts.conf
| |– zabbix-5.4.4.tar.gz
| `– zabbix_server.conf
|– main.sls
|– mysql.sls
`– zabbix.sls
安装httpd、mysql、php
安装httpd
[root@master salt]# cat prod/modules/web/apache/install.sls
apache-dep-package:
pkg.installed:
– pkgs:
– openssl-devel
– pcre-devel
– expat-devel
– libtool
– gcc
– gcc-c++
– make
apache:
user.present:
– shell: /sbin/nologin
– createhome: false
– system: true
apache-download:
file.managed:
– names:
– /usr/src/apr-1.7.0.tar.gz:
– source: salt://modules/web/apache/files/apr-1.7.0.tar.gz
– /usr/src/apr-util-1.6.1.tar.gz:
– source: salt://modules/web/apache/files/apr-util-1.6.1.tar.gz
– /usr/src/httpd-2.4.49.tar.gz:
– source: salt://modules/web/apache/files/httpd-2.4.49.tar.gz
/usr/lib/systemd/system/httpd.service:
file.managed:
– source: salt://modules/web/apache/files/httpd.service
– user: root
– group: root
– mode: \’0644\’
salt://modules/web/apache/files/install.sh:
cmd.script
/usr/local/httpd/conf/httpd.conf:
file.managed:
– source: salt://modules/web/apache/files/httpd.conf
– user: root
– group: root
– mode: \’0644\’
[root@master salt]# cat prod/modules/web/apache/files/install.sh
#!/bin/bash
cd /usr/src
rm -rf apr-1.7.0 apr-util-1.6.1 httpd-2.4.49
tar xf apr-1.7.0.tar.gz
tar xf apr-util-1.6.1.tar.gz
tar xf httpd-2.4.49.tar.gz
cd /usr/src/apr-1.7.0
sed -i \’/$RM \”$cfgfile\”/d\’ configure
./configure –prefix=/usr/local/apr && \\
make && make install && \\
cd ../apr-util-1.6.1
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr && \\
make && make install && \\
cd ../httpd-2.4.49
./configure –prefix=/usr/local/httpd \\
–enable-so \\
–enable-ssl \\
–enable-cgi \\
–enable-rewrite \\
–with-zlib \\
–with-pcre \\
–with-apr=/usr/local/apr \\
–with-apr-util=/usr/local/apr-util/ \\
–enable-modules=most \\
–enable-mpms-shared=all \\
–with-mpm=prefork && \\
make && make install && \\
systemctl daemon-reload
安装mysql
[root@master salt]# cat prod/modules/database/mysql/install.sls
ncurses-compat-libs:
pkg.installed
create-mysql-user:
user.present:
– name: mysql
– system: true
– createhome: false
– shell: /sbin/nologin
create-datadir:
file.directory:
– name: /opt/data
– user: mysql
– group: mysql
– mode: \’0755\’
– makedirs: true
/usr/src/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz:
file.managed:
– source: salt://modules/database/mysql/files/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
– user: root
– group: root
– mode: \’0644\’
salt://modules/database/mysql/files/install.sh:
cmd.script
trasfer-files:
file.managed:
– names:
– /usr/local/mysql/support-files/mysql.server:
– source: salt://modules/database/mysql/files/mysql.server
– /usr/lib/systemd/system/mysqld.service:
– source: salt://modules/database/mysql/files/mysqld.service
[root@master salt]# cat prod/modules/database/mysql/files/install.sh
#!/bin/bash
cd /usr/src
tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /usr/local
ln -s /usr/local/mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql*
/usr/local/mysql/bin/mysqld –initialize-insecure –user=mysql –datadir=/opt/data/
echo \’export PATH=/usr/local/mysql/bin:$PATH\’ > /etc/profile.d/mysql.sh
安装php
[root@master salt]# cat prod/modules/application/php/install.sls
/usr/src/oniguruma-devel-6.8.2-2.el8.x86_64.rpm:
file.managed:
– source: salt://modules/application/php/files/oniguruma-devel-6.8.2-2.el8.x86_64.rpm
– user: root
– group: root
– mode: \’0644\’
cmd.run:
– name: yum -y install /usr/src/oniguruma-devel-6.8.2-2.el8.x86_64.rpm
dep-package-install:
pkg.installed:
– pkgs:
– libxml2
– libxml2-devel
– openssl
– openssl-devel
– bzip2
– bzip2-devel
– libcurl
– libcurl-devel
– libicu-devel
– libjpeg-turbo
– libjpeg-turbo-devel
– libpng
– libpng-devel
– openldap-devel
– pcre-devel
– freetype
– freetype-devel
– gmp
– gmp-devel
– libmcrypt
– libmcrypt-devel
– readline
– readline-devel
– libxslt
– libxslt-devel
– mhash
– mhash-devel
– php-mysqlnd
– libsqlite3x-devel
– libzip-devel
/usr/src/php-7.4.24.tar.gz:
file.managed:
– source: salt://modules/application/php/files/php-7.4.24.tar.gz
– user: root
– group: root
– mode: \’0644\’
#salt://modules/application/php/files/install.sh:
# cmd.script
copyphp:
file.managed:
– names:
– /etc/init.d/php-fpm:
– source: salt://modules/application/php/files/php-fpm
– user: root
– group: root
– mode: \’0755\’
– /usr/local/php7/etc/php-fpm.conf:
– source: salt://modules/application/php/files/php-fpm.conf
– /usr/local/php7/etc/php-fpm.d/www.conf:
– source: salt://modules/application/php/files/www.conf
– /usr/lib/systemd/system/php-fpm.service:
– source: salt://modules/application/php/files/php-fpm.service
php-fpm.service:
service.running:
– enable: true
[root@master salt]# cat prod/modules/application/php/files/install.sh
#!/bin/bash
cd /usr/src
rm -rf php-7.4.24
tar xf php-7.4.24.tar.gz
cd php-7.4.24
./configure –prefix=/usr/local/php7 \\
–with-config-file-path=/etc \\
–enable-fpm \\
–disable-debug \\
–disable-rpath \\
–enable-shared \\
–enable-soap \\
–with-openssl \\
–enable-bcmath \\
–with-iconv \\
–with-bz2 \\
–enable-calendar \\
–with-curl \\
–enable-exif \\
–enable-ftp \\
–enable-gd \\
–with-jpeg \\
–with-zlib-dir \\
–with-freetype \\
–with-gettext \\
–enable-mbstring \\
–enable-pdo \\
–with-mysqli=mysqlnd \\
–with-pdo-mysql=mysqlnd \\
–with-readline \\
–enable-shmop \\
–enable-simplexml \\
–enable-sockets \\
–with-zip \\
–enable-mysqlnd-compression-support \\
–with-pear \\
–enable-pcntl \\
–enable-posix && \\
make && make install
部署zabbix所需的lamp架构环境
[root@master salt]# cat prod/zabbix/apache.sls
\”Development Tools\”:
pkg.group_installed
include:
– modules.web.apache.install
/usr/include/httpd:
file.symlink:
– target: /usr/local/apache/include
/usr/local/httpd/htdocs/zabbix:
file.directory:
– user: root
– group: root
– mode: \’0775\’
– makedirs: true
/usr/local/httpd/htdocs/zabbix/index.php:
file.managed:
– source: salt://zabbix/files/index.php
– user: root
– group: root
– mode: \’0644\’
/usr/local/httpd/conf/extra/vhosts.conf:
file.managed:
– source: salt://zabbix/files/vhosts.conf
– user: root
– group: root
– mode: \’0644\’
zabbix-apache-service:
service.running:
– name: httpd
– enable: true
[root@master salt]# cat prod/zabbix/mysql.sls
lamp-dep-package:
pkg.installed:
– pkgs:
– ncurses-devel
– openssl-devel
– openssl
– cmake
– mariadb-devel
include:
– modules.database.mysql.install
provides-mysql-file:
file.managed:
– user: root
– group: root
– mode: \’0644\’
– names:
– /etc/my.cnf:
– source: salt://zabbix/files/my.cnf
– /etc/ld.so.conf.d/mysql.conf:
– source: salt://zabbix/files/mysql.conf
/usr/local/include/mysql:
file.symlink:
– target: /usr/local/mysql/include
mysqld.service:
service.running:
– enable: true
mysqld-set-password:
cmd.run:
– name: /usr/local/mysql/bin/mysql -e \”set password = password(\’123456\’);\”
安装zabbix
[root@master salt]# cat prod/zabbix/zabbix.sls
zabbix-dep-packages:
pkg.installed:
– pkgs:
– net-snmp-devel
– libevent-devel
zabbix:
user.present:
– shell: /sbin/nologin
– system: true
– createhome: false
/usr/src/zabbix-5.4.4.tar.gz:
file.managed:
– source: salt://zabbix/files/zabbix-5.4.4.tar.gz
salt://zabbix/files/install.sh:
cmd.script
/usr/local/etc/zabbix_server.conf:
file.managed:
– source: salt://zabbix/files/zabbix_server.conf
/var/lib/mysql:
file.directory:
– user: root
– group: root
– mode: \’0755\’
/var/lib/mysql/mysql.sock:
file.symlink:
– target: /tmp/mysql.sock
zabbix_server:
cmd.run:
– names:
– cp -r /usr/src/zabbix-5.4.4/ui/* /usr/local/httpd/htdocs/zabbix/
– zabbix_server
– zabbix_agentd
/etc/php.ini:
file.managed:
– source: salt://zabbix/files/php.ini
– user: root
– group: root
– mode: \’0644\’
reload-service:
service.running:
– reload: true
– names:
– httpd
– php-fpm
[root@master salt]# cat prod/zabbix/files/install.sh
#!/bin/bash
cd /usr/src
tar xf zabbix-5.4.4.tar.gz -C /usr/src
/usr/local/mysql/bin/mysql -uroot -p123456 -e \”create database zabbix character set utf8 collate utf8_bin;\”
/usr/local/mysql/bin/mysql -uroot -p123456 -e \”grant all privileges on zabbix.* to zabbix@localhost identified by \’123\’;\”
/usr/local/mysql/bin/mysql -uroot -p123456 -e \”flush privileges;\”
cd /usr/src/zabbix-5.4.4/database/mysql/
/usr/local/mysql/bin/mysql -uroot -p123456 zabbix < schema.sql
/usr/local/mysql/bin/mysql -uroot -p123456 zabbix < images.sql
/usr/local/mysql/bin/mysql -uroot -p123456 zabbix < data.sql
cd /usr/src/zabbix-5.4.4
./configure –enable-server \\
–enable-agent \\
–with-mysql \\
–with-net-snmp \\
–with-libcurl \\
–with-libxml2 && \\
make install
到此这篇关于saltstack部署zabbix服务的文章就介绍到这了,更多相关saltstack部署zabbix服务内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!