教你saltstack部署zabbix服务的方法

2023-12-02 0 706
目录
  • saltstack部署zabbix服务
  • 安装httpd、mysql、php
    • 安装httpd
    • 安装mysql
    • 安装php
  • 部署zabbix所需的lamp架构环境
    • 安装zabbix

saltstack部署zabbix服务

环境

主机
ip
服务
master
192.168.200.132
salt-matser
node1
192.168.200.133
salt-minion

[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\’);\”

教你saltstack部署zabbix服务的方法

安装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服务的文章就介绍到这了,更多相关saltstack部署zabbix服务内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 zabbix 教你saltstack部署zabbix服务的方法 https://www.u-9.cn/server/zabbix/33691.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务