当前位置:网站首页>Deploy ZABBIX automatically with saltstack
Deploy ZABBIX automatically with saltstack
2022-07-28 19:54:00 【Amu 690】
List of articles
Environmental statement :
| host | IP | service |
|---|---|---|
| master | 192.168.91.135 | salt-matser |
| node1 | 192.168.91.137 | salt-minion |
Display file paths in tree view format
[[email protected] 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.xz | | | |-- 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
| |-- config.sls
| |-- files
| | |-- apr-1.7.0.tar.gz
| | |-- apr-util-1.6.1.tar.gz
| | |-- httpd-2.4.51.tar.gz
| | |-- httpd.conf
| | |-- httpd.service
| | |-- index.php
| | `-- install.sh | `-- install.sls
`-- zabbix |-- apache.sls |-- files | |-- index.php | |-- install.sh | |-- my.cnf | |-- mysql.conf | |-- php.ini | |-- vhosts.conf | |-- zabbix-5.4.4.tar.gz | `-- zabbix_server.conf
|-- install.sls
|-- lamp.sls
`-- mysql.sls
12 directories, 35 files
install httpd、mysql、php
install httpd
[[email protected] salt]# cat prod/modules/web/apache/install.sls
install-depend-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.51.tar.gz:
- source: salt://modules/web/apache/files/httpd-2.4.51.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/apache/conf/httpd.conf:
file.managed:
- source: salt://modules/web/apache/files/httpd.conf
- user: root
- group: root
- mode: '0644'
[[email protected] 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.51
tar xf apr-1.7.0.tar.gz -C /usr/src
tar xf apr-util-1.6.1.tar.gz -C /usr/src
tar xf httpd-2.4.51.tar.gz -C /usr/src
cd /usr/src/apr-1.7.0
sed -i '/$RM "$cfgfile"/d' configure
./configure --prefix=/usr/local/apr && \
make && make install \
cd /usr/src/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && \
make && make install \
cd /usr/src/httpd-2.4.51
./configure --prefix=/usr/local/apache \
--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 \
install mysql
[[email protected] 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'
/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
install php
[[email protected] 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
depend-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.xz:
file.managed:
- source: salt://modules/application/php/files/php-7.4.24.tar.xz
- user: root
- group: root
- mode: '0644'
salt://modules/application/php/files/install.sh:
cmd.script
copy_config:
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
- user: root
- group: root
- mode: '0644'
- /usr/local/php7/etc/php-fpm.d/www.conf:
- source: salt://modules/application/php/files/www.conf
- user: root
- group: root
- mode: '0644'
- /usr/lib/systemd/system/php-fpm.service:
- source: salt://modules/application/php/files/php-fpm.service
- user: root
- group: root
- mode: '0644'
php-fpm.service:
service.running:
- enable: true
[[email protected] 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.xz
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 zabbix Needed lamp Architecture environment
[[email protected] 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/apache/htdocs/zabbix:
file.directory:
- user: root
- group: root
- mode: '0755'
/usr/local/apache/htdocs:
file.directory:
- user: apache
- group: apache
/usr/local/apache/htdocs/zabbix/index.php:
file.managed:
- source: salt://zabbix/files/index.php
/usr/local/apache/conf/extra/vhosts.conf:
file.managed:
- source: salt://zabbix/files/vhosts.conf
- user: root
- group: root
- mode: '644'
zabbix-apache.service:
service.running:
- name: httpd
- enable: true
[[email protected] salt]# cat prod/zabbix/mysql.sls
include:
- modules.database.mysql.install
lamp-mysql-packages:
pkg.installed:
- pkgs:
- ncurses-devel
- openssl-devel
- openssl
- cmake
- mariadb-devel
copy-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.running:
- enable: true
set-mysql-password:
cmd.run:
- name: /usr/local/mysql/bin/mysql -e "set password=password('123456');"
Page access 
[[email protected] salt]# cat prod/zabbix/lamp.sls
include:
- zabbix.apache
- zabbix.mysql
- modules.application.php.install
install zabbix
[[email protected] salt]# cat prod/zabbix/install.sls
include:
- zabbix.lamp
zabbix-depend-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
- user: root
- group: root
- mode: '0644'
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: '755'
/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/apache/htdocs/zabbix/
- zabbix_server
- zabbix_agentd
/etc/php.ini:
file.managed:
- source: salt://zabbix/files/php.ini
- user: root
- group: root
- mode: '644'
reload-service:
service.running:
- reload: true
- names:
- httpd
- php-fpm
[[email protected] salt]# cat prod/zabbix/files/install.sh
#!/bin/bash
cd /usr/src
rm -rf zabbix-5.4.4
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 [email protected] identified by 'amu';"
/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 \
Use salt Command to install zabbix
[[email protected] salt]# salt '192.168.91.137' state.sls zabbix.install saltenv=prod
View port number
[[email protected] ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
Page access


边栏推荐
- 远光软件获得阿里云产品生态集成认证,携手阿里云共建新合作
- [NPP installation plug-in]
- Germany and Portugal have announced that they will not disable Huawei 5g equipment, but Germany will set strict restrictions!
- 克服“看牙恐惧”,我们用技术改变行业
- 云计算笔记part.2——应用管理
- Redis master-slave architecture (how to calculate sizeof function)
- Implementation of markdown editor in editor.md
- 云计算笔记part.1——系统管理
- This customized keyboard turns me on~
- How to write the SQL statement of time to date?
猜你喜欢

Oracle insert数据时字符串中有‘单引号问题

远光软件获得阿里云产品生态集成认证,携手阿里云共建新合作

云原生编程挑战赛火热开赛,51 万奖金等你来挑战!

High beam software has obtained Alibaba cloud product ecological integration certification, and is working with Alibaba cloud to build new cooperation

There is a 'single quotation mark' problem in the string when Oracle inserts data

English Translation Spanish - batch English Translation Spanish tools free of charge

彻底理解位运算——左移、右移

editor.md中markdown编辑器的实现

Leetcode Day1 score ranking

Sprint for golden nine and silver ten, stay up at night for half a month, collect 1600 real interview questions from Android post of major manufacturers
随机推荐
English translation Portuguese - batch English conversion Portuguese - free translation and conversion of various languages
基于C语言的信息管理系统和小游戏
The peak rate exceeds 2gbps! Qualcomm first passed 5g millimeter wave MIMO OTA test in China
数字图像理论知识(一)(个人浅析)
【微信小程序开发】页面导航与传参
Cloud computing notes part.1 - system management
数字滤波器设计——Matlab
业务可视化-让你的流程图“Run“起来(4.实际业务场景测试)
德国、葡萄牙均宣布不会禁用华为5G设备,但德国会设定严格限制条件!
Amazon launched Amazon one palm payment system, and the contactless palm vein recognition market is expected to explode
How navicate modifies the database name
美国将提供250亿美元补贴,鼓励英特尔等芯片制造商迁回产线
Article translation software - batch free translation software supports major translation interfaces
App自动化测试是怎么实现H5测试的
App自动化测试是怎么实现H5测试的
[experience] some suggestions and experience on repairing electronic equipment
Leetcode day3 employees who exceed the manager's income
MySQL命令语句(个人总结)
Business visualization - let your flowchart "run" (4. Actual business scenario test)
MySQL performance testing tool sysbench learning