温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

发布时间:2020-07-10 13:06:18 来源:网络 阅读:582 作者:Marion0728 栏目:系统运维

十三、使用Ansible批量安装Zabbix Agent,并通过自动注册添加Linux主机:

1、Ansible简介:

Ansible是一款基于Python研发的开源自动化工具,实现了批量运行命令、批量部署程序、批量配置系统等功能。默认通过SSH协议(也可使用其它协议)进行远程命令执行或下发配置,无需部署任何客户端代理软件(agentless)在被管控主机上,并可同时支持多台主机并行管理。Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。Ansible帮助文档:https://docs.ansible.com/ansible/latest/index.html

2、演示环境:

IP

操作系统

主机名

角色

192.168.0.120

CentOS   7.7 x86_64

zabbix-server

Zabbix   DatabaseZabbix   ServerZabbix   WebZabbix   AgentAnsible主机

192.168.0.121

CentOS   7.7 x86_64

web01

Zabbix   Agent、被管控主机

192.168.0.122

CentOS   7.7 x86_64

db01

Zabbix   Agent、被管控主机

目标:zabbix-server节点通过Ansible自动配置web01db01节点的防火墙、SELinux、系统时间、主机名,自动安装、配置、启动Zabbix Agent,最后通过Zabbix Web自动注册功能批量添加Linux主机

3、zabbix-server节点准备工作:

(1)配置hosts文件:

# vim /etc/hosts

192.168.0.120 zabbix-server

192.168.0.121 web01

192.168.0.122 db01

(2)配置chrony服务端:

a、修chrony.conf配置文件:

# yum -y install chrony

# mv /etc/chrony.conf{,.bak}

# vim /etc/chrony.conf,新增如下代码:

# 指定上层NTP服务器为阿里云提供的公网NTP服务器

server ntp1.aliyun.com iburst minpoll 4 maxpoll 10

server ntp2.aliyun.com iburst minpoll 4 maxpoll 10

server ntp3.aliyun.com iburst minpoll 4 maxpoll 10

server ntp4.aliyun.com iburst minpoll 4 maxpoll 10

server ntp5.aliyun.com iburst minpoll 4 maxpoll 10

server ntp6.aliyun.com iburst minpoll 4 maxpoll 10

server ntp7.aliyun.com iburst minpoll 4 maxpoll 10

# 记录系统时钟获得/丢失时间的速率至drift文件中

driftfile /var/lib/chrony/drift

# 如果系统时钟的偏移量大于10秒,则允许在前三次更新中步进调整系统时钟

makestep 10 3

# 启用RTC(实时时钟)的内核同步

rtcsync

# 只允许192.168.0网段的客户端进行时间同步

allow 192.168.0.0/24

# 如果未能从阿里云提供的公网NTP服务器同步到时间,也允许将本地时间作为标准时间授时给其它客户端

local stratum 10

# 指定包含NTP验证密钥的文件

keyfile /etc/chrony.keys

# 指定存放日志文件的目录

logdir /var/log/chrony

# chronyd在选择源时忽略源的层级

stratumweight 0

# 禁用客户端访问的日志记录

noclientlog

# 如果时钟调整大于0.5秒,则向系统日志发送消息

logchange 0.5

说明:详细指令参数可以使用命令# man chrony.conf查看

b、启动chronyd

# systemctl start chronyd

# systemctl status chronyd

# ps aux | grep chronyd

# ss -tunlp | grep chronyd

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

备注:123端口为NTP服务监听端口,323端口为chrony服务监听端口

c、配置开机自启:# systemctl enable chronyd

d、查看时间同步源:# chronyc sources -v

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

说明:

120.25.115.20ntp1.aliyun.com域名解析后的地址

203.107.6.88ntp2.aliyun.com~ntp7.aliyun.com域名解析后的地址

e、查看时间同步源状态:# chronyc sourcestats -v

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

(3)查看Python版本:# python -V

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

(4)还原至最初配置,删除Zabbix Webzabbix-server以外的所有节点:

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

4、web01db01节点为VMware Workstation最小化全新安装的CentOS 7.7

5、zabbix-server节点安装ansible

# yum -y install epel-release

# yum -y install ansible

# ansible --version

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

6、zabbix-server节点配置被管控主机的主机清单文件:

# vim /etc/ansible/hosts,末尾新增如下代码:

[websrvs]

web01 ansible_host=192.168.0.121

[dbsrvs]

db01 ansible_host=192.168.0.122

7、   zabbix-server节点配置SSH互信:

(1)生成密钥对,基于密钥认证:# ssh-keygen -t rsa -P ""

(2)复制公钥至所有被管控主机:

# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.121

# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.122

(3)测试连通性:# ansible all -m ping

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

8、zabbix-server节点创建roles相关目录结构:

# cd /etc/ansible/roles

# mkdir -pv {prepare,zabbix-agent}/{files,templates,tasks,handlers,vars,meta,defaults}

9、zabbix-server节点配置prepare role

(1)修改prepare/tasks/main.yml配置文件:

# vim prepare/tasks/main.yml

- name: Stop Iptables On CentOS 6

service: name=iptables state=stopped enabled=no

when: ansible_distribution=="CentOS" and ansible_distribution_major_version=="6"

- name: Stop Firewalld On CentOS 7

systemd: name=firewalld.service state=stopped enabled=no

when: ansible_distribution=="CentOS" and ansible_distribution_major_version=="7"

- name: Install libselinux-python

yum: name=libselinux-python state=latest

- name: Stop SELinux

selinux: state=disabled

- name: Set Hostname

hostname: name={{inventory_hostname}}

- name: Edit Hosts File

lineinfile: path=/etc/hosts line="{{ansible_host}} {{inventory_hostname}}" state=present backup=yes

- name: Install {{item}}

yum: name={{item}} state=latest

loop:

- epel-release

- chrony

- name: Install Configuration File

copy: src=chrony.conf dest=/etc/ owner=root group=root mode=0644 backup=yes

notify: Restart Chrony Service

tags: Chrony Configuration File

- name: Start Chrony Service

service: name=chronyd state=started enabled=yes

(2)修改prepare/files/chrony.conf配置文件:

# vim prepare/files/chrony.conf

server 192.168.0.120 iburst

driftfile /var/lib/chrony/drift

makestep 10 3

rtcsync

local stratum 10

keyfile /etc/chrony.keys

logdir /var/log/chrony

stratumweight 0

noclientlog

logchange 0.5

备注:192.168.0.120为内网chrony服务端IP

(3)修改prepare/handlers/main.yml配置文件:

# vim prepare/handlers/main.yml

- name: Restart Chrony Service

service: name=chronyd state=restarted

10、zabbix-server节点配置zabbix-agent role

(1)修改zabbix-agent/tasks/main.yml配置文件:

# vim zabbix-agent/tasks/main.yml

- name: Create Zabbix Repository

yum_repository: file=zabbix name=aliyun-zabbix description="Aliyun Zabbix Repository" baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/ gpgcheck=no enabled=yes owner=root group=root mode=0644 state=present

- name: Install zabbix-agent

yum: name=zabbix-agent state=latest

- name: Install Configuration File

template: src=zabbix_agentd.conf.j2 dest=/etc/zabbix/zabbix_agentd.conf owner=root group=root mode=0644 backup=yes

notify: Restart zabbix-agent Service

tags: zabbix-agent Configuration File

- name: Start zabbix-agent Service

service: name=zabbix-agent state=started enabled=yes

说明:

yum_repository: file=zabbix name=aliyun-zabbix description="Aliyun Zabbix Repository" baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/ gpgcheck=no enabled=yes owner=root group=root mode=0644 state=present

对应的/etc/yum.repos.d/zabbix.repo

[aliyun-zabbix]

name=Aliyun Zabbix Repository

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/

enabled=1

gpgcheck=0

(2)修改zabbix-agent/handlers/main.yml配置文件:

# vim zabbix-agent/handlers/main.yml

- name: Restart zabbix-agent Service

service: name=zabbix-agent state=restarted

(3)复制zabbix-server节点的zabbix_agentd.conf配置文件,并修改成zabbix_agentd.conf.j2通用模板文件:

# cp /etc/zabbix/zabbix_agentd.conf /etc/ansible/roles/zabbix-agent/templates/zabbix_agentd.conf.j2

# vim /etc/ansible/roles/zabbix-agent/templates/zabbix_agentd.conf.j2

修改前

修改后

Server=192.168.0.120

Server={{zabbix_server}}

ListenPort=10050

ListenPort={{listen_port}}

ListenIP=192.168.0.120

ListenIP={{ansible_host}}

ServerActive=192.168.0.120

ServerActive={{zabbix_server}}

Hostname=zabbix-server

Hostname={{inventory_hostname}}

# HostMetadata=

HostMetadata={{inventory_hostname}}

 (4)修改/etc/ansible/roles/zabbix-agent/vars/main.yml配置文件:

# vim /etc/ansible/roles/zabbix-agent/vars/main.yml

zabbix_server: 192.168.0.120

listen_port: 10050

备注:不能有中横杠,下划线可以

11、zabbix-server节点查看roles目录结构:

# yum -y install tree

# cd /etc/ansible

# tree

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

12、zabbix-server节点编写playbook并执行:

# mkdir -pv /playbooks

# vim /playbooks/zabbix-agent.yml

- hosts: all

remote_user: root

roles:

- prepare

- zabbix-agent

# ansible-playbook --syntax-check /playbooks/zabbix-agent.yml

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

# ansible-playbook -C /playbooks/zabbix-agent.yml

# ansible-playbook /playbooks/zabbix-agent.yml

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

13、Zabbix Web中定义动作:

Configuration --> Actions --> Auto registration --> Create action --> Add

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

14、查看已添加主机:

Configuration --> Hosts

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

15、查看2节点最新监控数据:

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结

CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(十一)完结


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI