本篇文章详细写了从配置SSH无密链接,到ansible批量部署zabbix-agent,最后在server端成功配置并实现监控
文章目录
接上篇文章:
Linux环境部署zabbix-server监控机 【2024.09.18最新步骤,超级详细】
一、修改zabbix-agent的hostname
三台zabbix-agent
均需要修改,下面是修改其中一台用到的命令,其它两台类似,修改下名字即可
hostnamectl set-hostname zabbix-agent01
systemctl restart network
查看修改后的hostname
hostname
二、配置SSH无密码登录
为确保 zabbix-server01
可以通过 SSH 无密码登录到所有 zabbix-agent
机器,需要生成和分发SSH秘钥:
1 生成秘钥
在zabbix-server01上生成SSH密钥对
ssh-keygen -t rsa -b 2048
按照提示进行操作,一直回车使用默认路径和不设置密码
2 分发公钥
将公钥复制到 zabbix-agent
机器
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
需要输入yes
和每个 zabbix-agent
机器的 root 密码。
3 验证无密码登录
在 zabbix-server01
上尝试通过 SSH 登录到每个 zabbix-agent
机器,确保无密码登录成功
ssh [email protected]
ssh [email protected]
ssh [email protected]
使用ssh无密码连接后,可以看到成功登录zabbix-agent
机器,使用Ctrl+D
退出当前登录
验证完成后进行下一步操作
三、安装并配置Ansible
1 安装
在zabbix-server01
上安装本次批量部署用到的工具Ansible
yum install -y ansible
如果下载失败,请安装epel后再执行上述命令
yum install epel-release -y
2 配置 Ansible 使用 SSH 密钥
修改Ansible的配置文件,使用vim的搜索的功能,快速查找字段所在位置进行修改
vim /etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/hosts
remote_user = root
[ssh_connection]
ssh_args = -o StrictHostKeyChecking=no
3 配置 Ansible 主机文件
vim /etc/ansible/hosts
# 在配置文件的最下方添加以下配置
[zabbix_agents]
192.168.138.121
192.168.138.122
192.168.138.123
测试zabbix-server01是否能与zabbix-agents通过SSH免密连通
ansible all -m ping
成功如下图所示
4 创建 Ansible Playbook
在 zabbix-server01
上创建一个目录来存放 Ansible Playbook 文件:
mkdir -p ~/ansible/zabbix
cd ~/ansible/zabbix
创建一个名为 install_zabbix_agent.yml
的 Playbook 文件:
vim install_zabbix_agent.yml
---
- hosts: zabbix_agents
become: yes
tasks:
- name: 添加 Zabbix 官方仓库
yum:
name: https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-2.el7.noarch.rpm
state: present
- name: 安装 Zabbix Agent
yum:
name: zabbix-agent
state: present
- name: 创建日志和 PID 文件目录
file:
path: /run/zabbix
state: directory
owner: zabbix
group: zabbix
- name: 创建日志目录
file:
path: /var/log/zabbix
state: directory
owner: zabbix
group: zabbix
- name: 配置 Zabbix Agent
template:
src: zabbix_agentd.conf.j2
dest: /etc/zabbix/zabbix_agentd.conf
- name: 启动并启用 Zabbix Agent 服务
systemd:
name: zabbix-agent
state: started
enabled: yes
5 创建模板文件
在同一目录下创建一个名为 zabbix_agentd.conf.j2
的模板文件:
vim zabbix_agentd.conf.j2
LogType=file
LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/run/zabbix/zabbix_agentd.pid
Server=192.168.138.134
ServerActive=192.168.138.134
Hostname={
{
inventory_hostname }}
6 运行 Ansible Playbook
在 zabbix-server01
上运行以下命令来执行 Playbook:
ansible-playbook install_zabbix_agent.yml
运行成功后如图所示
7 检查部署结果
ansible zabbix_agents -m shell -a 'systemctl status zabbix-agent'
四、zabbix的web页面配置
添加主机,并添加监控模板
填写主机名称、模版、群组、客户端IP
- 主机名称一般使用主机名+IP
- 模版选择
- 群组选择
返回主界面,**稍等1分钟,**可以发现agent已经在线,可用状态
点击检测,最新数据,可以看到已经获取的最新数据
至此,一台agent在server端配置完毕,剩下两台如法炮制
配置完成后,可以在主界面看到主机数量
配置完成后,我们来学习如何实现zabbix将预警信息,自动发送至钉钉群:
实现zabbix6.0自动上报预警信息到钉钉群
转载请标明出处
如果还有问题,欢迎在评论区留言或私信
作者:BQ
主页:https://blog.csdn.net/weixin_52677672?type=blog
qq群:958124241
Learn Together!