Linux部署zabbix


zabbix监控服务架构模型

 
Linux部署zabbix0
安装部署zabbix监控架构
部署环境:
系统:Centos7
web应用:Nginx
php 72
mariadb
安装部署服务端
配置源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
安装服务端与客户端
yum install zabbix-server-mysql zabbix-agent -y
单独配置前端源,并安装
yum install centos-release-scl -y
# 修改/etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
enabled=1
# 安装前端包
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
准备数据库环境
安装数据库mysql或mariadb
 
yum install mariadb-server -y
systemctl start mariadb-server
 
 
创建zabbix业务库
 
te database zabbix character set utf8 collate utf8_bin;
 
授权zabbix用户
 
grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;
 
 
导入初始化数据
 
zcat /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz > zabbix.sql
在zabbix.sql首行添加use zabbix;
mysql -uzabbix -pzabbix <zabbix.sql< div=””>
配置服务端环境
配置zabbix_server连接数据库
 
vim /etc/zabbix/zabbix_server.conf
DBUser=zabbix
DBpasswd=zabbix
 
配置Nginx
 
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server_name ip;(IP可以不填只用默认的)
listen 8080;(端口好要更改,不然会有冲突的风险)
 
配置php
 
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai
 
 
重启服务
 
systemctl start zabbix-server zabbix-agent rh-nginx116-nginx.service rh-php72-php-fpm.service
 
 
在浏览器访问当前部署的机子的ip:端口号地址即可开始网页安装部署zabbix
 
添加自定义监控项
当前用户连接数量
首先更改zabbix-agent配置文件
Linux部署zabbix0
UserParameter=User_num,who |wc -l;{(User_num是键值)键值后面接的命令而不是shell脚本}
在zabbix-agent.d,目录下创建一个key(键值)脚本
vm User_num.sh
Linux部署zabbix0
UserParameter=User_num,who |wc -l;
然后重启zabix-agent 服务
systemctl stop zabbix-agent
systemctl start zabbix-agent
后在zabbix web前端添加自定义监控项
Linux部署zabbix0
Linux部署zabbix0
 
 
配置邮件告警
 
Linux部署zabbix0
 
Linux部署zabbix0
设置邮箱的POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务密码
Linux部署zabbix0
配置钉钉告警
准备一个钉钉机器人
 
Linux部署zabbix0
 
Linux部署zabbix0
 
Linux部署zabbix0
Linux部署zabbix0
 
Linux部署zabbix0
添加机器人之后将webhook地址保留
 
Linux部署zabbix0
在服务器上编写脚本
cd /usr/lib/zabbix/alertscripts
vim dingding.py
Linux部署zabbix0
 
#!/usr/bin/python
#coding:utf-8
#zabbix钉钉报警
 
import requests,json,sys,os,datetime
webhook=”https://oapi.dingtalk.com/robot/send?access_token=6c68c760e9864fbeead97ca49ce118871796ec794480e98f67f2bf842f0273f2” #说明:这里改为自己创建的机器人的webhook的值
user=sys.argv[1]
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(“/tmp/dingding.log”):
f=open(“/tmp/dingding.log”,”a+”)
else:
f=open(“/tmp/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()
测试一下脚本
Linux部署zabbix0
Linux部署zabbix0
脚本执行成功
zabbix-server web端设置
Linux部署zabbix0
参数:1.{ALERT.SENDTO} 2. {ALERT.SENDTO}3. {ALERT.MESSAGE}
Linux部署zabbix0
Linux部署zabbix0
Linux部署zabbix0
Linux部署zabbix0
主题: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME} 故障!
内容: 告警主机: {HOSTNAME1}
主机地址: {HOST.IP}
告警等级: {TRIGGER.SEVERITY}
监控项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}: {ITEM.VALUE1}
告警信息: {TRIGGER.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}
事件ID: {EVENT.ID}
Linux部署zabbix0
恢复操作
Linux部署zabbix0
更新操作
Linux部署zabbix0
添加用户权限
Linux部署zabbix0
Linux部署zabbix0
Linux部署zabbix0
 

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/272228.html

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

发表回复

登录后才能评论