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.mzph.cn/bicheng/73858.shtml

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

相关文章

Android Launcher3 首屏图标锁定技术方案解析

一、需求背景与技术挑战 在Android 13系统定制开发中&#xff0c;需实现Launcher首屏图标固定功能。该需求需在以下技术维度进行突破&#xff1a; 拖拽事件拦截机制&#xff1a;需精准识别拖拽目标区域 布局层级判定&#xff1a;准确识别第一屏的布局标识 跨屏操作限制&…

Spring Framework 中 BeanDefinition 是什么

BeanDefinition 是 Spring Framework 中一个核心的接口&#xff0c;它描述了一个 Bean 的定义。你可以把它看作是 Spring IoC 容器中 Bean 的“蓝图”或“配置元数据”。它包含了 Spring 容器创建、配置和管理 Bean 所需的所有信息。 BeanDefinition 中包含的信息&#xff1a;…

QtCreator16创建WebAssembly工程在浏览器中显示图片

显示效果&#xff1a; 实现过程&#xff1a; 添加qrc资源文件 输入文件名&#xff1a; 选择模板为Qt Resource File 在工程目录下创建res文件夹&#xff0c;复制图片文件到res中 编辑qrc文件 添加资源前缀 添加图片资源 选择图片资源添加别名 复制资源URL 使用别名调用资源 居…

openpnp - 如果安装面的钣金接触面不平,可以尝试加垫片

文章目录 openpnp - 如果安装面的钣金接触面不平&#xff0c;可以尝试加垫片概述吐槽备注END openpnp - 如果安装面的钣金接触面不平&#xff0c;可以尝试加垫片 概述 在X轴导轨上&#xff0c;架上百分表&#xff0c;打设备的工作平面的平面度&#xff0c;发现工作平面不平(和…

人工智能之数学基础:线性方程组

本文重点 线性方程组是由两个或两个以上的线性方程组成的方程组,其中每个方程都是关于两个或两个以上未知数的线性方程。 记忆恢复 我们先从小学学习的线性方程组找到感觉 解答过程: 将第二个方程乘以2,得到: 2x−2y=2 将第一个方程减去新得到的方程,消去x: (2x+y)−…

DeepSeek-R1思路训练多模态大模型-Vision-R1开源及实现方法思路

刚开始琢磨使用DeepSeek-R1风格训练多模态R1模型&#xff0c;就看到这个工作&#xff0c;本文一起看看&#xff0c;供参考。 先提出问题&#xff0c;仅靠 RL 是否足以激励 MLLM 的推理能力&#xff1f; 结论&#xff1a;不能&#xff0c;因为如果 RL 能有效激励推理能力&#…

鸿蒙NEXT项目实战-百得知识库04

代码仓地址&#xff0c;大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点&#xff1a; 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

免密登录远程服务器shell脚本

一、脚本代码 #!/bin/bash #提示用户输入用户i名和ip地址 read -p "请输入远程服务器的用户名: " hname read -p "请输入远程服务器的IP地址: " fip read -p "请输入远程服务器的远程端口:" sdk #检查是否配置了免密登录 function sfmm(){ …

WiFi 定位技术:守护宠物安全的隐形卫士

一、实时追踪&#xff0c;防患未然 想象一下&#xff0c;活泼好动的猫咪趁你开门瞬间溜出家门&#xff0c;穿梭在楼道杂物间&#xff1b;或是狗狗在户外玩耍时&#xff0c;被突发声响惊吓狂奔&#xff0c;瞬间没了踪影。在这些令人揪心的时刻&#xff0c;WiFi 定位技术就像给宠…

《C#上位机开发从门外到门内》3-2::Modbus数据采集系统

文章目录 **1. 项目概述****1.1 项目背景****1.2 项目目标****1.3 技术栈** **2. 系统架构设计****2.1 系统架构图****2.2 模块功能** **3. 数据采集模块实现****3.1 Modbus协议简介****3.2 数据采集流程****3.3 代码实现** **4. 数据存储模块实现****4.1 数据库设计****4.2 数…

Carto 无尽旅图 for Mac v1.0.7.6 (51528)冒险解谜游戏 支持M、Intel芯片

游戏介绍 《Carto》源于英文"Cartographer"&#xff08;制图师&#xff09;&#xff0c;卡朵不慎坠入未知世界。这里蜿蜒曲折&#xff0c;地形丰富。作为制图师卡朵&#xff0c;你将用你自己的神秘力量&#xff0c;操纵地图颠覆世界&#xff0c;将其翻转、拼合。当世…

点击劫持详细透析

点击劫持&#xff08;Clickjacking&#xff09;是一种前端安全攻击手段&#xff0c;攻击者通过视觉欺骗诱导用户在不知情的情况下点击隐藏的页面元素&#xff0c;从而执行非预期的操作。以下是攻击过程的详细说明&#xff1a; 攻击过程步骤 攻击者构造恶意页面 创建一个恶意网页…

OpenAI--Agent SDK简介

项目概述 OpenAI Agents SDK 是一个轻量级但功能强大的框架&#xff0c;用于构建多智能体工作流。它主要利用大语言模型&#xff08;LLM&#xff09;&#xff0c;通过配置智能体、交接、护栏和跟踪等功能&#xff0c;实现复杂的工作流管理。以下是对其各个部分运行过程和代码流…

【】序列操作

A. Tower 彭教授建造了 n n n 个不同高度的积木塔。其中 i i i 个塔的高度为 a i a_i ai​ 。 寿教授不喜欢这些塔&#xff0c;因为它们的高度太随意了。他决定先移除其中的 m m m 个&#xff0c;然后执行下面的一些操作&#xff08;或不执行&#xff09;&#xff1a; 选…

QwQ-32B 模型结构

QwQ-32B 是一种基于 Transformer 架构 的大型语言模型&#xff08;LLM&#xff09;&#xff0c;由阿里巴巴的 Qwen 团队开发&#xff0c;专注于推理任务。以下是其核心结构和技术特点&#xff1a; 1. 基础架构 Transformer 结构&#xff1a;QwQ-32B 采用多层 Transformer 架构…

【Linux】:自定义协议(应用层)

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家带来应用层自定义协议相关的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通…

【C++】二叉树和堆的链式结构

本篇博客给大家带来的是用C语言来实现堆链式结构和二叉树的实现&#xff01; &#x1f41f;&#x1f41f;文章专栏&#xff1a;数据结构 &#x1f680;&#x1f680;若有问题评论区下讨论&#xff0c;我会及时回答 ❤❤欢迎大家点赞、收藏、分享&#xff01; 今日思想&#xff…

鸿蒙保姆级教学

鸿蒙&#xff08;HarmonyOS&#xff09;是华为推出的一款面向全场景的分布式操作系统&#xff0c;支持手机、平板、智能穿戴、智能家居、车载设备等多种设备。鸿蒙系统的核心特点是分布式架构、一次开发多端部署和高性能。以下是从入门到大神级别的鸿蒙开发深度分析&#xff0c…

关于Docker是否被淘汰虚拟机实现连接虚拟专用网络Ubuntu 22.04 LTS部署Harbor仓库全流程

1.今天的第一个主题&#xff1a; 第一个主题是关于Docker是否真的被K8S弃用&#xff0c;还是可以继续兼容&#xff0c;因为我们知道在去年的时候&#xff0c;由于不可控的原因&#xff0c;docker的所有国内镜像源都被Ban了&#xff0c;再加上K8S自从V1.20之后&#xff0c;宣布…

八股学习-JUC java并发编程

本文仅供个人学习使用&#xff0c;参考资料&#xff1a;JMM&#xff08;Java 内存模型&#xff09;详解 | JavaGuide 线程基础概念 用户线程&#xff1a;由用户空间程序管理和调度的线程&#xff0c;运行在用户空间。 内核线程&#xff1a;由操作系统内核管理和调度的线程&…