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
相关推荐
元气满满-樱15 小时前
Ansible-Playbook
ansible
元气满满-樱20 小时前
ansible部署nfs
ansible
码界奇点20 小时前
基于Django与Ansible的自动化运维管理系统设计与实现
运维·python·django·毕业设计·ansible·源代码管理
嘻哈baby2 天前
Ansible自动化运维入门:从手工到批量部署
运维·自动化·ansible
Warren982 天前
面试和投简历闲聊
网络·学习·docker·面试·职场和发展·eureka·ansible
乾元2 天前
Syslog / Flow / Telemetry 的 AI 聚合与异常检测实战(可观测性)
运维·网络·人工智能·网络协议·华为·自动化·ansible
我是koten3 天前
用Ansible查找文件并记录文件名的playbook
linux·运维·centos·ssh·ansible·find·playbook
jcsx3 天前
采用ansible收集多个centos6主机的一个特定日志文件vsftpd.log的后3000行
ansible
广目软件4 天前
GM DC Monitor一体化监控预警平台部署手册2025-12-10
运维·自动化·ansible·zabbix·运维开发·prometheus
tianyuanwo5 天前
Ansible构建节点管理:Koji与Mock构建节点的自动化运维实践
运维·自动化·ansible