注意事项
除了安装的zabbix相关组件
使用此脚本安装的所有软件版本均为系统默认版本
安装软件
zabbix相关组件,包括server,agent等
MySQL
Redis
NGINX
openjdk
maven
nodejs
keepalived
iptables
ipvsadm
使用剧本
---
- hosts: all
name: zabbix-agent-set
user: root
gather_facts: yes
vars:
lvs_iptables_packages:
- iptables
- ipvsadm
nginx_packages:
- nginx
- keepalived
- nodejs
redis_cluster_packages:
- redis
- tree
mysql_packages:
- mysql
- mysql-server
zabbix_packages:
- zabbix-server-mysql
- zabbix-web-mysql
- zabbix-nginx-conf
- zabbix-sql-scripts
- zabbix-selinux-policy
- zabbix-agent2
java_packages:
- maven
- java-17-openjdk
all_packages:
- zabbix-agent2
- zabbix-agent2-plugin-mongodb
- zabbix-agent2-plugin-mssql
- zabbix-agent2-plugin-postgresql
- epel-release
tasks:
- name: judge zabbix-agent yum repositry exists
shell: cat /etc/yum.repos.d/zabbix.repo
ignore_errors: yes
register: repo_result
- name: set zabbix-agent yum repository
shell: rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm \ && dnf clean all
when: repo_result.rc != 0
- name: install zabbix-agent package and plugin
dnf:
name: "{{ item }}"
state: installed
loop: "{{ all_packages }}"
- name: install lvs-iptables package
dnf:
name: "{{ item }}"
state: installed
loop: "{{ lvs_iptables_packages }}"
when: "'security' in group_names "
- name: install nginx package
dnf:
name: "{{ item }}"
state: installed
loop: "{{ nginx_packages }}"
when: "'web' in group_names "
- name: install java package
dnf:
name: "{{ item }}"
state: installed
loop: "{{ java_packages }}"
when: "'application' in group_names "
- name: install mysql package
dnf:
name: "{{ item }}"
state: installed
loop: "{{ mysql_packages }}"
when: "'mysql' in group_names "
- name: install redis package
dnf:
name: "{{ item }}"
state: installed
loop: "{{ redis_cluster_packages }}"
when: "'redis' in group_names "
- name: install zabbix-server package
dnf:
name: "{{ item }}"
state: installed
loop: "{{ zabbix_packages }}"
when: "'zabbix' in group_names "
- name: copy zabbix-agent configure
copy:
src: /root/zabbix_agent2.conf
dest: /etc/zabbix/zabbix_agent2.conf
- name: copy diy system minitor script
copy:
src: /root/system_os.sh
dest: /etc/zabbix/zabbix_agent2.d/system_os.sh
- name: copy diy minitor configure file
copy:
src: /root/system_os.conf
dest: /etc/zabbix/zabbix_agent2.d/system_os.conf
- name: copy mysql minitor script
copy:
src: /root/mysql_minitor.sh
dest: /etc/zabbix/zabbix_agent2.d/mysql_minitor.sh
when: "'mysql' in group_names "
- name: copy mysql minitor configure file
copy:
src: /root/mysql_minitor.conf
dest: /etc/zabbix/zabbix_agent2.d/mysql_minitor.conf
when: "'mysql' in group_names "
- name: copy redis minitor script
copy:
src: /root/redis_minitor.sh
dest: /etc/zabbix/zabbix_agent2.d/redis_minitor.sh
when: "'redis' in group_names "
- name: copy redis minitor configure file
copy:
src: /root/redis_minitor.conf
dest: /etc/zabbix/zabbix_agent2.d/redis_minitor.conf
when: "'redis' in group_names "
- name: start zabbix-agent2 service
service:
name: zabbix-agent2
state: restarted
enabled: yes