Zabbix监控自动化(Zabbix Mnitoring Automation)

​​​​​​zabbix监控自动化

1、自动化监控(网络发现与自动注册只能用其一)

1.1 ansible安装zabbix agent

新采购100台服务器:

1、安装操作系统

2、初始化操作系统

3、安装zabbix agent

1.手动部暑

2.脚本部暑(shell expect)

3.ansible

4、纳入监控

1.A机房,B机房

2.模板

3.主机

1.1.1 ansible安装zabbix agent

# cat hosts

[webservers]

192.168.0.16

# cat zabbix_agent.yml

---

- hosts: webservers

  vars:

  - zabbix_server: 192.168.0.13

  tasks:

    - name: Install zabbix agent - CentOS6

      yum: name=https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-agent-4.0.0-2.el6.x86_64.rpm state=present

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

    - name: Install zabbix agent - CentOS7

      yum: name=https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm state=present

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

    - name: Copy zabbix agent configuration file

      template: src=zabbix_agentd.conf.j2 dest=/etc/zabbix/zabbix_agentd.conf

    - name: Start zabbix agent

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

# cat zabbix_agentd.conf.j2

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

DebugLevel=3

Server={{ zabbix_server }}

ListenPort=10050

ListenIP={{ ansible_default_ipv4.address }}

ServerActive={{ zabbix_server }}

Hostname={{ ansible_default_ipv4.address }} 

Include=/etc/zabbix/zabbix_agentd.d/*.conf

#监控tcp连接

UserParameter=tcp.status[*],ss -antp |awk '{a[$$1]++}END{print a["$1"]}'

#异常IP登录

UserParameter=check.ssh, who | grep -v 192.168.5.101 | wc -l

#异常用户登录

UserParameter=check.user, who | grep -v root | wc -l

#密码尝试失败次数

UserParameter=check.fail, grep "Failed password" /var/log/secure | wc -l

#检查用户数量

UserParameter=get_user_num,wc -l /etc/passwd | awk '{print $1}'

#可以登陆的用户

UserParameter=get_login_users,awk -F":" '$7=="/bin/bash"{j++}END{print j}' /etc/passwd

#不可以登陆的用户

UserParameter=get_nologin_users,awk -F":" '$7!="/bin/bash"{i++}END{print i}' /etc/passwd

# ansible-playbook -i hosts zabbix_agent.yml -k

1.2 网络发现

# ntpdate time.windows.com  #同步一下时间

动作:

1.3 自动注册

ServerActive=192.168.0.13  #zabbix agent配置文件

HostMetadataItem=system.uname

2、zabbix agentd一键部暑脚本

#!/bin/bash

# author: old driver

# date: 2019-04-01

# 安装依赖包

yum install -y libxml2-devel libcurl-devel libevent-devel net-snmp-devel gcc gcc-c++

# 安装zabbix agentd

groupadd zabbix

useradd -g zabbix zabbix -s /sbin/nologin

cd /opt && tar -xzf zabbix-4.0.0.tar.gz

cd zabbix-4.0.0

./configure --prefix=/usr/local/zabbix --enable-agent

make && make install

# 修改配置文件 

rm -rf /usr/local/zabbix/etc/zabbix_agentd.conf

# zabbix agentd主动模式

cat > /usr/local/zabbix/etc/zabbix_agentd.conf  <     <EOF< span>      </EOF<>

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

DebugLevel=3

ListenPort=10050

ListenIP=172.23.101.101

StartAgents=0

ServerActive=172.23.101.207   #zabbix server

Hostname=172.23.101.101

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

#UserParameter

EOF

# 开机启动

cp /opt/zabbix-4.0.0/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/

mkdir -p /var/log/zabbix

mkdir -p /var/run/zabbix

chown zabbix:zabbix /var/log/zabbix

chown zabbix:zabbix /var/run/zabbix

ln -s /usr/local/zabbix/bin/* /usr/bin/

ln -s /usr/local/zabbix/sbin/* /usr/sbin/

cp /opt/zabbix-4.0.0/misc/init.d/fedora/core/zabbix_* /etc/init.d/

chmod 755 /etc/init.d/zabbix_*

sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd

#启动zabbix_agentd

/etc/init.d/zabbix_agentd  start

/etc/init.d/zabbix_agentd  stop

systemctl start zabbix_agentd

ps -ef |grep zabbix

3、ansible安装zabbix agent

方法一:

# cat zabbix_agent.yaml

---

- hosts: all

  vars:

  - zabbix_server: 10.213.94.202

  tasks:

    - name: Add zabbix repo

      yum_repository:

        name: zabbix

        description: zabbix repo

        baseurl: http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/

        gpgcheck: no

        enabled: 1

    - name: Install zabbix agent

      yum: name=zabbix-agent state=present

    - name: Copy zabbix agent configuration file

      template: src=zabbix_agentd.conf.j2 dest=/etc/zabbix/zabbix_agentd.conf

    - name: Start zabbix agent

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

# cat zabbix_agentd.conf.j2

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

DebugLevel=3

Server={{ zabbix_server }}

ListenPort=10050

ListenIP={{ ansible_default_ipv4.address }}

ServerActive={{ zabbix_server }}

Hostname={{ ansible_default_ipv4.address }} 

Include=/etc/zabbix/zabbix_agentd.d/*.conf

# UserParameter=

安装:

# ansible-playbook zabbix_agent.yaml

方法二:

# cat zabbix_agent.yaml 

- hosts: zabbix_agent

  remote_user: root

  tasks:

  - name: install zabbix_agent packages

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

    with_items:

    - curl-devel

  - name: copy install_shell to clien

    copy: src=/etc/ansible/zabbix_agent.sh dest=/usr/local/src/zabbix_agent.sh

  - name: sent tar

    copy: src=/usr/local/src/zabbix-4.2.6.tar.gz dest=/usr/local/src/zabbix-4.2.6.tar.gz

    notify: install shell

  handlers: 

  - name: install shell

shell: /bin/bash /usr/local/src/zabbix_agent.sh

# cat zabbix_agent.sh 

#!/bin/bash

useradd zabbix -s /sbin/nologin

cd /usr/local/src

tar -xf zabbix-4.2.6.tar.gz

cd zabbix-4.2.6

./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix

make && make install

cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

chmod 700 /etc/init.d/zabbix_agentd

sed -i  's\ZABBIX_BIN="/usr/local/sbin/zabbix_agentd\ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd\g' /etc/init.d/zabbix_agentd

sed -i  's\Server=127.0.0.1\Server=192.168.15.11\g' /usr/local/zabbix/etc/zabbix_agentd.conf

/etc/init.d/zabbix_agentd start

chkconfig zabbix_agentd on

安装:

# ansible-playbook zabbix_agent.yaml

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM垃圾回收

1. Java垃圾回收机制 为了让程序员更专注于代码的实现&#xff0c;而不用过多的考虑内存释放的问题&#xff0c;所以&#xff0c;在Java语言中&#xff0c;有了自动的垃圾回收机制&#xff0c;也就是我们熟悉的GC(Garbage Collection)。有了垃圾回收机制后&#xff0c;程序员只…

jmeter--(吞吐量控制器)逻辑控制器

在 JMeter 中&#xff0c;吞吐量控制器&#xff08;Throughput Controller&#xff09; 是一种逻辑控制器&#xff0c;用于控制其子节点&#xff08;请求、逻辑控制器等&#xff09;的执行次数或百分比&#xff0c;从而调整测试计划的吞吐量。它通常用于模拟不同比例的用户行为…

SpringBoot3实战(SpringBoot3+Vue3基本增删改查、前后端通信交互、配置后端跨域请求、数据批量删除(超详细))(3)

目录 一、从0快速搭建SpringBoot3工程、SpringBoot3集成MyBatis、PageHelper分页查询的详细教程。(博客链接) 二、实现前端与后端通信对接数据。(axios工具) &#xff08;1&#xff09;安装axios。(vue工程目录) &#xff08;2&#xff09;封装请求工具类。(request.js) <1&…

Atom of Thoughts for Markov LLM Test-Time Scaling论文解读

近年来&#xff0c;大型语言模型在训练规模的扩展上取得了显著的性能提升。然而&#xff0c;随着模型规模和数据量的增长遇到瓶颈&#xff0c;测试时扩展&#xff08;test-time scaling&#xff09;成为进一步提升模型能力的新方向。传统的推理方法&#xff0c;如思维链&#x…

前端字段名和后端不一致?解锁 JSON 映射的“隐藏规则” !!!

&#x1f680; 前端字段名和后端不一致&#xff1f;解锁 JSON 映射的“隐藏规则” &#x1f31f; 嘿&#xff0c;技术冒险家们&#xff01;&#x1f44b; 今天我们要聊一个开发中常见的“坑”&#xff1a;前端传来的 JSON 参数字段名和后端对象字段名不一致&#xff0c;会发生…

AI训练如何获取海量数据,论平台的重要性

引言&#xff1a;数据——AI时代的“新石油” 在人工智能和大模型技术飞速发展的今天&#xff0c;数据已成为驱动技术进步的 “ 燃料 ”。无论是训练聊天机器人、优化推荐算法&#xff0c;还是开发自动驾驶系统&#xff0c;都需要海量、多样化的数据支持。 然而&#xff0c;获…

k8s的存储

一 configmap 1.1 configmap的功能 configMap用于保存配置数据&#xff0c;以键值对形式存储。 configMap 资源提供了向 Pod 注入配置数据的方法。 镜像和配置文件解耦&#xff0c;以便实现镜像的可移植性和可复用性。 etcd限制了文件大小不能超过1M 1.2 configmap的使用…

递归、搜索与回溯第三讲:综合练习

递归、搜索与回溯第三讲&#xff1a;综合练习 1.找出所有子集的异或总和再求和2.全排列3.电话号码的字母组合4.组合5.目标和6.组合总和7.字母大小写全排列8.优美的排列9.N皇后10.有效的数独11.括号生成12.解数独13.单词搜索14.黄金矿工15.不同路径III 有决策树的递归总结&#…

Excel 小黑第12套

对应大猫13 涉及金额修改 -数字组 -修改会计专用 VLOOKUP函数使用&#xff08;查找目标&#xff0c;查找范围&#xff08;F4 绝对引用&#xff09;&#xff0c;返回值的所在列数&#xff0c;精确查找或模糊查找&#xff09;双击填充柄就会显示所有值 这个逗号要中文的不能英…

AI重构工程设计、施工、总承包行业:从智能优化到数字孪生的产业革命

摘要 AI正深度重构工程设计、施工与总承包行业&#xff0c;推动从传统经验驱动向数据智能驱动的转型。本文系统性解析AI当前在智能优化设计、施工过程管理、全生命周期数字孪生等场景的应用&#xff0c;展望未来AI在自动化决策、跨域协同等领域的潜力&#xff0c;并从投入产出…

Java高频面试之集合-15

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;解决哈希冲突有哪些方法&#xff1f; 1. 开放寻址法&#xff08;Open Addressing&#xff09; 核心思想&#xff1a;当哈…

vulhub Matrix-Breakout

1.下载靶机&#xff0c;打开靶机和kali虚拟机 2.查询kali和靶机ip 3.浏览器访问 访问81端口有登陆界面 4.扫描敏感目录 kali dirb 扫描 一一访问 robot.txt提示我们继续找找&#xff0c;可能是因为我们的字典太小了&#xff0c;我们换个扫描器换个字典试下,利用kali自带的最大…

docker-compose install nginx(解决fastgpt跨区域)

CORS前言 CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种安全措施,它允许或拒绝来自不同源(协议、域名、端口任一不同即为不同源)的网页访问另一源中的资源。它的主要作用如下: 同源策略限制:Web 浏览器的同源策略限制了从一个源加载的文档或脚本如何与另一…

【Java】——方法的使用(从入门到进阶)

&#x1f381;个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 &#x1f50d;系列专栏&#xff1a;【Java】内容概括 文章目录&#xff1a; 1.方法的概念及使用1.1 什么是方法&#xff1f;1.2 方法的意义1.3 方法的定义…

STM32HAL库,解决串口UART中断接收到的第一个字节数据丢失

1.问题描述&#xff1a; 只有上电后第一次接收到的第一字节数据会丢失&#xff0c;往后再接收也不会存在问题了。 2.先贴出来重写UART中断回调函数 我在接收到第一字节数据后开启定时器中断的&#xff0c;做一个超时处理&#xff0c;每次接收到数据会对定时器计数值清零&…

Linux中安装redis

Redis的安装包&#xff0c;从官方下载下来的是c语言的源码包&#xff0c;我们需要自己编译安装。具体操作步骤如下&#xff1a; 安装redis 上传redis资源包 安装C语言的编译环境 gcc yum install -y gcc-c 解压redis源码在当前目录 tar -zxvf redis-6.2.4.tar.gz 进入解压目录…

基于 SSE 和 WebSocket 的在线文本实时传输工具

简介 在线文本实时传输工具支持 SSE&#xff08;Server-Sent Events&#xff09; 和 WebSocket&#xff0c;可在不同设备间快速共享和同步文本&#xff0c;适用于跨设备协作、远程办公和即时通讯。 核心功能 实时同步&#xff1a;文本输入后&#xff0c;另一端用户可立即看到…

【UE5 PuerTS笔记】PuerTS安装

目录 1.下载PuerTS2.下载V83.创建C项目4.拷贝puerts/unreal下的Puerts目录到您项目的Plugins目录下5.解压V8到YouProject/Plugins/Puerts/ThirdParty6.在JsEnv.build.cs中修改UseV8Version设置为你所下载的版本。7.修改CSharpParamDefaultValueMetas.cs文件增加宏定义8.取消引擎…

Baklib企业CMS元数据与协作管理优化

智能元数据驱动协作流程升级 在现代企业内容管理中&#xff0c;智能元数据系统已成为提升协作效率的核心引擎。通过自动化标签分类与语义分析技术&#xff0c;Baklib实现了文档属性的动态结构化映射&#xff0c;使跨部门协作中的信息检索效率提升超40%。其可视化流程编辑器支持…

从零开始实现 C++ TinyWebServer Buffer类详解

文章目录 为什么需要Buffer缓冲区&#xff1f;Buffer 设计Buffer 成员变量实现 ReadFD() 函数实现 WriteFD() 函数实现 MakeSpace() 函数Buffer 代码Buffer 测试 在网络编程中&#xff0c;Buffer&#xff08;缓冲区&#xff09;是一个非常重要的概念&#xff0c;它可以帮助我们…