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"
To do MySQL performance adjustment and service st...
Preface I just bought a new VPS. The data disk of...
Get the number of connections --- Get the maximum...
Preface I recently encountered some problems at w...
Recently, when I was working on CSS interfaces, I...
Table of contents 1. Scope 2. Scope Chain 3. Lexi...
Look at the solution first #------------The probl...
1. Download the virtual machine version 15.5.1 I ...
This article example shares the specific code of ...
Note: The system is Ubuntu 14.04LTS, a 32-bit ope...
Learned ConcurrentHashMap but don’t know how to a...
Table of contents Canal Maxwell Databus Alibaba C...
<br />In one year of blogging, I have person...
Summary: Problem solving records of MYSQL: No mat...
Table of contents 1. Download steps 2. Configure ...