Zabbix可以使用自动发现、自动注册、或者API来完成自动化的监控。
自动发现:
这里使用zabbix的自动发现功能再配合ansible的自动化安装zabbix-agent客户端完成自动化发现监控。
一、使用Ansible批量安装配置zabbix-agent客户端
1、配置文件
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.0.8 ServerActive=192.168.0.8 Include=/etc/zabbix/zabbix_agentd.d/*.conf
2、执行剧本自动化安装客户端,这里带了tcp的监控,里面的配置文件和脚本需要自己编写。
--- - hosts: zabbix_agent tasks: - name: 安装zabbix_agent客户端 yum: name: - https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm - zabbix-agent state: present - name: 复制zabbix配置文件,TCP脚本与配置文件 copy: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: 0755 with_items: - { src: '/root/config/zabbix_agentd.conf', dest: '/etc/zabbix/zabbix_agentd.conf' } - { src: '/root/sh/tcp_status.sh', dest: '/etc/zabbix/zabbix_agentd.d/' } - { src: '/root/config/tcp_status.conf', dest: '/etc/zabbix/zabbix_agentd.d/' } - name: 启动服务 service: name=zabbix-agent state=started enabled=yes - name: 测试获取tcp值生成tcp_tatus.txt文件 shell: sh /etc/zabbix/zabbix_agentd.d/tcp_status.sh established - name: 更改tcp_tatus.txt文件所属用户组为zabbix file: path: /tmp/tcp_status.txt owner: zabbix group: zabbix - name: 防火墙开启10050端口 firewalld: port: 10050/tcp permanent: yes immediate: yes state: enabled
二、登陆zabbix管理后台,设置自动发现规则
三、设置自动发现动作
四、查看主机
自动注册:
一、配置文件
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.0.8 ServerActive=192.168.0.8 #主动式 Hostname=test Include=/etc/zabbix/zabbix_agentd.d/*.conf HostMetadataItem=system.uname #特征匹配
二、安装客户端同上剧本
三、web界面设置自动注册
配置—->动作—->选择自动注册创建—->
四、最后查看主机是否已经正常注册成功。