Linux部署zabbix
2022/7/9 5:20:38
本文主要是介绍Linux部署zabbix,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
zabbix监控服务架构模型安装部署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配置文件 UserParameter=User_num,who |wc -l;{(User_num是键值)键值后面接的命令而不是shell脚本} 在zabbix-agent.d,目录下创建一个key(键值)脚本 vm User_num.sh UserParameter=User_num,who |wc -l; 然后重启zabix-agent 服务 systemctl stop zabbix-agent systemctl start zabbix-agent 后在zabbix web前端添加自定义监控项 配置邮件告警 设置邮箱的POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务密码 配置钉钉告警 准备一个钉钉机器人 添加机器人之后将webhook地址保留 在服务器上编写脚本 cd /usr/lib/zabbix/alertscripts vim dingding.py #!/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() 测试一下脚本 脚本执行成功 zabbix-server web端设置 参数:1.{ALERT.SENDTO} 2. {ALERT.SENDTO}3. {ALERT.MESSAGE} 主题: 故障{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部署zabbix的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南