写一个网站,北京网络优化推广公司,网站空间大小选择,服务公司注册资金多少合适目录
一、自定义监控
二、Nginx监控
三、监控mysql
四、钉钉告警
五、163邮箱报警
总结 zabbix5.0
一、自定义监控
zabbix-agent#xff08;147#xff09;
agent端操作
vim /etc/zabbix/zabbix_agentd.conf
在配置未文件末尾添加 UserParametermemory_userd,free…目录
一、自定义监控
二、Nginx监控
三、监控mysql
四、钉钉告警
五、163邮箱报警
总结 zabbix5.0
一、自定义监控
zabbix-agent147
agent端操作
vim /etc/zabbix/zabbix_agentd.conf
在配置未文件末尾添加 UserParametermemory_userd,free -m |grep Mem |awk {print $3} 重启服务 systemctl restart zabbix-agent.service
server端操作146
zabbix_get -s 192.168.238.147 -k memory_userd 配置自定义监控项 配置自定义触发器 配置自定义图形 查看出图效果 二、Nginx监控
zabbix-agent147
安装Nginx 查看当前Nginx是否已安装内置运行状态模块 开启运行状态模块 vim /etc/nginx/nginx.conf 编写监控脚本并安装zabbix agent mkdir /etc/zabbix/script
vim /etc/zabbix/script/ngx_status.sh
编写脚本
#!/bin/bash#定义Nginx status页面
ngx_statushttp://192.168.238.147/status#判断status页面是否存活
ngx_status_code() {http_codecurl -o /dev/null -s -w %{http_code} ${ngx_status}if [ ${http_code} 200 ];thenreturn 1elseecho Nginx status is not running.fi
}#获取当前活动的客户端连接数
active() {ngx_status_code || curl -s ${ngx_status} | grep Active | awk {print $NF}
}#获取接收客户端连接的总数量
accepts() {ngx_status_code || curl -s ${ngx_status} | awk NR3 | awk {print $1}
}#获取已处理的连接总数量
handled() {ngx_status_code || curl -s ${ngx_status} | awk NR3 | awk {print $2}
}#获取客户端请求总数量
requests() {ngx_status_code || curl -s ${ngx_status} | awk NR3 | awk {print $3}
}#获取正在读取请求标头的当前连接数量
reading() {ngx_status_code || curl -s ${ngx_status} | grep Reading | awk {print $2}
}#获取正在将响应写回到客户端的当前连接数量
writing() {ngx_status_code || curl -s ${ngx_status} | grep Writing | awk {print $2}
}#获取当前正在等待响应的客户端连接数量
waiting() {ngx_status_code || curl -s ${ngx_status} | grep Waiting | awk {print $2}
}#使用位置变量控制脚本输出
case $1 inactive)active;;accepts)accepts;;handled)handled;;requests)requests;;reading)reading;;writing)writing;;waiting)waiting;;*)echo Unknown options
esac配置Zabbix Agent
vim /etc/zabbix/zabbix_agentd.conf
解开注释改 UnsafeUserParameters1 创建自定义监控项
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
添加以下内容
UserParameternginx.active,bash /etc/zabbix/script/ngx_status.sh active
UserParameternginx.accepts,bash /etc/zabbix/script/ngx_status.sh accepts
UserParameternginx.handled,bash /etc/zabbix/script/ngx_status.sh handled
UserParameternginx.requests,bash /etc/zabbix/script/ngx_status.sh requests
UserParameternginx.reading,bash /etc/zabbix/script/ngx_status.sh reading
UserParameternginx.writing,bash /etc/zabbix/script/ngx_status.sh writing
UserParameternginx.waiting,bash /etc/zabbix/script/ngx_status.sh waiting重启zabbix服务 启动Nginx
server端使用zabbix_get工具进行测试 页面配置
新创模板 新建监控项 选择监控主机添加模板 找到添加的监控项查看 三、监控mysql
zabbix-agent147
安装启动服务
创建授权用户
grant all on *.* to zabbix% identified by123.com;
配置Zabbix Agent
在zabbix客户端默认配置路径下 /etc/zabbix 目录下新建 .my.cnf 文件隐藏文件 复制模板修改模板中的默认路径
cp /usr/share/doc/zabbix-agent-5.0.37/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d
vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
在命令行新增默认路径 HOME/etc/zabbix/ 重启zabbix客户端
页面为监控的主机添加模板 观察下宏的IP是否改变未变手动修改 查看出图效果 四、钉钉告警
zabbix server146
在钉钉中创建一个群添加自定义机器人 配置zabbix server vim /etc/zabbix/zabbix_server.conf
加开注释AlertScriptsPath 创建用来推送告警消息的脚本使用自己的webhook
vim /etc/zabbix/dingding.py
#!/usr/bin/env python
#coding:utf-
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhookhttps://oapi.dingtalk.com/robot/send?access_token3a7191b12c8e8f5580b9bedc9e48938421845e7629c8ff0fe2833f1ede9e8b30 (修改为自己的webhook)
usersys.argv[1]
textsys.argv[3]
data{msgtype: text,text: {content: text},at: {atMobiles: [user],isAtAll: False}
}
headers {Content-Type: application/json}
xrequests.post(urlwebhook,datajson.dumps(data),headersheaders)
if os.path.exists(/var/log/zabbix/dingding.log):fopen(/var/log/zabbix/dingding.log,a)
else:fopen(/var/log/zabbix/dingding.log,w)
f.write(\n--*30)
if x.json()[errcode] 0:f.write(\nstr(datetime.datetime.now()) str(user) 发送成功\nstr(text))f.close()
else:f.write(\nstr(datetime.datetime.now()) str(user) 发送失败 \n str(text))f.close()
脚本赋予可执行权限
cd /etc/zabbixchmod x dingding.py
创建日志文件
touch /var/log/zabbix/dingding.log
chown zabbix.zabbix /var/log/zabbix/dingding.log在虚拟机中测试下输入 ./dingding.py xiejin test “这是条告警测试信息请忽略”
钉钉中会收到 页面配置
创建媒体类型 创建动作并添加条件 告警操作及恢复操作 主题
Problem: {EVENT.NAME}消息
-【告警啦】-
告警组{TRIGGER.HOSTGROUP.NAME}
告警主机{HOSTNAME1}
告警主机别名{HOST.NAME}
主机IP{HOST.IP}
主机描述{HOST.DESCRIPTION}
告警时间{EVENT.DATE} {EVENT.TIME}
告警等级{TRIGGER.SEVERITY}
警报类别{TRIGGER.NAME}
当前状态{ITEM.LASTVALUE}
告警平台http://192.168.238.146/zabbix主题
Resolved:{EVENT.NAME}消息:恢复主机:{HOSTNAME1}恢复时间:{EVENT.DATE} {EVENT.TIME}主机IP{HOST.IP}告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}事件ID:{EVENT.ID}
配置报警媒介 将其中监控的服务关闭会向钉钉发送信息则成功不成功可以去看报表里的动作日志查看原因
关闭了agent中的mariadb 恢复启动了mariadb 五、163邮箱报警
登录163邮箱开启服务 zabbix server146
安装配置邮件服务器
yum install -y mailx dos2unix
vim /etc/mail.rc 测试
echo test mail from zabbix.server.com |mail -s test mial 17689522335163.com 编写邮件引用脚本
vim /etc/zabbix/zabbix_server.conf 编写脚本
vim /etc/zabbix/mail.sh
#!/bin/bash
#export.UTF-8
bt$2
sjr$1
FILE/tmp/mailtmp.txt
echo $3 $FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s $bt $sjr $FILE 脚本加权更改属主属组
chmod 777 mail.sh
chown zabbix.zabbix mail.sh
touch /tmp/mailtmp.txt
chmod 777 /tmp/mailtmp.txt
chown zabbix.zabbix /tmp/mailtmp.txt
测试
./mail.sh 17689522335163.com test mial2test mail from server.zabbix.com test2
页面配置
创建报警媒介 创建动作及操作条件 邮件主题故障:{TRIGGER.STATUS},服务器:{HOSTNAME1},发生:{TRIGGER.NAME}故障!邮件消息告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
配置报警媒介 测试
停掉监控agent的mariadb 总结
对zabbix监控功能的完善及补充还可以添加其他监控项。报警功能相对实用配置好一旦有故障就会第一时间发消息给我们还有微笑报警和短信报警短信报警收费有兴趣的小伙伴可以去尝试。