教你saltstack部署zabbix服务的方法
作者:slyybw
这篇文章主要介绍了saltstack部署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');"
安装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服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!