当前登陆终端用户的数量不能超过2个,如果超过两个zabbix就通过触发器进行报警
一.、客户端编辑zabbix-agent配置文件/etc/zabbix/zabbix_agentd.conf 自定义一个key
Include=/etc/zabbix/zabbix_agentd.conf.d/
UnsafeUserParameters=1 #是否允许自定义脚本传递特殊字符作为参数,通常不用开,0关,1开
二、在zabbix_agentd.conf.d中添加自己加入的字段 usernumber.conf
UserParameter=User,/usr/bin/w | awk 'NR==1{print $6}
### awk 'NR==1{print $1}'
### NR==1 定位在file的第一行
### print $1 显示第六列内容
三、在服务端验证客户端定义的Key
### 先在客户端agent重启
centos6重启为:
/etc/init.d/zabbix_agentd restart
centos7重启为:
systemctl restart zabbix-agent
#服务端验证客户端定义的key是否能够获取到
#zabbix_get用法:
#zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key
zabbix_get -s 192.168.1.202 -p 10050 -k User
# -p 端口可以省略
zabbix_get -s IP -k User
在zabbix web界面添加Key
具体界面配置可参考
https://blog.51cto.com/10802692/2164294
邮件和企业微信通知
具体可参考
https://www.cnblogs.com/ultranms/p/9111133.html
python脚本邮件和企业微信发送告警通知
在路径:/etc/zabbix/alertscripts 中编写发送邮件和企业微信的脚本,注意加上执行权限
#!/usr/bin/env python
#coding:utf8
# 导入 smtplib 和 MIMEText
import sys
import smtplib
from email.mime.text import MIMEText
sys.setrecursionlimit(100000)
# 发送邮件函数
def send_mail(to_list, sub,context):
me = '运维告警中心non' + "<" + mail_user + ">"
msg = MIMEText(context)
msg['Subject'] = sub
msg['From'] = me
msg['To'] = "".join(to_list)
try:
send_smtp = smtplib.SMTP()
send_smtp.connect(mail_host)
send_smtp.login(mail_user, mail_pass)
send_smtp.sendmail(me, to_list, msg.as_string())
send_smtp.close()
return True
except Exception, e:
print str(e)
return False
# 设置服务器名称、用户名、密码以及邮件后缀
mail_host = "服务器名称"
mail_user = "用户名"
mail_pass = "密码"
mailto_list = sys.argv[1]
sub= sys.argv[2]
context=sys.argv[3]
if send_mail(mailto_list,sub,context):
print "Send mail succed!"
else:
print "Send mail failed!"
第一步,管理-——>报警媒介类型——>创建媒体类型