思路:
获取对应的授权————>创建一些列监控配置————>进行测试
一、邮箱报警
以163邮箱为例子
登录邮箱获取授权码
登录163邮箱
获取授权码
打开stmp服务
新增授权码
发送短信获取授权码
这里的你的授权码跟我的不一致
这里就是刚才新增的记录
测试是否能发送邮件
1.安装测试邮件的软件包
yum install mailx -y
2.关闭postfix服务
systemctl stop postfix #利用公网邮件服务器发送报警需要关闭postfix服务
3.配置公网信息
vim /etc/mail.rc
set from=[邮箱地址]
set smtp=smtp.163.com
set smtp-auth-user=[邮箱地址]
set smtp-auth-password=[邮箱授权码] <---刚才记在邮箱中获取的授权码不是邮箱密码
set smtp-auth=login
4.测试发送邮件
方式一:
echo "[正文内容]" | mailx -s "[邮件标题]" [收件箱Email]
方式二:
mailx -s "[邮件标题]" [收件箱Email]
[内容]
EOT <-- crtl+D正常结束 会出现EOT
5.查看邮箱是否收到
tips:
set from=[邮箱地址] #从哪个邮箱发送
set smtp=smtp.163.com #使用的邮箱stmp服务(网上可以搜)
set smtp-auth-user=[邮箱地址] #邮箱的作者邮箱一般与第一个一致
set smtp-auth-password=[邮箱授权码] #邮箱的授权码
set smtp-auth=login
创建报警媒介和报警脚本
检查报警脚本存放位置
vim /etc/zabbix/zabbix_server.conf
创建脚本
1.编辑脚本
vim /usr/lib/zabbix/alertscripts/sendmail.sh
内容:
#!/bin/bash
#export.UTF-8
echo "$3" | sed s/'\r'//g | mailx -s "$2" $1
2.修改属组属主和添加权限
chown zabbix.zabbix sendmail.sh
chmod +x sendmail.sh
tips:
$3 填写内容
$2 填写主题
$1 填写收件人
创建报警媒介1--脚本
填写报警媒介的信息
添加模版(问题模版和恢复模版)
中文消息模版:
主机: {HOST.NAME1}
时间: {EVENT.DATE} {EVENT.TIME}
级别: {TRIGGER.SEVERITY}
触发: {TRIGGER.NAME}
详情: {ITEM.NAME1}:{ITEM.KEY1}:{ITEM.VALUE1}
状态: {TRIGGER.STATUS}
项目:{TRIGGER.KEY1}
事件ID:{EVENT.ID}
创建报警媒介2--无脚本
创建完成之后不需要使用脚本即可直接发送邮件下面的配置一致样照着后面做即可
修改用户的报警媒介
这里我直接给admin了
创建监控项
创建触发器
以80端口为例zabbix-node1添加
创建动作
测试
zabbix-node1:
systemctl stop httpd
zabbix-node1:
systemctl start httpd
二、钉钉报警
安装Python3环境
1.安装编译环境
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel readline patch
2.安装安装包
cd /usr/local
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz
tar xvf Python-3.6.7.tgz
3.创建所需目录
mkdir -p /usr/local/python3
cd /usr/local/Python-3.6.7
4.编辑配置文件:
vim/usr/local/Python-3.6.7/Modules/Setup.dist
打开注释:
readline readline.c -lreadline -ltermcap
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
5.进行编译安装
cd /usr/local/Python-3.6.7
./configure --enable-shared --prefix=/usr/local/python3
make -j 2 && make install
tips:
-j 指定内核数
6.配置文件共享库
vim /etc/profile.d/python3.sh
添加:
export PATH=$PATH:/usr/local/python3/bin
vim /etc/ld.so.conf.d/python3.conf
添加:
/usr/local/python3/lib
7.生效配置文件
ldconfig 加载配置信息使其生效
source /etc/profile.d/python3.sh 生效环境变量
8.测试是否成功
python3 -V
pip3 -V
创建钉钉报警机器人
创建群聊
添加机器人
定义机器人
添加关键字
添加ip
这两种安全设置选一种即可,能让捕获到即可
ip地址捕获的是监控节点的ip
关键字是消息模版中发送的消息的关键字捕获到即可触发机器人报警
定义dingding报警脚本
编辑脚本
1.定义脚本
vim /usr/lib/zabbix/alertscripts/dingding.py
内容:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests #这个需要pip3安装
import json
import sys
import os
import datetime
webhook = "https://oapi.dingtalk.com/robot/send?access_token=03c34d08dee0a03d00c77549c81384b0a8f3d58abd89ea6ed59032ac78c09ff9" #这里需要修改你的我的不一样,就是将刚才记得webhook的地址
user=sys.argv[1]
subject=sys.argv[2]
text=sys.argv[3]
data={
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": [
user
],
"isAtAll": False
}
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/var/log/zabbix/dingding.log"):
f=open("/var/log/zabbix/dingding.log","a+")
else:
f=open("/var/log/zabbix/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发>送成功"+"\n"+str(text))
f.close()
else:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发>送失败"+"\n"+str(text))
f.close()
2.添加权限
chmod +x /usr/lib/zabbix/alertscripts/dingding.py
3.添加日志和修改属主属组
touch /var/log/zabbix/dingding.log
chown zabbix.zabbix /var/log/zabbix/dingding.log
安装模块
yum -y install epel-release
yum -y install python-pip
pip3 install requests
echo $?
测试脚本
./dingding.py test test "问题"
创建报警媒介
添加报警媒介信息
添加消息模版
修改用户的报警媒介
创建监控项
创建触发器
创建动作
定义动作
动作操作
发送给哪个用户群组和用户
测试
zabbix-node1:
systemctl stop httpd
zabbix-node1:
systemctl start httpd
三、电话报警
睿象云
官方地址:睿象云-智能运维管理平台-智能运维系统-自动化运维性能监控平台
找到的免费的电话报警(嘘!不要告诉别人哟)
登录注册睿象云
使用睿象云
配置zabbix
Zabbix 提供两种集成方式,用户可根据自身的需求,任选其一即可
默认探针配置webhook配置方式
1、切换到zabbix脚本目录: 如何查看zabbix脚本目录:
cd /usr/lib/zabbix/alertscripts/
2、获取 Cloud Alert Agent 包:
wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.4.tar.gz
3、解压、安装。
tar -xzf ca_zabbix_release-4.0.4.tar.gz
cd cloudalert/bin
bash install.sh aa3c7c09851145d2a046608dfa1fe447 <--------注意这里的要与Appkey一致
注:
1、在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码。
2、zabbix管理地址正确示例:http://zabbix.server.com/zabbix 或是:https://zabbix.server.com/zabbix
4、修改运行zabbix服务权限与cloudalert探针目录权限
请保证运行zabbix服务的权限和cloudalert探针目录的权限保持一致,不一致会导致告警无法正常接入。
5、验证告警集成
产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。
成功!
查看zabbix生成
报警媒介生成:
动作生成:
分配策略
新建分配策略
通知策略
新建通知策略
创建监控项
监控的6379redis
创建触发器
添加用户报警媒介
修改动作
测试
zabbix-node2:
systemctl stop redis
zabbix-node2:
systemctl starts redis
tips:
记得要更新睿象云的数据包不然有可能不报警电话