前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix的架构配置选项(二)

Zabbix的架构配置选项(二)

作者头像
老七Linux
发布2018-05-09 16:53:27
6650
发布2018-05-09 16:53:27
举报
一、添加自定义监控项目

回顾一下:(配置监控模板)

配置 → 模板

Zabbix的特色:我们有时候会根据业务需求配置一些个性化的需求服务去监控某台web的80端口连接数,并整出监控状态图:

  1. zabbix监控中心创建监控项目;
  2. 针对该监控项目以图形展现;

1.1 需要到客户端定义脚本:

# vim /usr/local/sbin/estab.sh 
//内容如下

#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

给脚本授权:

# chmod 755 /usr/local/sbin/estab.sh

# vim /etc/zabbix/zabbix_agentd.conf
//增加

UnsafeUserParameters=1  //表示使用自定义脚本

UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
//自定义监控项的key为my.estab.count(也就是在监控项中需要填写的键值),后面的[*]里面写脚本的参数,如果没有参数则可以省略,如果有需要用逗号分隔,脚本为/usr/local/sbin/estab.sh

重启客户端的zabbix服务:

# systemctl restart zabbix-agent

1.2 到服务端验证,执行命令:

# zabbix_get -s 192.168.59.133 -p 10050 -k 'my.estab.count'
0

-s:源地址
-p: 端口
-k: 键值

如上显示0即为没有任何连接。

出现的问题:

  1. 关闭iptables
  2. 关闭selinux

1.3 但是这不是我们需要的效果,效果是我们需要在web页面去随时查看:

配置 → 主机 → 监控项 → 创建监控项

mark
mark

其它项默认即可,如有需求按照现场需求定制。

来配置一个图形:

“配置”→“主机” →“图形” → 创建图形”

mark
mark

添加该项目后,到“监测中” → “最新数据”查看刚添加的项目是否有数据出现 有了数据就可以添加图形了

mark
mark

顺便我们也可以创建一个触发器:

mark
mark

二、配置邮件告警

配置告警是目前绝大多数企业必须要有的一个状态,遇到问题第一时间获得警告大大提升了运维的高效性,如果没有配置任何告警,等待客户反应,这是一个非常不明智的选择。

建议配置一个163邮箱,然后邮箱绑定微信,在遇到故障的第一时间就可以收到告警邮件。(QQ邮箱之前绑定的wordpress已经被QQ拉为黑名单了,不建议使用)

2.1 在开始前,一定要把这两项开启:

mark
mark

2.2 编辑报警媒介

登录web管理界面:

管理 → 报警媒介类型 → 创建媒体类型(不建议用自带的,不好用)

脚本名称一定要用自己自定义的!!!

mark
mark

脚本参数(不然不可以发邮件):

{ALERT.SENDTO} //发给谁

{ALERT.SUBJECT} //主题

{ALERT.MESSAGE} //邮件内容

2.3 写一个报警的邮件脚本:

在服务端配置:

下载安装sendEmail邮件包

[root@zhdy-04 ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

[root@zhdy-04 ~]# tar xvf sendEmail-v1.56.tar.gz 

[root@zhdy-04 ~]# cp -a sendEmail-v1.56/sendEmail /usr/local/bin/

[root@zhdy-04 ~]# ll /usr/local/bin/sendEmail 
-rwxr-xr-x 1 root root 80213 Sep 30  2009 /usr/local/bin/sendEmail
# vim /usr/lib/zabbix/alertscripts SendEmail.sh

脚本为什么放在这边呢?因为咱们在配置文件中=vim /etc/zabbix/zabbix_server.conf有个参数 AlertScriptsPath=/usr/lib/zabbix/alertscripts 定义了位置。

#!/bin/bash
SMTP_server='smtp.163.com'    # SMTP服务器
username='[email protected]'     # 邮箱用户名
password='*****'             # 邮箱密码
from_email_address='[email protected]' # 发件人Email地址
to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数
message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数
 
# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
 
# 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
 
# 发送邮件
sendEmail='/usr/local/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
[root@zhdy-04 ~]#  chmod 755 /usr/lib/zabbix/alertscripts/SendEmail.sh 

[root@zhdy-04 ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/SendEmail.sh

[root@zhdy-04 ~]# touch /tmp/Email.log 

[root@zhdy-04 ~]# chown zabbix:zabbix /tmp/Email.log 

[root@zhdy-04 ~]# systemctl restart zabbix-server

测试:

[[email protected] alertscripts]# sh SendEmail.sh [email protected]163.com 测试邮件  嗯测试邮件
Sep 12 17:42:38 zhdy-04 sendEmail[62400]: Email was sent successfully!

正常收到邮件。

mark
mark

2.4 创建运维人员的邮箱,接受报警邮件

“管理”,“用户”,“创建用户”,

mark
mark

“报警媒介”,类型选择“报警error”,

mark
mark

关于权限选项,我们先保存当前的配置,然后进入用户群组 → Zabbix administrators → 权限

为了防止发生错误,暂时先选择全部用户。千万不要忘记点击添加

mark
mark

然后下一步,万事俱备,就差预警了。

“配置”,“动作”,“创建动作”,名称写“sendmail”(自定义),“操作”页面,内容如下

mark
mark
mark
mark
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
mark
mark

记得一定要点击添加按钮 不然全部都不会保存!!!

mark
mark

最后一个选项“恢复操作” :意思是,如果遇到问题,我们已经解决了,恢复了,状态全部正常了,我们也需要配置一下。

mark
mark

“恢复操作”,把信息改成如下:

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
三、验证配置:

开始搞事情~

配置 → 主机 → 触发器 → 创建触发器

条件是,并发数小于5,咱们的虚拟机压根就没有任何人去访问,所以轻轻松松报警。

mark
mark

点击添加,我们等着就可以了。

可以根据如下去调节监控间隔时长,真实环境不建议这样设置。(会造成服务器负载过高,有些必要的监控项可以设置)

mark
mark

稍微等个30秒 出现如下:

mark
mark

mark
mark
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/09/11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、添加自定义监控项目
  • 二、配置邮件告警
  • 三、验证配置:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档