Ansible小试牛刀

注意事项

除了安装的zabbix相关组件

使用此脚本安装的所有软件版本均为系统默认版本

安装软件

zabbix相关组件,包括server,agent等

MySQL

Redis

NGINX

openjdk

maven

nodejs

keepalived

iptables

ipvsadm

使用剧本

javascript 复制代码
---
- 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
相关推荐
Q16849645152 天前
k8s-通过ansible-playbook脚本将其他节点加入集群失败?
容器·kubernetes·ansible
小王要努力上岸2 天前
运维自动化工具 Ansible
运维·自动化·ansible
~莫子3 天前
Ansible详解+环境准备+主机清单+ansible变量与模块
云原生·ansible
陈皮糖..5 天前
Ansible实战教程----使用Ansible角色源码编译部署nginx服务
linux·运维·nginx·自动化·云计算·ansible
陈皮糖..5 天前
Ansible实战教程----使用Ansible角色自动化部署HTTPD服务
linux·运维·自动化·云计算·ansible
奋斗的蛋黄6 天前
ansible.builtin vs ansible.posix 核心对比
ansible
寂静or沉默7 天前
Ansible 学习总结
学习·ansible
袁煦丞 cpolar内网穿透实验室9 天前
ansible批量自动化清理服务器日志+远程管理!cpolar 内网穿透实验室第 710 个成功挑战
服务器·自动化·ansible·远程工作·内网穿透·cpolar
人间打气筒(Ada)9 天前
ansible之role角色
运维·ansible·自动化运维·template·role·红帽·批量部署