添加主机与主机组

  1. 进入web页面,在 配置-主机群组创建主机群组
  2. 配置-主机新建主机

    • 在可见的名称中建议填写为类似 主机类型-主机名-IP或域名 的格式,如Web-Hyrule001-192.168.233.247
    • 在 群组 中选择之前新建的群组
    • agent代理程序的接口 填写agent端的IP和端口
  3. 创建完成后,如果创建成功,将可以看到下面出现了我们之前创建的主机,并且 状态 提示为绿色的 已启用 字样

配置监控项模板

  1. 配置-主机,点击自己需要配置的主机,如我们上文新建的主机Web-Hyrule001-192.168.233.247。
  2. 在出现的页面中,切换到模板标签页,

    1. 链接指示器 中选择Template OS Linux
    2. 点击添加
    3. 点击更新
  3. 可以看到在我们的主机后面的应用集、监控项、触发器等后面出现了数字,此时zabbix已经开始对该主机进行监控

添加监控项

  1. 配置-主机,点击自己需要配置的主机后面的 监控项,如Web-Hyrule001-192.168.233.247。

  2. 点击右上角的 创建监控项,修改一下内容,其余保持默认

  3. 填写表单

    • 名称 为你希望这个监控项的名字
    • 类型 为你希望使用的监控模式,如默认的 zabbix客户端
    • 键值 为你希望使用的监控工具,如 vfs.file.cksum[file],"[file]"字段修改为文件位置。如 vfs.file.cksum['/Hyrule/zelda']
    • 信息类型 为返回值的类型
    • 更新间隔 为多长时间收集并更新一次数据,太短会对服务器产生负担,一般推荐为30s~60s或5min。改为0可以禁用
    • 自定义时间间隔 可以自定义数据在哪一天进行收集,使用自定义需要禁用 更新间隔。如希望周一到周五每天六点到二十四点每隔一分钟更新一次数据,为 灵活模式 60s 1-5,6:00-24:00
    • 历史数据保留时长 为收集到的数据的保留时间,超过这个时间的数据将会被清除
    • 应用集 为监控的类型,用于对监控项分类,比如可以分类为filesystems
    • 新的应用集 为当 应用集 中没有希望分的类的时候,可以自定义一个分类。
  4. 手动刷新

[root@lynk ~]# zabbix_get -s 目标主机的ip地址 -k 监控项键值

添加触发器

如果仅仅是添加了监控项,zabbix并不会在出现问题的时候提醒我们,我们需要添加一个触发器才能实现让zabbix提醒我们。

  1. 配置-主机,点击自己需要配置的主机后面的 触发器,如Web-Hyrule001-192.168.233.247。

  2. 点击右上角的 创建触发器,修改以下内容,其余保持默认

    • 名称 为报警时的提示信息
    • 严重性 为显示的颜色
    • 表达式 为触发器的公式,点开add
      • 监控项 为需要要对哪个监控项进行告警
      • 功能 为使用的函数
  3. 重启zabbix服务

#重启服务端
[root@lynk ~]# pkill zabbix
[root@lynk ~]# zabbix_server
[root@lynk ~]# zabbix_agentd
#重启客户端
[root@Hyrule001 ~]# pkill zabbix
[root@Hyrule001 ~]# zabbix_agentd

自定义监控

进程监控

  1. 修改agent端的配置文件
[root@localhost Hyrule]# vim /usr/local/etc/zabbix_agentd.conf
#修改UnsafeUserParameters=1
#在最后添加UserParameter=<key>,<shell command>,如
UserParameter=check_apache,/scripts/check_process.sh httpd #重启客户端
[root@Hyrule001 ~]# pkill zabbix
[root@Hyrule001 ~]# zabbix_agentd
  1. 编写脚本
[root@Hyrule001 Hyrule]# mkdir /scripts
[root@Hyrule001 Hyrule]# vim /scripts/check_process.sh
[root@Hyrule001 Hyrule]# chown zabbix.zabbix /scripts/check_process.sh
[root@Hyrule001 Hyrule]# chmod 777 /scripts/check_process.sh

脚本示例

#!/bin/bash
a=$(ps -ef|egrep -v "grep|$0"|grep $1|wc -l)
if [ $a -eq 0 ];then
echo 1
else
echo 0
fi
  1. 在服务端手动刷新测试是否能检测到
[root@lynk ~]# zabbix_get -s 192.168.233.247 -k check_apache
  1. 添加监控项

  2. 添加触发器

  3. 重启服务

邮件告警

#关闭postfix服务
[root@lynk ~]# systemctl stop postfix
[root@lynk ~]# systemctl disable postfix
#安装mailx
[root@lynk ~]# yum install -y mailx
#配置mailx
[root@lynk ~]# cat >> /etc/mail.rc <<EOF
set from=发送方邮箱地址,如youxiang@xxx.com
set smtp=smtp服务器地址,如smtp.youjian.com
set smtp-auth-user=登录邮箱用的用户名
set smtp-auth-password=登录邮箱用的密码或授权码
set smtp-auth=login
EOF [root@lynk ~]# echo 'zabbix mail test'|mail -s 'zabbix' 接收邮件用的邮箱地址
  1. 管理-报警媒介类型创建报警媒介类型

  2. 管理-用户,选择 报警媒介 标签页,添加

  3. 配置-动作创建动作
    1. 填写内容

    2. 选择 操作 标签页,添加 操作

    3. 选择 恢复操作 标签页,配置当问题被解决后发送的邮件,添加 操作

    4. 选择 更新操作 标签页,配置当问题发生更新后发送的邮件,该内容可以不进行配置。
  4. 配置脚本
[root@lynk ~]# mkdir /usr/local/etc/alertscripts
[root@lynk ~]# vim /usr/local/etc/zabbix_server.conf
#搜索AlertScriptsPath,按如下内容添加
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lcoal/etc/alertscripts
#编写之前在报警媒介类型中设置的mail.sh
[root@lynk ~]# vim /usr/local/etc/alertscripts/mail.sh
#!/bin/bash
message=$3
subject=$2
echo "$message"|mail -s "$subject" $1
#给脚本运行权限
[root@lynk ~]# chmod +x /usr/local/etc/alertscripts/mail.sh
[root@lynk ~]# chown -R zabbix.zabbix /usr/local/etc/alertscripts
#重启zabbix
[root@lynk ~]# pkill zabbix
[root@lynk ~]# zabbix_server
[root@lynk ~]# zabbix_agentd
  1. 测试触发告警

zabbix监控配置与邮件告警的更多相关文章

  1. 05: zabbix 监控配置

    目录:zabbix其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项. ...

  2. zabbix监控配置一般流程

    目录 zabbix监控配置流程 1. 配置客户端 2. 配置监控 2.1 创建主机组 2.2 添加主机并加入主机组 2.3 添加监控项 2.3.1 模板的方式(不用添加触发器) 2.3.2 手动添加的 ...

  3. Zabbix 配置Python邮件告警

    1.首先你应该注册一个163邮箱,用于发信,再注册时开启SMTP/POP3功能,使用加密密码认证. 2.在Zabbix主机上新建send.py文件,将以下代码复制编辑,设置发件用户.密码. [root ...

  4. Zabbix监控配置

    Zabbix在线文档 https://www.zabbix.com/documentation/4.0/zh/manual/config/hosts 1.我们启动服务后,我们看到了端口都正在监听,但是 ...

  5. influxDB+grafana安装配置及邮件告警发送配置

    1. InfluxDB安装 下载包并解压: $:wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.3.6_linux_amd64.t ...

  6. zabbix 监控报警详细邮件内容

    AlarmHost:{HOSTNAME1} AlarmTime:{EVENT.DATE} {EVENT.TIME} AlarmLevel:{TRIGGER.SEVERITY} AlarmMessige ...

  7. zabbix邮件告警之 通过shell脚本发送告警

    说明:本文讲如何通过shell脚本实现zabbix发送告警邮件,共有5步1.设置mailx账号:是配置mailx的发信账号2.zabbix服务器端编写邮件发送脚本:是增加zabbix的告警方式,增加通 ...

  8. 【zabbix告警配置】zabbix服务配置邮件告警

    一.安装邮件服务 在zabbix_server服务端安装邮件和邮件发送服务,这里可以参考我另一篇邮件服务部署文章:https://www.cnblogs.com/HeiDi-BoKe/p/118833 ...

  9. ES7.3.0配置邮件告警

    情况说明: 三台es组成集群,一台kibana,版本均为7.3.0 es版本要求是白金版,基础版的不行,不过可以试用30天的白金版 步骤:先说我自己走通的流程,然后介绍官方说明 1.因为我这边使用的是 ...

随机推荐

  1. 使用Feign调用服务的问题

    最近在搞微服务的东西,系统A提供了一个服务,定义方式: @RequestMapping(value = "/hasSuberList", method = RequestMetho ...

  2. JS sort() 方法

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. array.s ...

  3. django之缓存的用法, 文件形式与 redis的基本使用

    django的缓存的用法讲解 1. django缓存: 缓存的机制出现主要是缓解了数据库的压力而存在的 2. 动态网站中,用户的请求都会去数据库中进行相应的操作,缓存的出现是提高了网站的并发量 3. ...

  4. django原生sql查询如何返回字典格式

    django原生sql查询,默认返回的是元祖.如果想返回字典格式,需要自行封装: http://www.360doc.com/content/17/0802/11/9200790_676042880. ...

  5. abaqus2016安装过程中出现error:unable to add abaqus command directory to PATH variable

    请问abaqus2016安装过程中出现error:unable to add abaqus command directory to PATH variable是什么原因,怎么解决啊,总是安装失败 这 ...

  6. Java解法-两数相加(Add Two Numbers)

    问题  给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. ...

  7. js自动时间

    function showTime() { //时间 nowtime = new Date(); year = nowtime.getFullYear(); month = nowtime.getMo ...

  8. infinite-loading 插件

    <template> <div id="cart" class="has-top"> <!-- <v-header titl ...

  9. Tensorflow的验证码识别

    最近在弄深度学习,从网上找了一些资料.这是基于Tensorflow的深度学习的验证码识别.https://cuijiahua.com/blog/2018/01/dl_5.html http://blo ...

  10. python 网络编程粘包解决方案2 + ftp上传 + socketserver

    一.struct 神奇的打包工具 struct 代码: import struct num = 156 #将int类型的数据打包成4个字节的数据 num_stru = struct.pack('i', ...