ansible用roles的方式安装5.0版zabbix-agent2

安装zabbix-agent2

[root@zabbix-server roles]# tree -L 2
.
├── ansible.cfg               
├── group_vars      #变量目录
│   └── all
├── hosts           #主机清单
├── site.yml 
└── zabbix-agent2   #角色名称
    ├── files       #存放文件
    ├── handlers    #触发任务
    ├── tasks       #具体任务
    └── templates   #模板文件

1.主机清单文件(必须先和目标主机免密)

[root@zabbix-server roles]# cat hosts
[webservers]
node1

这里我做了用主机名的方式登录看管理机用主机名登录文章

2.创建角色目录

mkdir -p zabbix-agent2{tasks,handlers,templates.files}

3.编写具体任务

#编写思路
1.安装
2.配置
3.启动
[root@zabbix-server roles]# cat zabbix-agent2/tasks/main.yaml 
- name: Add repository
  yum_repository:
    name: zabbix
    description: Zabbix YUM repo
    baseurl: https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64

- name: Installed Zabbix-Agent2 Server
  yum:
    name: zabbix-agent2 
    state: present

- name: Configure Zabbix-Agent2 Server
  template:
    src: zabbix_agent2.conf.j2
    dest: /etc/zabbix/zabbix_agent2.conf
  notify: Systemd Restart Zabbix-agent2

- name: Configure zabbix conf
  file:
    src: '{{ item.src }}'
    dest: '{{ item.dest }}'
    mode: 0644
  with_items:
    - { src: './zabbix_agent2.d/mysql.conf', dest: '/etc/zabbix/zabbix_agent2.d/' }
    - { src: './zabbix_agent2.d/nginx_status.conf', dest: '/etc/zabbix/zabbix_agent2.d/' }
    - { src: './zabbix_agent2.d/user_num.conf', dest: '/etc/zabbix/zabbix_agent2.d/' }
  notify: Systemd Restart Zabbix-agent2

- name: Copy zabbix-agent2 Files
  copy:
    src: '{{ item.src }}'
    dest: '{{ item.dest }}'
    mode: 0755
  with_items:
    - { src: './zabbix_agent2.d/scripts', dest: '/etc/zabbix/zabbix_agent2.d/' }

- name: System Zabbix-Agent2 Server
  systemd:
    name: zabbix-agent2
    state: started
    enabled: yes

4.编写触发任务(重启服务)

[root@zabbix-server roles]# cat zabbix-agent2/handlers/main.yml 
#重启服务
- name: Systemd Restart Zabbix-agent2
  systemd:
    name: zabbix-agent2
    state: restarted

5.templates放置模板文件(必须以.j2结尾)

templates中放带有变量的文件,会自己解析

[root@zabbix-server roles]# cat zabbix-agent2/templates/zabbix_agent2.conf.j2 
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server={{ zabbix_server_ip }}
ServerActive={{ zabbix_server_ip }}
Hostname={{ ansible_hostname }}
HostMetadata=master
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

6.编写变量文件

#有变量的都可以写在这里面
[root@zabbix-server roles]# cat group_vars/all 
##zabbix-server
zabbix_server_ip: 192.168.10.68

7.编写调用任务文件(名字任意起,但必须是yml)

[root@zabbix-server roles]# cat site.yml 
- hosts: webservers
  roles:
     - zabbix-agent2

8.执行roles

[root@zabbix-server roles]# ansible-playbook site.yml  -i hosts

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值