Ansible小试牛刀
注意事项
除了安装的zabbix相关组件
使用此脚本安装的所有软件版本均为系统默认版本
安装软件
zabbix相关组件,包括server,agent等
MySQL
Redis
NGINX
openjdk
maven
nodejs
keepalived
iptables
ipvsadm
使用剧本
---
- hosts: allname: zabbix-agent-setuser: rootgather_facts: yesvars:lvs_iptables_packages:- iptables- ipvsadmnginx_packages:- nginx- keepalived- nodejsredis_cluster_packages:- redis- treemysql_packages:- mysql- mysql-serverzabbix_packages:- zabbix-server-mysql- zabbix-web-mysql- zabbix-nginx-conf- zabbix-sql-scripts- zabbix-selinux-policy- zabbix-agent2java_packages:- maven- java-17-openjdkall_packages:- zabbix-agent2- zabbix-agent2-plugin-mongodb- zabbix-agent2-plugin-mssql- zabbix-agent2-plugin-postgresql- epel-releasetasks:- name: judge zabbix-agent yum repositry existsshell: cat /etc/yum.repos.d/zabbix.repoignore_errors: yesregister: repo_result- name: set zabbix-agent yum repositoryshell: rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm \ && dnf clean allwhen: repo_result.rc != 0- name: install zabbix-agent package and plugindnf:name: "{{ item }}"state: installedloop: "{{ all_packages }}"- name: install lvs-iptables packagednf:name: "{{ item }}"state: installedloop: "{{ lvs_iptables_packages }}"when: "'security' in group_names "- name: install nginx packagednf:name: "{{ item }}"state: installedloop: "{{ nginx_packages }}"when: "'web' in group_names "- name: install java packagednf:name: "{{ item }}"state: installedloop: "{{ java_packages }}"when: "'application' in group_names "- name: install mysql packagednf:name: "{{ item }}"state: installedloop: "{{ mysql_packages }}"when: "'mysql' in group_names "- name: install redis packagednf:name: "{{ item }}"state: installedloop: "{{ redis_cluster_packages }}"when: "'redis' in group_names "- name: install zabbix-server packagednf:name: "{{ item }}"state: installedloop: "{{ zabbix_packages }}"when: "'zabbix' in group_names "- name: copy zabbix-agent configurecopy:src: /root/zabbix_agent2.confdest: /etc/zabbix/zabbix_agent2.conf- name: copy diy system minitor scriptcopy:src: /root/system_os.shdest: /etc/zabbix/zabbix_agent2.d/system_os.sh- name: copy diy minitor configure filecopy:src: /root/system_os.confdest: /etc/zabbix/zabbix_agent2.d/system_os.conf- name: copy mysql minitor scriptcopy:src: /root/mysql_minitor.shdest: /etc/zabbix/zabbix_agent2.d/mysql_minitor.shwhen: "'mysql' in group_names "- name: copy mysql minitor configure filecopy:src: /root/mysql_minitor.confdest: /etc/zabbix/zabbix_agent2.d/mysql_minitor.confwhen: "'mysql' in group_names "- name: copy redis minitor scriptcopy:src: /root/redis_minitor.shdest: /etc/zabbix/zabbix_agent2.d/redis_minitor.shwhen: "'redis' in group_names "- name: copy redis minitor configure filecopy:src: /root/redis_minitor.confdest: /etc/zabbix/zabbix_agent2.d/redis_minitor.confwhen: "'redis' in group_names "- name: start zabbix-agent2 serviceservice:name: zabbix-agent2state: restartedenabled: yes