新服务器安装和配置zabbix的playbook

简介:

公司的金山区云服务器是由我负责的,每一次新购买了金山区的服务器都要把这些新服务器添加到zabbix监控里,于是我就编写了一个ansible的playbook,这样以后就可以在执行playbook的时候“带薪拉屎”了。


ansible主机准备:

1)准备一个已经填写好zabbix_server同时hostname为空的zabbix_agentd.conf放在/root/路径下;

2)把新购买的机器ip地址填写到/etc/ansible/hosts里,原有的hosts要另外保存一份;

3)playbook跑完之后,具体的自定义项目比如pid、端口检查等监控项就是自己单独配置了;

4)别忘了去zabbix的web页面确认;


整个playbook如下文:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
---
 
- hosts: all
   tasks:
         - name: 给新购买的机器安装zabbix 2.2版本(2.2.14版本)
           yum: name=zabbix22 state=latest
           yum: name=zabbix22-agent state=latest
           
         - name: 备份原来的zabbix_agentd.conf
           shell:  mv  /etc/zabbix/zabbix_agentd .conf  /etc/zabbix/zabbix_agentd .conf-bak
           
         - name: 将控制端上的zabbix_agent.conf下发到目标机器
           copy: src= /root/zabbix_agentd .conf dest= /etc/zabbix/  owner=root group=root mode=0777
           
         - name: 对应更改Hostname
           shell:  sed  -i s /Hostname = /Hostname =$( hostname )/  /etc/zabbix/zabbix_agentd .conf
           notify: Start Zabbix-agent Service
 
   handlers:
         - name: Start Zabbix-agent Service
           service: name=zabbix-agent start=restarted


执行之后,会有一个提示,如图:

wKiom1foxBjgjALdAAAYp_w56a0036.png

ansible提示,最好使用template或者lineinfile模块,而不要用sed命令。


既然ansible这么说,那咱们就用呗,而且再把上面的语言整理一下。如下文:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
---
 
- hosts: all
   tasks:
         - name: 给新购买的机器安装zabbix 2.4版本
           yum: name={{ item }} state=latest
           with_items:
           - zabbix24
           - zabbix24-agent
 
         - name: 备份原来的zabbix_agentd.conf
           shell:  mv  /etc/zabbix/zabbix_agentd .conf  /etc/zabbix/zabbix_agentd .conf-bak
 
         - name: 将控制端上的zabbix_agent.conf下发到目标机器
           copy: src= /root/zabbix_agentd .conf dest= /etc/zabbix/  owner=root group=root mode=0777
 
         - name: 在新的zabbix_agent.conf添加Hostname
           lineinfile: dest= /etc/zabbix/zabbix_agentd .conf regexp=^Hostname line=Hostname=`ansible_nodename` 
           notify: Start Zabbix-agent Service
 
   handlers:
         - name: Start Zabbix-agent Service
           service: name=zabbix-agent start=retarted


多说一下lineinfile模块,lineinfile模块具备“文件备份、语句替换、语句删除、新语句插入”功能。其格式是:

1
lineinfile: dest=目标文件绝对路径  具体内容

其中具体内容可以是以下几项:

1)backup=yes,将原来的dest文件备份,默认是No;

2)regexp= ,接正则表达式,本文用的是“^Hostname”,即匹配以Hostname开头的行;

3)state= ,不单独写出来的话,默认是present,如果是state=absent,就是把regexp= 满足的语句删除;

4)line="要插入的话",如果前面没有regexp匹配出来的语句,那么默认是把“要插入的话”插入到文件最后一行。



 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1856628


相关文章
|
17天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
195 79
|
1月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
198 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
177 61
|
28天前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
59 2
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
82 6
|
2月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
327 4
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
99 4
|
3月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
82 5
Linux系统之安装Ward服务器监控工具

推荐镜像

更多