• zabbix使用自定义监控项进行监控


    我的zabbix-server是安装在另一台虚拟机上的,用来监控下图中的这台虚拟机
    先修改zabbix的客户端配置文件,增加UserParameter那行,这里我只是用来测试,所以就随便起了一个名为ping的key,重启zabbix客户端
    其中ping是key的名字,后面的echo 99是执行的命令。本来想换一个命令的,发现不知道换什么其它的命令,先大概知道一下自定义key的用法算了
    进入zabbix给已经被监控的主机增加一个item,如图,key那里可以直接写刚才定义的那个key名ping,其它地方照着写,或者默认就可以了
    这里写图片描述

    然后在lastdata那里查看这个item的数据,可以看到,一直显示打印出来的值99
    这里写图片描述

    下面我们可以尝试使用自定义脚本配置自定义监控项

     修改agent配置文件

    配置文件路径/usr/lib/tmpfiles.d/zabbix-agent.conf,如不是该路径,可直接find查找。

    首先zabbix_agent的server相关的ip需要从127改为具体ip。同时修改以下两个参数

    UnsafeUserParameters=1#允许使用用户自定义参数

    UserParameter=sshattacktime,sudo /root/test/sshattacktimes.sh#定义一个sshattacktime键值,对应的脚本为sshattacktimes.sh,使用绝对路径。需要加sudo,否则会提示没有权限

    因为使用sudo,所以我们还需要修改一下sudoers配置文件。NOPASSWD是因为我们的Zabbix是没有登录shell的,也就是没有密码的,添加这个参数后,就可以跳过密码正常执行

     

     

     

    重启zabbix-agent

    在服务器端上测试是否可以正常获取到数据zabbix_get -s 127.0.0.1 -p 10050 -k 'sshattacktime'

    zabbix_get命令是在server端用来检查agent端的一个命令。

    这里我因为服务器端和客户端都在同一台服务器上,所以写了127.0.0.1,但是这种情况下写本地的实际ip会报错,这个要注意。实际情况下-s后应该写客户端的ip,-p指端口,-k指键值,也就是我们上面UserParameter后定义的sshattacktime

    补充: 发现一条比较实用的命令,可以用来检测mysql是否正在运行
    mysqadmin -uroot -p ping |grep alive
    来看一下

    [root@localhost ~]# mysqladmin -uroot -p ping |grep -c alive   #管道前一部分是用来检测mysql是否运行的,感觉这条语句很机智
    Enter password: 
    1                                 
    

    扩展一下

    这里写图片描述

  • 相关阅读:
    (转)iOS-Runtime知识点整理
    iOS开发--SQLite重要框架FMDB的使用
    iOS开发--数据库管理CoreData的使用
    iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
    【导航条滚动透明】一个分类搞定
    成熟的程序员应该掌握的4个知识点
    iOS开发之浅谈MVVM的架构设计与团队协作
    Leetcode-One Edit Distance
    Leetcode-Read N Characters Given Read4 II
    Leetcode-Read N Characters Given Read4
  • 原文地址:https://www.cnblogs.com/biaopei/p/7730482.html
Copyright © 2020-2023  润新知