Get the App
SLTechnology News&Howtos  ›  Servers  › 

Ansible deploys Zabbix monitoring tools

Shulou Source: shulou.com Published: 2022-06-02 09:13:44 10月27日 Update

[root@localhost roles] # pwd

/ etc/ansible/roles

[root@localhost roles] # ls

Ansible_zabbix.tar.gz zabbix

[root@localhost roles] # ll zabbix/

Total dosage 16

Drwxr-xr-x. 2 root root 4096 May 25 17:15 group_vars

Drwxr-xr-x. 8 root root 4096 May 26 17:25 roles

-rw-r--r--. 1 root root 14 May 27 11:05 zabbix.retry

-rw-r--r--. 1 root root 140 May 27 15:29 zabbix.yaml

. Roles and inclusions

├── ansible_zabbix.tar.gz

└── zabbix

├── group_vars

│?? └── zabbix

├── roles

│?? ├── java

│?? │?? ├── files

│?? ├── java.sh

│?? └── jdk-8u101-linux-x64.tar.gz

│?? │?? ├── handlers

│?? └── main.yml

│?? │?? └── tasks

│?? │?? └── main.yml

│?? ├── mysql

│?? │?? ├── files

│?? ├── cmake-2.8.10.2.tar.gz

│?? └── mysql-5.6.24.tar.gz

│?? │?? ├── handlers

│?? └── main.yml

│?? │?? └── tasks

│?? │?? └── main.yml

│?? ├── nginx

│?? │?? ├── files

│?? ├── nginx

│?? ├── nginx-1.10.2.tar.gz

│?? ├── openssl-1.0.2f.tar.gz

│?? ├── pcre-8.38.tar.gz

│?? └── zlib-1.2.8.tar.gz

│?? │?? ├── handlers

│?? └── main.yml

│?? │?? ├── tasks

│?? └── main.yml

│?? │?? └── templates

│?? │?? └── nginx.conf.j2

│?? ├── php

│?? │?? ├── files

│?? ├── index.php

│?? ├── libiconv-1.13.1.tar.gz

│?? ├── libmcrypt-2.5.8.tar.gz

│?? ├── Makefile

│?? ├── mhash-0.9.9.9.tar.gz

│?? ├── php-5.6.29.tar.gz

│?? ├── php-fpm

│?? ├── php-fpm.conf

│?? ├── php.ini

│?? └── testdb.php

│?? │?? ├── handlers

│?? └── main.yml

│?? │?? └── tasks

│?? │?? └── main.yml

│?? ├── yum

│?? │?? ├── files

│?? └── CentOS-Base.repo

│?? │?? └── tasks

│?? │?? └── main.yml

│?? └── zabbix_server

│?? ├── files

│?? │?? ├── zabbix

│ │ ├── zabbix-3.0.4.tar.gz

│ │ ├── zabbix_agentd

│ │ ├── zabbix_server

│ │ └── zabbix_server.conf

│ ├── handlers

│ │ └── main.yml

│ ├── tasks

│ │ └── main.yml

│ └── templates

│ └── zabbix_agentd.conf.j2

├── zabbix.retry

└── zabbix.yaml

Define variable

[root@localhost roles] # cd zabbix/

[root@localhost zabbix] # cat group_vars/zabbix

Java_path: / etc/ansible/roles/zabbix/roles/java/files/

Nginx_path: / etc/ansible/roles/zabbix/roles/nginx/files/

Mysql_path: / etc/ansible/roles/zabbix/roles/mysql/files/

Php_path: / etc/ansible/roles/zabbix/roles/php/files/

Zabbix_server_path: / etc/ansible/roles/zabbix/roles/zabbix_server/files/

Zabbix_agent_path: / etc/ansible/roles/zabbix/roles/zabbix_agent/files/

Dest_path: / usr/local/src/

Master yaml file

[root@localhost zabbix] # cat zabbix.yaml

-

-hosts: zabbix

Roles:

-role: yum

-role: java

-role: nginx

-role: mysql

-role: php

-role: zabbix_server

The contents of the files in role

[root@localhost roles] # pwd

/ etc/ansible/roles/zabbix/roles

[root@localhost roles] # ll

Total dosage 24

Drwxr-xr-x. 5 root root 4096 May 23 18:14 java

Drwxr-xr-x. 5 root root 4096 May 23 11:46 mysql

Drwxr-xr-x. 6 root root 4096 May 25 21:39 nginx

Drwxr-xr-x. 5 root root 4096 May 24 10:25 php

Drwxr-xr-x. 4 root root 4096 May 19 05:32 yum

Drwxr-xr-x. 6 root root 4096 May 27 16:06 zabbix_server

Yum deployment

[root@localhost yum] # pwd

/ etc/ansible/roles/zabbix/roles/yum

[root@localhost yum] # tree

.

├── files

│ └── CentOS-Base.repo

└── tasks

└── main.yml

2 directories, 2 files

[root@localhost yum] # cat tasks/main.yml

-

# tasks file for yum

-name: copy the repo

Copy: src=CentOS-Base.repo dest=/etc/yum.repos.d/CentOS-Base.repo

-name: clean cache

Shell: yum clean all;yum makecache

-name: install software

Yum: name=gcc,gcc-c++,make,zlib-devel,ncurses-devel,libxml2,libxml2-devel,libjpeg-devel,libpng-devel,freetype,openldap-devel,openldap,openssl,openssl-devel,pcre,pcre-devel,curl-devel,freetype-devel,net-snmp-devel,mysql-devel state=latest

Java deployment

[root@localhost java] # tree

.

├── files

│ ├── java.sh

│ └── jdk-8u101-linux-x64.tar.gz

├── handlers

│ └── main.yml

└── tasks

└── main.yml

3 directories, 4 files

Root@localhost java] # cat tasks/main.yml

-

# tasks file for java

-name: jie ya jdk-8u101-linux-x64.tar.gz

Unarchive: src= `java_path `jdk-8u101-linux-x64.tar.gz dest= `dest_path `copy=yes

-name: move jdk

Shell: mv / usr/local/src/jdk1.8.0_101 / usr/local/jdk

-name: add bianliang

Copy: src=java.sh dest=/etc/profile.d/

# lineinfile: dest=/etc/profile line= `item `

# with_items:

#-export JRE_HOME=/usr/local/jdk

#-export JAVA_BIN=/usr/local/jdk/bin

#-export PATH=$JRE_HOME/bin:$PATH

#-export CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar

#-export JRE_HOME JAVA_BIN PATH CLASSPATH

-name: source profile

Shell: source / etc/profile.d/java.sh

# notify:

#-add bianliang

#-source profile

[root@localhost java] # cat handlers/main.yml

-

# handlers file for java

-name: add bianliang

Lineinfile: dest=/etc/profile line= `item `

With_items:

-export JRE_HOME=/usr/local/jdk

-export JAVA_BIN=/usr/local/jdk/bin

-export PATH=$JRE_HOME/bin:$PATH

-export CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar

-export JRE_HOME JAVA_BIN PATH CLASSPATH

-name: source profile

Shell: source / etc/profile

Nginx deployment

[root@localhost nginx] # tree

.

├── files

│ ├── nginx

│ ├── nginx-1.10.2.tar.gz

│ ├── openssl-1.0.2f.tar.gz

│ ├── pcre-8.38.tar.gz

│ └── zlib-1.2.8.tar.gz

├── handlers

│ └── main.yml

├── tasks

│ └── main.yml

└── templates

└── nginx.conf.j2

4 directories, 8 files

[root@localhost nginx] #

[root@localhost tasks] # pwd

/ etc/ansible/roles/zabbix/roles/nginx/tasks

[root@localhost tasks] # cat main.yml

-

-name: useradd www

User: name=www shell=/sbin/nologin createhome=no

-name: openssl-1.0.2f.tar.gz package

Unarchive: src= `nginx_path `openssl-1.0.2f.tar.gz dest= `dest_path `copy=yes

-name: pcre-8.38.tar.gz package

Unarchive: src= `nginx_path `pcre-8.38.tar.gz dest= `dest_path `copy=yes

-name: zlib-1.2.8.tar.gz

Unarchive: src= `nginx_path `zlib-1.2.8.tar.gz dest= `dest_path `copy=yes

-name: nginx-1.10.2.tar.gz package

Unarchive: src= `nginx_path `nginx-1.10.2.tar.gz dest= `dest_path `copy=yes

-name: nginx config

Shell: cd `dest_path `nginx-1.10.2 / configure-- prefix=/usr/local/nginx-- sbin-path=/usr/local/nginx/sbin/nginx-- conf-path=/usr/local/nginx/nginx.conf-- error-log-path=/var/log/nginx/error.log-- http-log-path=/var/log/nginx/access.log-- pid-path=/var/run/nginx.pid-- lock-path=/var/run/nginx.lock-- http-client-body-temp-path=/var/cache/nginx/ Client_temp-http-proxy-temp-path=/var/cache/nginx/proxy_temp-http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp-http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp-http-scgi-temp-path=/var/cache/nginx/scgi_temp-user=nginx-group=nginx-with-http_ssl_module-with-http_realip_module with-http_addition_module-with-http_sub_ Module-with-http_dav_module-with-http_flv_module-with-http_mp4_module-with-http_gunzip_module-with-http_gzip_static_module-with-http_random_index_module-with-http_secure_link_module-with-http_stub_status_module-with-http_auth_request_module-with-threads with-stream with-stream_ssl_module with-stream_ssl_module with-http_slice_module -- with-mail-- with-mail_ssl_module-- with-file-aio-- with-http_v2_module-- with-ipv6-- with-pcre= `dest_path `pcre-8.38-- with-zlib= `dest_path `zlib-1.2.8-- with-openssl= `dest_path `openssl-1.0.2f

-name: nginx make and install

Shell: cd `dest_path `nginx-1.10.2;make;make install

-name: create cache nginx

File: path=/var/cache/nginx state=directory owner=root group=root mode=0644

-name: copy config file

Template: src=nginx.conf.j2 dest=/usr/local/nginx/nginx.conf owner=root group=root mode=0644

-name: add nginx grant

Shell: cd / usr/local/nginx/;chown-R www:www *

-name: copy start file

Copy: src=nginx dest=/etc/init.d/ owner=root group=root mode=0755 backup=yes

Notify:

-start nginx service

Tags: nginx

[root@localhost handlers] # pwd

/ etc/ansible/roles/zabbix/roles/nginx/handlers

[root@localhost handlers] # cat main.yml

-

-name: start nginx service

Service: name=nginx state=restarted enabled=yes

[root@localhost templates] # pwd

/ etc/ansible/roles/zabbix/roles/nginx/templates

[root@localhost templates] # cat nginx.conf.j2

User www

Worker_processes `ansible_processor_cores `

Events {

Worker_connections 1024

}

Http {

Include mime.types

Default_type application/octet-stream

Sendfile on

Keepalive_timeout 65

Server {

Listen 80

Server_name localhost

Location / {

Root html

Index index.php index.html index.htm

}

Error_page 500 502 503 504 / 50x.html

Location = / 50x.html {

Root html

}

Location ~\ .php$ {

Root html

Fastcgi_pass 127.0.0.1:9000

Fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name

Include fastcgi_params

}

}

}

MySQL deployment

[root@localhost mysql] # pwd

/ etc/ansible/roles/zabbix/roles/mysql

[root@localhost mysql] # tree

.

├── files

│ ├── cmake-2.8.10.2.tar.gz

│ └── mysql-5.6.24.tar.gz

├── handlers

│ └── main.yml

└── tasks

└── main.yml

3 directories, 4 files

[root@localhost mysql] # cat tasks/main.yml

-

# tasks file for mysql

-name: mysql-5.6.24.tar.gz package

Unarchive: src= `mysql_path `mysql-5.6.24.tar.gz dest= `dest_path `copy=yes

-name: cmake-2.8.10.2.tar.gz package

Unarchive: src= `mysql_path `cmake-2.8.10.2.tar.gz dest= `dest_path `copy=yes

-name: install camke

Shell: cd `dest_path `cmake-2.8.10.2;./bootstrap-- prefix=/usr/local/cmake;make;make install

-name: add user

Shell: id mysql | | useradd-M-s / sbin/nologin mysql

-name: add quanxian

File: path=/tmp mode=777

-name: bianyi

Shell: cd `dest_path `mysql-5.6.24 / usr/local/cmake/bin/cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DSYSCONFDIR=/etc-DMYSQL_DATADIR=/usr/local/mysql/data-DMYSQL_TCP_PORT=3306-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock-DMYSQL_USER=mysql-DWITH_READLINE=1-DWITH_SSL=system-DWITH_EMBEDDED_SERVER=1-DENABLED_LOCAL_INFILE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DEXTRA_CHARSETS=all-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_DEBUG=0

-name: make and make install

Shell: cd `dest_path `mysql-5.6.24;make;make install

-name: shou quna

Shell: chown-R mysql:mysql / usr/local/mysql

-name: line

Shell: ln-s / usr/local/mysql/bin/ `item `/ usr/sbin/

With_items:

-innochecksum

-msql2mysql

-myisamchk

-myisam_ftdump

-myisamlog

-myisampack

-my_print_defaults

-mysql

-mysqlaccess

-mysqlaccess.conf

-mysqladmin

-mysqlbinlog

-mysqlbug

-mysqlcheck

-mysql_client_test

-mysql_client_test_embedded

-mysql_config

-mysql_config_editor

-mysql_convert_table_format

-mysqld

-mysqld_multi

-mysqld_safe

-mysqldump

-mysqldumpslow

-mysql_embedded

-mysql_find_rows

-mysql_fix_extensions

-mysqlhotcopy

-mysqlimport

-mysql_plugin

-mysql_secure_installation

-mysql_setpermission

-mysqlshow

-mysqlslap

-mysqltest

-mysqltest_embedded

-mysql_tzinfo_to_sql

-mysql_upgrade

-mysql_waitpid

-mysql_zap

-perror

-replace

-resolveip

-resolve_stack_dump

Tags:

-link

-name: copy mysql start script

Shell: cp `dest_path `mysql-5.6.24/support-files/mysql.server / etc/init.d/mysqld

-name: insert ld.so.conf

Lineinfile: dest=/etc/ld.so.conf line=/usr/local/mysql/lib/

-name: ldconfig

Shell: ldconfig

-name: chu shi hua

Shell: / usr/local/mysql/scripts/mysql_install_db-user=mysql-basedir=/usr/local/mysql-datadir=/usr/local/mysql/data

-name: copy my.cnf

Shell: rm-rf / etc/my.cnf;mv / usr/local/mysql/my.cnf / etc/

-name: add max_connections

Lineinfile: dest=/etc/my.cnf line= "max_connections = 1000"

#-name: insert / var/lib/mysql/mysql.sock

# lineinfile: dest=/etc/my.cnf line= "socket = / var/lib/mysql/mysql.sock"

# tags:

#-socket

-name: start mysql service

Service: name=mysqld state=restarted enabled=yes

Tags:

-mysqlstart

-name: set mysql passwd

Shell: / usr/local/mysql/bin/mysqladmin-u root password 'mysql_dbpass'

Tags:

-mysqlpasswd

[root@localhost mysql] # cat handlers/main.yml

-

# handlers file for mysql

-name: start mysql service

Service: name=mysqld state=restarted enabled=yes

-name: set mysql passwd

Shell: / usr/local/mysql/bin/mysqladmin-u root password 'mysql_dbpass'

PHP deployment

[root@localhost php] # pwd

/ etc/ansible/roles/zabbix/roles/php

[root@localhost php] # tree

.

├── files

│ ├── index.php

│ ├── libiconv-1.13.1.tar.gz

│ ├── libmcrypt-2.5.8.tar.gz

│ ├── Makefile

│ ├── mhash-0.9.9.9.tar.gz

│ ├── php-5.6.29.tar.gz

│ ├── php-fpm

│ ├── php-fpm.conf

│ ├── php.ini

│ └── testdb.php

├── handlers

│ └── main.yml

└── tasks

└── main.yml

3 directories, 12 files

[root@localhost php] # cat tasks/main.yml

-

# tasks file for php

-name: mhash-0.9.9.9.tar.gz

Unarchive: src= `php_path `mhash-0.9.9.9.tar.gz dest= `dest_path `copy=yes

-name: libiconv-1.13.1.tar.gz

Unarchive: src= `php_path `libiconv-1.13.1.tar.gz dest= `dest_path `copy=yes

-name: libmcrypt-2.5.8.tar.gz

Unarchive: src= `php_path `libmcrypt-2.5.8.tar.gz dest= `dest_path `copy=yes

-name: php-5.6.29.tar.gz

Unarchive: src= `php_path `php-5.6.29.tar.gz dest= `dest_path `copy=yes

-name: config mhash

Shell: cd `dest_path `mhash-0.9.9.9;./configure;make;make install

-name: config libiconv

Shell: cd `dest_path `libiconv-1.13.1;./configure;make;make install

-name: config libmcrypt

Shell: cd `dest_path `libmcrypt-2.5.8;./configure;make;make install

-name: config libmcrypt-2.5.8/libltdl

Shell: cd `dest_path `libmcrypt-2.5.8/libltdl/;./configure-- with-gmetad-- enable-gexec-- enable-ltdl-install

-name: libmcrypt make and make install

Shell: cd `dest_path `libmcrypt-2.5.8/libltdl/;make;make install

-name: line libmcrypt*

File: src=/usr/local/lib/ `item`.`src `dest=/usr/lib/ `item`.`dest `state=link

With_items:

-{src: 'libmcrypt.so.4.4.8', dest:' libmcrypt.so.4.4.8'}

-{src: 'libmcrypt.so.4', dest:' libmcrypt.so.4'}

-{src: 'libmcrypt.so', dest:' libmcrypt.so'}

-{src: 'libmcrypt.la', dest:' libmcrypt.la'}

-{src: 'libmcrypt', dest:' libmcrypt'}

-{src: 'libmhash.a', dest:' libmhash.a'}

-{src: 'libmhash.la', dest:' libmhash.la'}

-{src: 'libmhash.so', dest:' libmhash.so'}

-{src: 'libmhash.so.2', dest:' libmhash.so.2'}

-{src: 'libmhash.so.2.0.1', dest:' libmhash.so.2.0.1'}

-name: ldconfig

Shell: ldconfig

-name: cp libladp*

File: src=/usr/lib64/ `item`.`src `dest=/usr/lib/ `item`.`dest `state=link

With_items:

-{src: 'libldap-2.4.so.2', dest:' libldap-2.4.so.2'}

-{src: 'libldap_r-2.4.so.2', dest:' libldap_r-2.4.so.2'}

-{src: 'libldap_r.so', dest:' libldap_r.so'}

-{src: 'libldap.so', dest:' libldap.so'}

-name: config php

Shell: cd `dest_path `php-5.6.29 . / configure-- prefix=/usr/local/php-- with-config-file-path=/usr/local/php/etc-- with-mysql=/usr/local/mysql-- with-mysqli=/usr/local/mysql/bin/mysql_config-- with-iconv-dir=/usr/local-- with-jpeg-dir-- with-png-dir-- with-zlib-- with-libxml-dir=/usr-- enable-xml-- disable-rpath-- enable-bcmath-- enable-shmop-- enable- Sysvsem-enable-inline-optimization-with-curl-enable-mbregex-enable-fpm-enable-mbstring-with-mcrypt-with-gd-enable-gd-native-ttf-with-openssl-with-mhash-enable-pcntl-enable-sockets-with-ldap--with-ldap-sasl-with-xmlrpc-enable-zip-enable-soap-with-freetype-dir-with-gettext-with-fpm-user=www-with-fpm-group=www

-name: copy Makefile

Copy: src=Makefile dest= `dest_path `php-5.6.29 owner=root group=root mode=0644 backup=yes

#-name: config Makefile

# shell: sed-I 's#EXTRA_LIBS =-lcrypt-lz-lcrypt-lrt-lmysqlclient-lmcrypt-lltdl-lldap-lpng-lz-ljpeg-lcurl-lz-lrt-lm-ldl-lnsl-lrt-lxml2-lz-lm-lssl-lcrypto-lcurl-lxml2-lz-lm-lfreetype-lmysqlclient-lm-lrt-lssl-lcrypto-lcrypto-ldl-lxml2-lz-lz-lxml2-lxml2-lxml2- Lcrypt#EXTRA_LIBS =-lcrypt-lz-lcrypt-lrt-lmysqlclient-lmcrypt-lltdl-lldap-lpng-lz-ljpeg-lcurl-lz-lrt-lm-ldl-lnsl-lrt-lxml2-lz-lm-lssl-lcrypto-lcurl-lxml2-lz-lm-lfreetype-lmysqlclient-lm-lrt-lssl-lcrypto-ldl-lxml2-lxml2-lz-lm-lm-lxml2-- lxml2-lm-lm

-name: make ZEND_EXTRA_LIBS='-liconv'

Shell: cd `dest_path `php-5.6.29;make ZEND_EXTRA_LIBS='-liconv'

-name: make install

Shell: cd `dest_path `php-5.6.29;make install

-name: copy file php.ini

Copy: src=php.ini dest=/usr/local/php/etc/ owner=root group=root mode=0644 backup=yes

-name: copy file php-fpm.conf

Copy: src=php-fpm.conf dest=/usr/local/php/etc/ owner=root group=root mode=0644 backup=yes

-name: copy php-fpm

Copy: src=php-fpm dest=/etc/init.d/ owner=root group=root mode=0755 backup=yes

-name: copy file index.php testdb.php

Copy: src= `item `dest=/usr/local/nginx/html/ owner=root group=root mode=0644 backup=yes

With_items:

-index.php

-testdb.php

Notify:

-start php

[root@localhost php] # cat handlers/main.yml

-

# handlers file for php

-name: start php

Service: name=php-fpm state=restarted enabled=yes

Zabbix deployment

[root@localhost zabbix_server] # pwd

/ etc/ansible/roles/zabbix/roles/zabbix_server

[root@localhost zabbix_server] # ls

Handlers tasks templates

[root@localhost zabbix_server] # tree

├── files

│ ├── zabbix

│ ├── zabbix-3.0.4.tar.gz

│ ├── zabbix_agentd

│ ├── zabbix_server

│ └── zabbix_server.conf

├── handlers

│ └── main.yml

├── tasks

│ └── main.yml

└── templates

└── zabbix_agentd.conf.j2

[root@localhost zabbix_server] # cat tasks/main.yml

-

# tasks file for zabbix_server

-name: add usergroup

Group: name=zabbix gid=201 system=yes

Tags:

-zabbix_1

-name: add user

User: name=zabbix uid=201 group=zabbix

Tags:

-zabbix_2

-name: unarchive zabbix-3.0.4.tar.gz

Unarchive: src= `zabbix_server_path `zabbix-3.0.4.tar.gz dest= `dest_path `copy=yes

Tags:

-zabbix_3

-name: config and make install

Shell: cd `dest_path `zabbix-3.0.4;./configure-- prefix=/usr/local/zabbix-- enable-java-- enable-server-- enable-proxy-- enable-agent-- with-mysql-- with-net-snmp-- with-libcurl-- with-libxml2;make install

Tags:

-zabbix_4

-name: add zabbix to services

Lineinfile: dest=/etc/services line= `item `

With_items:

-"zabbix-agent 10050/tcp # Zabbix Agent"

-"zabbix-agent 10050/udp # Zabbix Agent"

-"zabbix-server 10051/tcp # zabbix Trapper"

-"zabbix-server 10051/udp # zabbix Trapper"

Tags:

-zabbix_4_1

-name: create database user

Shell: mysql-uroot-pmysql_dbpass-e "create database zabbix default character set utf8;"

Tags:

-zabbix_5

-name: databases shou quan

Shell: mysql-uroot-pmysql_dbpass-e "grant all on zabbix.* to 'zabbix'@'localhost' identified by' zabbix';"

Tags:

-zabbix_6

-name: flush privileges

Shell: mysql-uroot-pmysql_dbpass-e "flush privileges;"

Tags:

-zabbix_7

-name: import databases

Shell: cd `dest_path `zabbix-3.0.4/database/mysql;mysql-uzabbix-pzabbix zabbix < schema.sql;mysql-uzabbix-pzabbix zabbix < proomwroompicpaths.sqlash MySQL-uzabbix-pzabbix zabbix < data.sql

Tags:

-zabbix_8

-name: create zabbix log directory

File: path=/data/logs/zabbix/ state=directory owner=zabbix group=zabbix

Tags:

-zabbix_9

-name: create / etc/ zabbix directory

File: path=/etc/zabbix/ state=directory

Tags:

-zabbix_10

-name: create / usr/local/zabbix/etc link

File: src=/usr/local/zabbix/etc/ `item`.`src `dest=/etc/zabbix/ `item`.`dest `state=link

With_items:

-{src: 'zabbix_agentd.conf', dest:' zabbix_agentd.conf'}

-{src: 'zabbix_proxy.conf', dest:' zabbix_proxy.conf'}

-{src: 'zabbix_server.conf', dest:' zabbix_server.conf'}

-{src: 'zabbix_agentd.conf.d', dest:' zabbix_agentd.conf.d'}

-{src: 'zabbix_proxy.conf.d', dest:' zabbix_proxy.conf.d'}

-{src: 'zabbix_server.conf.d', dest:' zabbix_server.conf.d'}

Tags:

-zabbix_11

-name: create / usr/local/zabbix/bin link

File: src=/usr/local/zabbix/bin/ `item`.`src `dest=/etc/zabbix/ `item`.`dest `state=link

With_items:

-{src: 'zabbix_get', dest:' zabbix_get'}

-{src: 'zabbix_sender', dest:' zabbix_sender'}

Tags:

-zabbix_12

-name: create / usr/local/zabbix/sbin link

File: src=/usr/local/zabbix/sbin/ `item`.`src `dest=/usr/sbin/ `item`.`dest `state=link

With_items:

-{src: 'zabbix_agentd', dest:' zabbix_agentd'}

-{src: 'zabbix_java', dest:' zabbix_java'}

-{src: 'zabbix_proxy', dest:' zabbix_proxy'}

-{src: 'zabbix_server', dest:' zabbix_server'}

Tags:

-zabbix_13

-name: copy zabbix start stop script

Copy: src= `item `dest=/etc/init.d owner=root group=root mode=0755 backup=yes

With_items:

-zabbix_server

-zabbix_agentd

Tags:

-zabbix_14

-name: copy zabbix_server.conf

# file: src= `item `dest=/usr/local/zabbix/etc/ owner=root group=root mode=0644 backup=yes

Synchronize: src= `item `dest=/usr/local/zabbix/etc/ mode=push

With_items:

-zabbix_server.conf

Tags:

-zabbix_15

-name: copy zabbix_agentd.conf

Template: src=zabbix_agentd.conf.j2 dest=/usr/local/zabbix/etc/zabbix_agentd.conf owner=root group=root mode=0644

Tags:

-zabbix_16

-name: copy zabbix wangzhan directory

Synchronize: src=zabbix dest=/usr/local/nginx/html/ mode=push

Tags:

-zabbix_17

#-name: change user

# file: dest=/usr/local/nginx/html/zabbix owner=www group=www backup=yes

-name: add / usr/local/lib

Lineinfile: dest=/etc/ld.so.conf line=/usr/local/lib

Tags:

-zabbix_19

#-name: add max_connections

# lineinfile: dest=/etc/my.cnf line= "max_connections = 1000"

-name: ldconfig

Shell: ldconfig

Tags:

-zabbix_20

Notify:

-start zabbix_server

-start zabbix_agentd

-stop iptables

-stop selinux

[root@localhost zabbix_server] # cat handlers/main.yml

-

# handlers file for zabbix_server

-name: start zabbix_server

Service: name=zabbix_server state=restarted enabled=yes

-name: start zabbix_agentd

Service: name=zabbix_agentd state=restarted enabled=yes

-name: stop iptables

Service: name=iptables state=stopped enabled=no

-name: stop selinux

Shell: setenforce 0

[root@localhost zabbix_server] # cat templates/zabbix_agentd.conf.j2

EnableRemoteCommands=1

UnsafeUserParameters=1

Server=127.0.0.1, `ansible_ eth0`.`ipv4`.`address `

ServerActive= `ansible_ eth0`.`ipv4`.`address `: 10051

Hostname= `ansible_hostname `

LogFile=/data/logs/zabbix/zabbix_agentd.log

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

Execute the Yaml master file

[root@localhost zabbix] # ls

Group_vars roles zabbix.retry zabbix.yaml

[root@localhost zabbix] # pwd

/ etc/ansible/roles/zabbix

[root@localhost zabbix] # ansible-playbook zabbix.yaml

Tags: Files usage content variables roles tools monitoring Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno vpn Microsoft NVidia Huawei Shulou Technology