Saltstack deploys zabbix serviceenvironment
[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 Install httpd, mysql, phpInstall 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 Install 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 Install 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 Deploy the lamp architecture environment required by Zabbix[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');" Install 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 This is the end of this article about deploying zabbix service with saltstack. For more information about deploying zabbix service with saltstack, please search previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Detailed explanation of Javascript event capture and bubbling methods
>>: Summary of the style modification of the input box of type="file"
1. I purchased a VPS and CentOS system, and found...
1. Stop the MySQL service in the command line: ne...
Table of contents 1. Block scope 1.1. let replace...
First, let's look at an example of memory rel...
I haven't worked with servers for a while. No...
This article shares the specific code of Vue to i...
Table of contents 1. beforeunload event 2. Unload...
Implementation of regular backup of Mysql databas...
1. Each function is an object and occupies memory...
PHP7 has been out for quite some time, and it is ...
Recently, a system was deployed, using nginx as a...
Table of contents 1. Basic usage and logic 2. Fea...
This article shares the installation tutorial of ...
Table of contents Preface 1. What is phantom read...
There are currently three ways to display the cen...