Ansible单yaml文件部署Zabbix5.0监控平台

文章目录

  • Ansible单yaml文件部署Zabbix5.0监控平台
    • 节点规划
    • 案例实施
      • 基础环境准备
      • 编写剧本文件
      • ZabbixWeb界面
        • (1)改中文
        • (2)添加监控主机

Ansible单yaml文件部署Zabbix5.0监控平台

节点规划

IP主机名节点
192.168.200.10ansibleAnsible节点
192.168.200.20zabbix-serverZabbix-server节点
192.168.200.30zabbix-agentAgent 节点

使用Ansible部署一个zabbix监控平台并监控192.168.200.30主机

案例实施

基础环境准备

(1)修改主机名

[root@localhost ~]# hostnamectl set-hostname ansible
[root@localhost ~]# hostnamectl set-hostname zabbix-server
[root@localhost ~]# hostnamectl set-hostname zabbix-agent

(2)安装ansible

[root@ansible ~]# yum install -y epel-release
[root@ansible ~]# yum install -y ansible

(3)配置Ansible节点和远程主机的连接

[root@ansible ~]# ssh-keygen
[root@zabbix-server ~]# ssh-keygen
[root@zabbix-agent ~]# ssh-keygen
[root@ansible ~]# ssh-copy-id 192.168.200.20
[root@ansible ~]# ssh-copy-id 192.168.200.30

(4)配置主机组

[root@ansible ~]# vim /etc/ansible/hosts 
[yum]
192.168.200.20
192.168.200.30
[zabbix]
192.168.200.20
[agent]
192.168.200.30

(5)测试连通性

[root@ansible ~]# ansible yum -m ping
192.168.200.30 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.200.20 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

编写剧本文件

[root@ansible ~]# vim install_zabbix.yaml 
- hosts: yum
  remote_user: root

  tasks:
  - name: stop firewalld setenforce 0
    shell: systemctl stop firewalld && systemctl disable firewalld && setenforce 0
  - name: download zabbix-repo
    yum:  
      name: https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
      state: installed
  - name: modify zabbix-repo
    shell: sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
  - name: enable zabbix-frontend
    shell: sed -i '11s/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo
  - name: install cangku
    yum: 
      name:
        - centos-release-scl
        - epel-release 
      state: installed

- hosts: zabbix
  remote_user: root
   
  tasks:
  - name: install zabbix
    yum: 
      name: 
        - zabbix-server-mysql
        - zabbix-agent
        - zabbix-web-mysql-scl
        - zabbix-apache-conf-scl
      state: installed
  - name: install mariadb
    yum: name=mariadb-server state=installed


  - name: start enable mariadb
    service: name=mariadb.service enabled=yes state=started
  - name: mariadb password
    shell: mysqladmin -uroot password '000000'
  - name: create zabbix database
    shell: mysql -uroot -p000000 -e "create database zabbix character set utf8 collate utf8_bin";
  - name: create zabbix user
    shell: mysql -uroot -p000000 -e "create user zabbix@localhost identified by '000000'";
  - name: shouquan
    shell: mysql -uroot -p000000 -e "grant all privileges on zabbix.* to 'zabbix'@'localhost';" 
  - name: import db information
    shell:  zcat /usr/share/doc/zabbix-server-mysql-5.0.36/create.sql.gz | mysql -u zabbix -p000000 zabbix
  - name: DBPassword
    lineinfile: 
      path: "/etc/zabbix/zabbix_server.conf"
      regexp: "DBPassword"
      line: "DBPassword=000000"
  - name: modify time zone
    lineinfile:
      path: "/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf"
      regexp: "^;php_value[date.timezone]"
      line: "php_value[date.timezone] = Asia/Shanghai"
  - name: restart zabbix-server
    shell: systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm && systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
  - name: luanma install ziti
    yum: name=wqy-microhei-fonts state=installed
  - name: copy ziti
    shell: cp -rf /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

- hosts: agent
  remote_user: root

  tasks:
  - name: install zabbix-agent
    yum: name=zabbix-agent state=installed
  - name: modify zabbix-agent.config 被动监控
    lineinfile:
      path: "/etc/zabbix/zabbix_agentd.conf"
      regexp: "^Server=127.0.0.1"
      line: "Server=192.168.200.20"
  - name: modify zabbix-agent.conf 主动监控
    lineinfile:
      path: "/etc/zabbix/zabbix_agentd.conf"
      regexp: "^ServerActive=127.0.0.1"
      line: "ServerActive=192.168.200.20"
  - name: modify zabbix-agent.conf 被监控的主机名
    lineinfile:
      path: "/etc/zabbix/zabbix_agentd.conf"
      regexp: "^Hostname=Zabbix server"
      line: "Hostname=zabbix-agent"

  - name: restart zabbix-agent enable
    service: name=zabbix-agent state=restarted enabled=yes

执行剧本

[root@ansible ~]# ansible-playbook  install_zabbix.yaml 

PLAY [yum] ***********************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************
ok: [192.168.200.20]
ok: [192.168.200.30]

TASK [stop firewalld setenforce 0] ***********************************************************************************************************************
changed: [192.168.200.20]
changed: [192.168.200.30]

TASK [download zabbix-repo] ******************************************************************************************************************************
changed: [192.168.200.20]
changed: [192.168.200.30]

TASK [modify zabbix-repo] ********************************************************************************************************************************
[WARNING]: Consider using the replace, lineinfile or template module rather than running 'sed'.  If you need to use command because replace, lineinfile
or template is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
changed: [192.168.200.20]
changed: [192.168.200.30]

TASK [enable zabbix-frontend] ****************************************************************************************************************************
changed: [192.168.200.20]
changed: [192.168.200.30]

TASK [install cangku] ************************************************************************************************************************************
changed: [192.168.200.20]
changed: [192.168.200.30]

PLAY [zabbix] ********************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************
ok: [192.168.200.20]

TASK [install zabbix] ************************************************************************************************************************************
changed: [192.168.200.20]

TASK [install mariadb] ***********************************************************************************************************************************
changed: [192.168.200.20]

TASK [start enable mariadb] ******************************************************************************************************************************
changed: [192.168.200.20]

TASK [mariadb password] **********************************************************************************************************************************
changed: [192.168.200.20]

TASK [create zabbix database] ****************************************************************************************************************************
changed: [192.168.200.20]

TASK [create zabbix user] ********************************************************************************************************************************
changed: [192.168.200.20]

TASK [shouquan] ******************************************************************************************************************************************
changed: [192.168.200.20]

TASK [import db information] *****************************************************************************************************************************
changed: [192.168.200.20]

TASK [DBPassword] ****************************************************************************************************************************************
changed: [192.168.200.20]

TASK [modify time zone] **********************************************************************************************************************************
changed: [192.168.200.20]

TASK [restart zabbix-server] *****************************************************************************************************************************
changed: [192.168.200.20]

TASK [luanma install ziti] *******************************************************************************************************************************
changed: [192.168.200.20]

TASK [copy ziti] *****************************************************************************************************************************************
changed: [192.168.200.20]

PLAY [agent] *********************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************
ok: [192.168.200.30]

TASK [install zabbix-agent] ******************************************************************************************************************************
changed: [192.168.200.30]

TASK [modify zabbix-agent.config 被动监控] *******************************************************************************************************************
changed: [192.168.200.30]

TASK [modify zabbix-agent.conf 主动监控] *********************************************************************************************************************
changed: [192.168.200.30]

TASK [modify zabbix-agent.conf 被监控的主机名] ******************************************************************************************************************
changed: [192.168.200.30]

TASK [restart zabbix-agent enable] ***********************************************************************************************************************
changed: [192.168.200.30]

PLAY RECAP ***********************************************************************************************************************************************
192.168.200.20             : ok=20   changed=18   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.200.30             : ok=12   changed=10   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

ZabbixWeb界面

浏览器访问192.168.200.20/zabbix

image-20230728232359308

点击Next step

image-20230728232532796

设置完信息,继续点击Next step

image-20230728232617868

设置完信息,继续点击Next step

image-20230728232630692

继续点击Next step

image-20230728232644116

安装成功点击 Finish 登录

image-20230723121719356

进入登录界面,使用默认的用户名和密码 Admin/zabbix 登录

image-20230728232947164

zabbix界面

image-20230729003307550

(1)改中文

点击user settings

image-20230728233154797

如果你想的话,设置中文可以改登录密码 点击左下角用户设置即可更改密码

(2)添加监控主机

点击配置→主机→创建主机

image-20230729003419663

点击模板

image-20230729003517901

查看日志文件

[root@zabbix-server ~]# tail -f /var/log/zabbix/zabbix_server.log 

 7371:20230729:003919.818 enabling Zabbix agent checks on host "zabbix-agent": host became available
# 当出现了这条信息说明已经开启成功了

image-20230729004206402
查看监控图表
image-20230729004307066

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/53136.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python系列】Python基础语法轻松入门—从变量到循环

目录 写在前面 语法介绍 变量 数据类型 整数 浮点数 字符串 列表 元组 字典 运算符 算术运算符 比较运算符 逻辑运算符 条件语句 循环语句 图书推荐 图书介绍 参与方式 中奖名单 写在前面 Python 是一种高级、解释型的编程语言,具有简单易学…

iPhone 安装 iOS 17公测版(Public Beta)

文章目录 步骤1. 备份iPhone资料步骤2. 申请iOS 17 公测Beta 资格步骤3. 下载iOS 16 Beta 公测描述档步骤4. 选择iOS 17 Beta 公测描述档更新项目步骤5. 升级iOS 17 Public Beta 公开测试版 苹果已经开始向大众释出首个iOS 17 公开测试版/ 公测版( iOS 17 Public Beta)&#xf…

【javaSE】 面向对象程序三大特性之继承

目录 为什么需要继承 继承的概念 继承的语法 注意事项 父类成员访问 子类中访问父类的成员变量 子类和父类不存在同名成员变量 子类和父类成员变量同名 访问原则 子类中访问父类的成员方法 成员方法名字不同 总结: 成员方法名字相同 总结: …

AAOS 音频焦点请求

文章目录 前言基本概念提供给应用来获取音频焦点的apiAAOS中的音频焦点管理交互矩阵duck的实现流程AAOS 测试应用kitchensink焦点相关 前言 本文章的目标是首先了解Android中音频焦点的基本概念,理解代码中相关音频焦点的使用方法。其次理解AAOS 中相关交互矩阵概念…

ns3.39编译时报错与解决_包括netanim-3.109(NetAnim)

ns(来源于“network simulator”)是一系列离散事件网络模拟器,包括ns-1、ns-2和ns-3。他们主要应用于研究和教学。ns-3是自由软件,以GNU GPLv2协议分发。​——百度百科 熟悉ns的朋友都知道,使用build.py编译时会先编…

线性代数的学习和整理2:线性代数的基础知识(整理ing)

目录 0 写在前面的话 网上推荐的线性代数的课程 1 线性代数和矩阵的各种概念 1.1 各种逻辑图 2 关于线性代数入门的各种灵魂发问 2.1 什么是线性,什么是线性相关 ? 为什么叫线性变换? 为什么叫线性代数? 2.2 线性代数是人造…

搞活系列-Java NIO之偏偏不用buffer.flip()会出现什么问题?

最近看博客又看到了Java NIO相关的博客,其中有讲解NIO和传统IO关于文件复制的文章,看到了如下的代码: /**** channel用例* 基于channel的文件复制*/Testpublic void fileCopyByChannel(){try {FileInputStream fileInputStream new FileInpu…

黑苹果如何在macOS Sonoma中驱动博通网卡

准备资源(百度:黑果魏叔 下载) 资源包中包含:AirportBrcmFixup.kext/IOSkywalkFamily.kext/IO80211FamilyLegacy.kext/OpenCore-Patcher 使用方法: 1.将 csr-active-config 设置为 03080000 全选代码 复制 2.在 …

如何进行软件回归测试

什么是软件回归测试,如何进行回归测试,进行回归测试时有哪些常用的方法? 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。回归测试是指重复以前的全部或部分的相同功能…

2,认识N(logN)的排序【p3】

认识N( logN} 的排序 2.1归并排序2.1.1代码实现归并排序2.1.1.1自己c实现归并排序2.1.1.2gptc实现归并排序2.1.1.3总结2.1.1.4比较行为 2.1.2归并排序使用master公式2.1.3归并排序的扩展2.1.3.1小和问题2.1.3.2逆序对问题 2.2快排、荷兰国旗问题2.2.1问题一2.2.2问题二(荷兰国旗…

数电基础知识学习笔记

文章目录: 一:逻辑门 1.逻辑门电路的分类 1.1 按逻辑(逻辑门) 1.1.1 逻辑定义 1.1.2 常见数字电路相关符号 1.1.3 电路图表示 1.1.4 逻辑门电路图像符号 1.2 按电路结构 1.3 按功能特点 2.高低电平的含义 3.常见的门…

C#实现数据库数据变化监测(sqlservermysql)

监测数据库表数据变化,可实现数据库同步(一主一从(双机备份),一主多从(总部数据库,工厂1,工厂2,工厂数据合并到总部数据)) sqlserver 启用数据库…

uni-app在小米手机上运行【步骤细节】

注意细节重点: 1.手机使用数据线与电脑连接,手机连接模式必须是传输文件模式 2.手机必须打开开发者模式 3.打开开发者模式后,仔细浏览并调整USB调试权限,重点打开USB是否允许安装按钮!!! 操作步…

黄东旭:The Future of Database,掀开 TiDB Serverless 的引擎盖

在 PingCAP 用户峰会 2023 上, PingCAP 联合创始人兼 CTO 黄东旭 分享了“The Future of Database”为主题的演讲, 介绍了 TiDB Serverless 作为未来一代数据库的核心设计理念。黄东旭 通过分享个人经历和示例,强调了数据库的服务化而非服务化…

020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试

020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试 上节学习了FatFs文件系统的相关知识,这节内容继续学习在STM32上如何移植FatFs文件系统,并且实现文件的创建、读、写与删除等功能。各位看官觉得还行的话点点赞&#xff0c…

Spring Tool Suite 4

参考:Spring tool suite4 安装及配置_springtoolsuite4_猿界零零七的博客-CSDN博客 下载:Spring | Tools 将下载的JAR进行解压两次,直至解压出contents中的sts 双击启动 第一次打开需要指定工作区文件夹 配置Maven的config 安装插件

(笔记)Layout知识点汇总(积累量变)

Layout知识点汇总 布线1、电容电阻中间不要穿线2、线宽不要超过焊盘,引出后加粗 拐角1、layout:钝角走线 线宽间距1、注意和差分信号线的距离 焊盘1、焊盘中心出线2、线连接到焊盘中心 布局1、时钟线包地处理2、音频的左右声道,加粗&#xff…

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022)

文章目录 一、背景二、方法2.1 对新类别的定位 Localization2.2 使用 cropped regions 进行开放词汇检测2.3 ViLD 三、效果 论文:Open-vocabulary Object Detection via Vision and Language Knowledge Distillation 代码:https://github.com/tensorflo…

C语言每日一题之整数求二进制1的个数

今天分享一道题目&#xff0c;用三种方法来求解 二进制1的个数 方法1 我们的十进制除10和取余数就可以得到我们每一位的数字&#xff0c;那我们的二进制也可 以 #include<stdio.h> int num_find_1(unsigned int n) {int count 0;while (n){if (1 n % 2){count;}n / 2…

element中tabs组件,click事件点击拿到当前item的所有数据

话不多说&#xff0c;直接上代码&#xff1a; 添加一个:value&#xff0c;然后在用JSON.stringify(item)转一下就可以了&#xff0c;这样就会存在$attrs.value这个里面了。 接着在点击事件里面获取使用el.$attrs.value&#xff0c;注意这里在拿到这个值时&#xff0c;再用JSON…