Zabbix 自定义监控项之监控 vsftpd

zabbix 提供了很多监控选择,功能丰富,我们还可以根据自定义来监控想要监控一些日常的服务等。

说明:

  此处我们通过监控 ftp (自定义命令),实现如果 ftp 服务挂掉后自动重启,并邮件告警通知。

参考官档:https://www.zabbix.com/documentation/4.0/zh/manual/config/items/userparameters

具体步骤

1)在agent上先测试命令,vsftpd作为一个示例,监控vsftpd是否正常

[root@Srt_Aly_244 ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@Srt_Aly_244 ~]#
[root@Srt_Aly_244 ~]# pgrep -l vsftpd |wc -l [root@Srt_Aly_244 ~]# /etc/init.d/vsftpd stop
Shutting down vsftpd: [ OK ]
[root@Srt_Aly_244 ~]#
[root@Srt_Aly_244 ~]# pgrep -l vsftpd |wc -l

2)通过上面的命令测试发现 pgrep -l vsftpd |wc -l 这条命令结果为 0 时,即表示 vsftpd 挂了。编辑配置文件(放在/etc/zabbix/zabbix_agentd.d目录里面)

# vim /etc/zabbix/zabbix_agentd.d/userparameter_vsftpd.conf
UserParameter=vsftpd.alive,pgrep -l vsftpd |wc -l

3)在 zabbix 服务器端通过 zabbix_get 命令进行测试(结果为 0,表示agent端 vsftpd 服务挂了,为 1 表示 vsftpd 服务正常)

[root@SrtAly120 zabbix]# zabbix_get -s 39.107.xx.xx -k vsftpd.alive

4)在 web 页面创建监控项 (说明:键值处填写自定义的UserParameter=key, key的名字。必须对应)

进入:配置 -> 主机 -> 监控项 -> 创建监控项

5)在 web 页面创建触发器 (说明:监控项选择上面创建的监控项, 功能选择根据上面定义的命令来设置,因为测试结果是当值为 0 时就表示服务down了,所以这里选择最新的t值=0,(就是说最新的t值如果是0,表示服务down了) )

进入:配置 -> 主机 -> 触发器 -> 创建触发器

6)在 web 页面配置动作,配置重启动作(由于使用的 zabbix 用户运行的守护进程,所以zabbix用户执行 /etc/init.d/vsftpd restart命令是没有权限的,所以需要先进行sudo授权)

参考官档:https://www.zabbix.com/documentation/4.0/zh/manual/config/notifications/action/operation/remote_command

[root@Srt_Aly_244 ~]# chmod  /etc/sudoers
[root@Srt_Aly_244 ~]# vim /etc/sudoers
## Allow 'zabbix' user to restart vsftpd without password
zabbix ALL=NOPASSWD: /etc/init.d/vsftpd restart
[root@Srt_Aly_244 ~]# su zabbix
sh-4.1$ sudo /etc/init.d/vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

进入:配置 -> 动作 -> 创建动作

配置恢复操作 + 邮件告警

至此,当我们在 agent 上面停掉 vsftpd 服务,就会触发 zabbix 监控动作自动重启 vsftpd 并邮件告警相应人员。

zabbix--自定义监控项vsftpd的更多相关文章

  1. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  2. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  3. zabbix自定义监控项二

    为zabbix增加支持传参的自定义监控项 例如使用zabbix来监控tcp的12种状态 tcp的12种状态可以通过man netstat来找到,即 LISTEN:等待从任何远端TCP 和端口的连接请求 ...

  4. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  5. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  6. zabbix自定义监控项

    原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...

  7. zabbix 自定义监控项,监控tomcat访问量

    uv:访客量.每个独立上网电脑视为一位访客.pv:访问量.页面浏览量或者点击量,访客每访问一次记录一次. 1.创建文件 /home/zabbix/pvuv_number.sh [ #/bin/bash ...

  8. zabbix 自定义监控项简单案例

    例如:获取被监控主机的登录用户数 以uptime为例: 输入命令:uptime | awk '{print $6}'  可以获得当前登录用户数(不通终端打印出的位置不同) 1.被监控主机修改zabbi ...

  9. zabbix 自定义监控项每隔1分钟检测一次三次失败报警

    在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py auth.check就是之后添加的自定义的item值 ...

  10. zabbix 自定义监控项 获取nginx监控状态

    本篇是基于zabbix 源码安装的 [root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" Acti ...

随机推荐

  1. C语言博客作业04—数组

    0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: (1)数组查 ...

  2. kali linux 更换镜像源

    编辑sources.list文件 leafpad /etc/apt/sources.list #aliyun 阿里云 deb http://mirrors.aliyun.com/kali kali-r ...

  3. python总结四

    sql性能优化的几种方式: 1.查询的模糊匹配: 尽量避免在一个复杂查询里面使用like '%parm%',前面的%会导致相关列的索引无法使用,最好不要用 直接修改后台,根据输入条件,先查出符合条件的 ...

  4. How to convert a std::string to const char* or char*?

    How to convert a std::string to const char* or char*? 1. If you just want to pass a std::string to a ...

  5. vue添加背景音乐

    vue添加背景音乐需要用到HTML中的标签 参考手册:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp *在iOS端autopl ...

  6. k8s安装dashboard

       1.Kubernetes Dashboard 是 k8s集群的⼀个 WEB UI管理⼯具,代码托管在 github 上,地址: https://github.com/kubernetes/das ...

  7. 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境

    <Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...

  8. spark 存取mysql

    1.先上代码,存入mysql val spark = SparkSession.builder() .appName("jdbc") .getOrCreate() import s ...

  9. python实现双向循环链表

    参考https://www.cnblogs.com/symkmk123/p/9693872.html#4080149 # -*- coding:utf-8 -*- # __author__ :kusy ...

  10. C# 填充客户端提交的值到T对象

    /// <summary>      /// 填充客户端提交的值到 T 对象  如appinfo = AppConvert.To<Appinfo>(context.Reques ...