一、安装数据源
[root@localhost ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
- 国内使用阿里云的zabbix源
[root@localhost ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@localhost ~]# yum clean all
二、安装数据库
- 安装MySQL数据库,安装方式rpm包,版本5.7.30,所需软件包如下:
mysql-community-server
mysql-community-client
mysql-community-common
mysql-community-libs
mysql-community-devel
mysql-community-libs-compat
[root@localhost ~]# yum install mysql-community-*
- 启动数据库并修改默认密码
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl enable mysqld
#查看默认密码
[root@localhost ~]# cat /var/log/mysqld.log |grep password
[root@localhost ~]# mysql -uroot -p
- MySQL密码策略更改(可选)
mysql> set global validate_password_policy=0;
mysql> set global validate_password_number_count=0;
mysql> set global validate_password_special_char_count=0;
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'dqzboy123';
- 安装zabbix-agent和zabbix-server-mysql
[root@localhost ~]# yum install zabbix-server-mysql zabbix-agent

三、安装前端
- 安装 Software C
原文链接:https://www.dqzboy.com ollections,便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4 过低
[root@localhost ~]# yum install centos-release-scl
- 修改数据源配置文件,启用zabbix-frontend数据源
[root@localhost ~]# vim /etc/yum.repos.d/zabbix.repo
#最后通过 wq 保存

- 安装Zabbix前端软件包
[root@localhost ~]# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
- 如果要使用
pgsql
数据源,则需要安装pgsql-web
[root@localhost ~]# yum install zabbix-web-pgsql-scl
四、配置数据库
- 建立 zabbix 数据库和账号密码信息
[root@localhost ~]# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by '密码';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
- 导入初始架构和数据
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: //输入上面创建的zabbix用户密码
- 修改 zab
原文链接:https://www.dqzboy.com bix server 配置文件/etc/zabbix/zabbix_server.conf 里的数据库密码
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf

五、修改PHP配置
- 修改 zabbix 的 php 配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 里的时区和配置nginx来进行监听
[root@localhost ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx
......
php_value[date.timezone] = Asia/Shanghai


- 编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf,取消注释并设置listen端口和server_name
[root@localhost ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

六、修改Nginx配置
- 如果不修改nginx的配置文件,则默认访问是Red Hat Software默认的Nginx页面,我们现在需要改成zabbix的访问页面
[root@localhost ~]# vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf

七、启动程序进程
1、启动Zabbix server和agent进程
[root@localhost ~]# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
[root@localhost ~]# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
2、防火墙放通相关服务端口
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=10050/tcp
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=10051/tcp
[root@localhost ~]# firewall-cmd --reload
八、访问前端页面
http://server_ip






- 登入默认账号密码:
Admin
/zabbix
- 更改语言为中文


九、创建用户和群组
1、创建群组



2、创建用户
2.1:添加用户信息


2.2:添加报警媒介





十、配置邮箱告警
1、配置邮箱


2、测试邮件



3、创建动作


4、创建操作
4.1:创建告警操作
- 主题:
故障{TRIGGER.STATUS},服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
- 消息:
++++++++++++++++++++++++
| 监控触发报警,主机出现故障|
++++++++++++++++++++++++
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

4.2:创建恢复操作
- 主题:
服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
- 消息:
++++++++++++++++++++++++
| 系统故障修复,主机恢复正常 |
++++++++++++++++++++++++
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}

十一、企业微信告警
1、创建媒体类型


2、创建告警脚本
- 注意:首先你需要在企业微信中创建一个群聊机器人,然后获取到机器人webhook地址
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim qywechat.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "企业微信机器人webhook"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
[root@zabbix-server alertscripts]# chmod +x qywechat.py
[root@zabbix-server alertscripts]# pip install requests
- 注意:该脚本需要安装requests模块
3、发送测试消息



4、配置报警媒介
- 报警媒介配置收件人


5、主机关联告警
5.1:创建企业微信告警动作




5.2:创建企业微信告警操作
5.2.1:告警操作


- 主题:
故障{TRIGGER.STATUS},服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
- 消息:
++++++++++++++++++++++++
| 监控触发报警,主机出现故障|
++++++++++++++++++++++++
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
5.2文章来源(Source):浅时光博客 .2:恢复操作


- 主题:
服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
- 消息:
++++++++++++++++++++++++
| 系统故障修复,主机恢复正常 |
++++++++++++++++++++++++
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
- 最后进行保存

5.3:创建邮箱告警动作



5.4:创建邮箱告警操作
5.4.1:告警操作


5.4.2:恢复操作




文章有删减过吧,没有了添加主机和模板的步骤了
安装zabbix5.0,数据库能否使用mariadb数据库呢
可以,MariaDB跟MySQL一样
文中py脚本是用什么版本的python去运行呢?默认的2.7.5运行报错
也是2.7版本的
执行 pip install requests 报错呢?帮忙看下呢
requests模块安装百度下
写的不错,能否出一片监控硬件的文章。
目前我这边没有相关的需求,暂时无法提供相关的教程
https://z3.ax1x.com/2021/09/09/hbjSxA.png 感谢分享 可以的话麻烦看看
nginx配置文件119行少个大括号
嗯嗯 我这边看到了 非常感谢。
添加企业微信,脚本名称需要和zabbix-server保持一致,没看懂意思
就是你服务器上写的这个脚本的文件名
添加报警媒介哪里,收件人教程写的是DevOps,这个收件人没看到你在哪里添加啊
自己创建个用户就行了
感谢分析
Zabbix5.0 Database type只有 PostgreSQL
没太明白你的意思,如果服务端安装,可以用mysql做数据存储的
按你的教程安装zabbix5.0 进web的第三步Database type只有 PostgreSQL选项,没有mysql选项,不知哪出了问题
zabbix安装源和zabbix-server-mysql都没问题吗?
其它安装都正常,就是mysql我用yum 安装最新版的
我怀疑你是没有安装php-mysql的模块
执行下这条命令 yum install zabbix-web-mysql-scl 我文章写的是pgsql了
还真没安装php-mysql的模块,但安装了也没mysql选项
执行这条命令 yum install zabbix-web-mysql-scl 已经有mysql选项了,非常感谢你耐心的解答
不好意思哈,是我文章这块写错了,已经更正了