zabbix-sender+crontab+nc实现无agent监控linux主机(二十六)

简介: zabbix-sender+crontab+nc实现无agent监控1.zabbix-sender介绍zabbix获取监控项值的每隔多少时间去主机上去取,有的自定义监控项脚本需要执行很长的时间,有时候根本没法监控,这时就可以用zabbix-sender直接给zabbix-server发送数据,不需要等待脚本取值的时间,也就是说脚本什么时候执行完,将执行的结果通过zabbix-sender直接给zabbix-server发送数据,zabbix-server也就不需要等待了

zabbix-sender+crontab+nc实现无agent监控

1.zabbix-sender介绍

zabbix获取监控项值的每隔多少时间去主机上去取,有的自定义监控项脚本需要执行很长的时间,有时候根本没法监控,这时就可以用zabbix-sender直接给zabbix-server发送数据,不需要等待脚本取值的时间,也就是说脚本什么时候执行完,将执行的结果通过zabbix-sender直接给zabbix-server发送数据,zabbix-server也就不需要等待了

zabbix-sender的效率更高,同时如果想把所有监控项都做成zabbix-sender,难度将非常大,另外zabbix-sender也可以发送假值

2.在被控端安装zabbix-sender

1.准备zabbix源
[root@192_168_81_170 ~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@192_168_81_170 ~]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm 
[root@192_168_81_170 ~]# vim /etc/yum.repos.d/zabbix.repo 
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
2.安装zabbix-sender
[root@192_168_81_170 ~]# yum -y install zabbix-sender

3.使用zabbix-sender给zabbix-server发生监控信息

3.1.zabbix-sender命令语法

zabbix-sender -z zabbix-server地址 -s 本机地址 -k 监控项名称 -o 监控值

-z:指定zabbix server服务器

-s:指定监控主机的地址,一般就是本机地址

-k:监控项名称

-o:监控项的值

3.2.在zabbix-server创建一个avalimem的监控项

点击创建监控项

名称:avalimem

类型:zabbix采集器 #这里类型一定要选择zabbix采集器

键值:avalimem

3.3.使用zabbix-sender模拟发送监控指标

模拟发送

[root@192_168_81_170 ~]# zabbix_sender -z 192.168.81.250  -s 192.168.81.170 -k avalimem -o 666
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000190"
sent: 1; skipped: 0; total: 1

查看页面最新数据,已经成功发送

4.编写取值脚本并配置crontab自动发送监控数据

4.1.编写脚本并配置计划任务

[root@192_168_81_170 scripts]# vim availmem.sh
#!/bin/bash
mem=`free -m | awk '/^Mem/{print $NF}'`
zabbixserver=192.168.81.250
host=192.168.81.170
key=avalimem
zabbix_sender -z $zabbixserver  -s $host -k $key -o $mem
[root@192_168_81_170 scripts]# crontab -e
* */5 * * * /etc/zabbix/scripts/availmem.sh

4.2.查看监控数据

已经更新了模拟数据

5.利用nc替代zabbix-sender发送监控指标

1.编写nc脚本
[root@192_168_81_170 scripts]# vim zabbix_sender.sh 
#!/bin/bash
host=$1
item=$2
value=$3
echo '{"request" :"sender data","data":[{"host":'\"$host\"',"key":'\"$item\"',"value":'\"$value\"'}]}'|nc 192.168.81.250 10051 && echo ""
2.调用nc脚本取值
[root@192_168_81_170 scripts]# vim availmem.sh 
#!/bin/bash
mem=`free -m | awk '/^Mem/{print $NF}'`
zabbixserver=192.168.81.250
host=192.168.81.170
key=avalimem
/etc/zabbix/scripts/zabbix_sender.sh  $host  $key  $mem
3.执行脚本
[root@192_168_81_170 scripts]# sh availmem.sh
4.执行脚本后观察页面数据

目录
相关文章
|
存储 Ubuntu Linux
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
|
Ubuntu Linux 网络安全
如何在Linux中更改主机名?修改主机名最新方法
本期教程将指导您如何在Linux系统中更改主机名。主机名是Linux系统的常用功能,用于识别服务器,帮助区分不同服务器,并与网络进程和其他应用程序协同工作。教程涵盖显示当前主机名的方法(通过`hostname`命令),以及在CentOS 7、Debian 9和Ubuntu 16.04及以上版本中更改主机名的步骤(使用`hostnamectl set-hostname`命令)。对于其他Linux版本,可编辑`/etc/hostname`文件实现更改。记得重启相关服务或服务器以使更改生效!
3210 12
|
安全 网络协议 Linux
结合 `nc` 工具利用笑脸漏洞(Smile Bug)攻击 Metasploitable2 Linux
本文介绍如何使用 `nc`(Netcat)工具结合笑脸漏洞(Smiley Bug)攻击 Metasploitable2 Linux 靶机。首先概述了 `nc` 的基本功能和高级用法,包括建立连接、监听端口、文件传输等操作。接着详细描述了笑脸漏洞的原理及其在网络攻防中的应用,展示了通过 `nc` 发送恶意输入检测漏洞的方法。最后结合 Python 脚本实现更复杂的攻击场景,并强调了合法性和环境隔离的重要性。
733 13
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
1685 7
|
Linux
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
2991 5
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
672 1
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
网络协议 Linux 网络安全
在Linux中,如何将本地 80 端口的请求转发到 8080 端口?当前主机 IP 为10.0.0.104。
在Linux中,如何将本地 80 端口的请求转发到 8080 端口?当前主机 IP 为10.0.0.104。
|
Linux 开发工具 文件存储
Linux修改主机名的两种方法
Linux修改主机名的两种方法
1032 0
|
网络协议 Ubuntu Linux
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。

热门文章

最新文章