我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何配置验证zabbix执行远程命令

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何配置验证zabbix执行远程命令

这篇文章主要介绍如何配置验证zabbix执行远程命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一.环境

Server:基于CentOS-7-x86_64-1511;

Zabbix:zabbix-3.0.1server/agent。

二.注意事项

一些能想到的比较重要的注意事项: 1.远程执行命令是server端向agent端执行,不支持主动模式的agent; 2.不支持代理模式; 3.zabbix用户必须对命令具有执行权限,可以使用sudo赋予root权限(配置sudo无密码方式);

远程命令只是执行,执行成功与否并不检测并确认,可在" Monitoring-->Events"中查看action执行时,或在"Reports-->Action log"中查看远程命令是否执行成功(成功为" Executed")。

三.示例

通过一个简单的示例验证:

监控服务器实时在线的用户不超过2个,超过阀值时报警,并执行命令,强制使第3个登录用户下线,以使监控项在阀值以下。

设置Trigger

Configuration-->Templates-->选择” Template OS Linux”模板的”Triggers”-->Create trigger

#trigger name自定义,可使用宏

Name:User login number gt 2 on {HOST.NAME}

Expression:{Template OS Linux:system.users.num.last()}>2

#可以点击"Expression"项后的"Add",使用zabbix自带的Item + Function设置阀值的表达式,如下:

如何配置验证zabbix执行远程命令

#自定义的级别

Severity:Warning

如何配置验证zabbix执行远程命令

其余默认值即可,设置完成后点击"Add"即完成。

远程命令开关

1

2

3

4

5

#agent默认不支持执行远程命令,需要在agent的配置文件中打开此参数;

#agent.conf文件路径根据实际情况修改,这里是编译安装后自定义的路径,请见http://www.cnblogs.com/netonline/p/7406598.html

#agent.conf文件修改后需要重启进程。

[root@localhost ~]# sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf

[root@localhost ~]# service zabbix_agentd restart

设置Action

Configuration-->Actions-->Create action

Action

在Action选项中,定义Name:Limit the number of online users no more than 2

#action name自定义即可,action选项的其余部分可采用默认值,如下:

如何配置验证zabbix执行远程命令

Conditions

在Conditions选项中添加新的条件判断,以使判断更有针对性,如:

New condition:Trigger severity = Warning

New condition:Trigger name like User login number gt 2

#trigger name对应步骤1中定义的trigger name,如下:

如何配置验证zabbix执行远程命令

Operations

在Operations选项中,添加新的"Action operation",点击"New",

Operation type:选择"Remote Command"

Target list:添加target为"Current host" #agent在本机

Type:选择"Custom script"

Execute on:选择"Zabbix agent",命令为"

1

2

3

4

5

6

7

[root@host-192-125-31-244 zabbix_scripts]# cat restart_weblogic_7001.sh 

#!/bin/bash

#####stop weblogic 7006########

pid=`ps -ef|grep base_domain7006 |grep -v grep|awk '{print $2}'`

ps -ef|grep $pid

ps -ef|grep $pid|grep java|awk '{ print $2 }'|xargs kill -9 |echo "kill weblogic 7006 !!!"

####start weblogic 7006#######

sh /weblogic/bin/start7006.sh &

 

[root@localhost ~]# chmod 777 restart_weblogic_7001.sh

5. 配置sudo

#授予zabbix账号sudo无密码执行命令的权限,如果为了安全性,可将最后一个"ALL"定义为具体的命令; #或在步骤4中将脚本owner修改为zabbix,并具有执行权限,但要注意脚本放置目录对zabbix账户开放可执行权限甚至可写权限,这样步骤3中脚本也不需要sudo赋予权限 [root@localhost ~]# visudo

zabbix ALL=NOPASSWD: ALL

6. 验证

远程登录主机第3个tty,不在CLI下做其他任何操作,触发trigger阀值,触发命令动作强制第3个登录用户下线。

如何配置验证zabbix执行远程命令

从截图可以看到,在线用户超过阀值,trigger为"PROBLEM"状态只持续了1分钟左右,即恢复到"OK"状态,表明强制第3个用户下线的脚本命令已执行,并且执行成功。

如何配置验证zabbix执行远程命令

从" Number of logged in users" Item的历史数据中也可看到trigger触发时,第3个登录用户即被下线。

如何配置验证zabbix执行远程命令

在登录的第3个tty下,可看到连接由主机自行中断(显示本地时间,与上图的主机时间有偏差)。

以上是“如何配置验证zabbix执行远程命令”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何配置验证zabbix执行远程命令

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何配置验证zabbix执行远程命令

这篇文章主要介绍如何配置验证zabbix执行远程命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一.环境Server:基于CentOS-7-x86_64-1511;Zabbix:zabbix-3.0.1server
2023-06-05

如何在Zabbix中配置远程命令执行

在Zabbix中配置远程命令执行可以通过以下步骤实现:登录到Zabbix的Web界面,在主菜单中选择“Administration”选项。在左侧导航栏中点击“Media types”选项,在页面右上角点击“Create media type
如何在Zabbix中配置远程命令执行
2024-03-13

如何进行JMeter配置远程执行

如何进行JMeter配置远程执行,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在对容器技术相关的各个组件进行压力测试时,我们选用JMeter作为压测工具,分别对
2023-06-19

如何远程执行Linux脚本和命令

小编给大家分享一下如何远程执行Linux脚本和命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于 paramiko 安装直接 pip 或者 PyCharm 这
2023-06-16

如何在shell中使用expect命令进行远程执行命令脚本

如何在shell中使用expect命令进行远程执行命令脚本?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。expect是用来实现自动交互功能的工具之一,使用expect-send
2023-06-09

Linux命令行如何配置Wi-Fi

这篇文章主要为大家展示了“Linux命令行如何配置Wi-Fi”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux命令行如何配置Wi-Fi”这篇文章吧。目标:仅使用命令行工具来配置 WiFi发
2023-06-16

如何配置C#命令行编译器

这篇文章主要介绍了如何配置C#命令行编译器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.配置C#命令行编译器:我的电脑 —〉高级 —〉环境变量 —〉Path —〉添加";
2023-06-17

shell脚本如何实现同时多台远程主机执行命令

这篇文章主要介绍shell脚本如何实现同时多台远程主机执行命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现需求在对单台机器做操作时我们会用“ssh ip”的方式登录到机器上,可以写这样一个工具vssh ip1,
2023-06-09

linux中ssh_scan如何远程验证SSH服务的配置和策略

这篇文章主要为大家展示了“linux中ssh_scan如何远程验证SSH服务的配置和策略”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中ssh_scan如何远程验证SSH服务的配置和策
2023-06-16

Weblogic如何修复"Java反序列化"过程远程命令执行漏洞

小编给大家分享一下Weblogic如何修复"Java反序列化"过程远程命令执行漏洞,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.查找文档说明,在https://support.oracle.com上找到补丁的说明文档如
2023-06-04

python基于paramiko库远程执行 SSH命令如何实现sftp下载文件

小编给大家分享一下python基于paramiko库远程执行 SSH命令如何实现sftp下载文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!楔子我们使用 Pyt
2023-06-07

(Redis基础教程之十三) 如何从命令行更改Redis的配置

如何使用本指南本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。本指南中显示的命令已在运行Redis版本4.0.9的Ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何在Ubuntu 18.0
(Redis基础教程之十三) 如何从命令行更改Redis的配置
2015-06-15

Fedora中apache如何安装配置使之执行cgi程序

小编给大家分享一下Fedora中apache如何安装配置使之执行cgi程序,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1,安装Fedora apache 首先到Fedora apache的主页下载***版本的Fedora
2023-06-16

SUSE系统中如何设置用户登录后自动执行的命令

要在SUSE系统中设置用户登录后自动执行的命令,可以按照以下步骤进行操作:打开终端,并以root用户身份登录。编辑/etc/profile文件,可以使用vi或者其他文本编辑器打开该文件。vi /etc/profile在文件中添加需要执行的命
SUSE系统中如何设置用户登录后自动执行的命令
2024-03-13

如何实现linux下使用ssh远程执行命令批量导出数据库到本地

这篇文章主要介绍“如何实现linux下使用ssh远程执行命令批量导出数据库到本地”,在日常操作中,相信很多人在如何实现linux下使用ssh远程执行命令批量导出数据库到本地问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
2023-06-09

Linux系统如何使用fork命令创建子进程执行任务

小编给大家分享一下Linux系统如何使用fork命令创建子进程执行任务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!fork 系统调用要创建一个进程,最基本的系统调用是 fork: # include pid_t fork
2023-06-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录