Zabbix / 监控平台 / 系统运维

Zabbix 5.0安装部署和使用教程

浅时光 · 6月28日 · 2020年 16253次已读

一、安装数据源

[[email protected] ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
  • 国内使用阿里云的zabbix源
[[email protected] ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[[email protected] ~]# yum clean all

二、安装数据库

  • 安装MySQL数据库,安装方式rpm包,版本5.7.30,所需软件包如下:
    • mysql-community-server
    • mysql-community-client
    • mysql-communi文章来源(Source):https://www.dqzboy.comty-common
    • mysql-community-libs
    • mysql-community-devel
    • mysq文章来源(Source):https://www.dqzboy.coml-community-libs-compat
[[email protected] ~]# yum install mysql-community-*
  • 启动数据库并修改默认密码
[[email protected] ~]# systemctl start mysqld
[[email protected] ~]# systemctl enable mysqld

#查看默认密码
[[email protected] ~]# cat /var/log/mysqld.log |grep password
[[email protected] ~]# 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
[[email protected] ~]# yum install zabbix-server-mysql zabbix-agent
Zabbix 5.0安装部署和使用教程-浅时光博客

三、安装前端

  • 安装 Software Collections,便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4 过低
[[email protected] ~]# yum install centos-release-scl
  • 修改数据源配置文件,启用zabbix-frontend数文章来源(Source):https://www.dqzboy.com据源
[[email protected] ~]# vim  /etc/yum.repos.d/zabbix.repo

#最后通过 wq 保存
Zabbix 5.0安装部署和使用教程-浅时光博客
  • 文章来源(Source):https://www.dqzboy.com装Zabbix前端软件包
[[email protected] ~]# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
  • 如果要使用pgsql数据源,则需要安装pgsql-web
[[email protected] ~]# yum install zabbix-web-pgsql-scl

四、配置数据库

  • 建立 zabbix 数据库和账号密码信息
[[email protected] ~]# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user [email protected] identified by '密码';
mysql> grant all privileges on zabbix.* to [email protected];
mysql> quit;
  • 导入初始架构和数据
文章来源(Source):https://www.dqzboy.com
[[email protected] ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password:   //输入上面创建的zabbix用户密码
  • 修改 zabbix server 配置文件/etc/zabbix/zabbix文章来源(Source):https://www.dqzboy.com_server.conf 里的数据库密码
[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf
Zabbix 5.0安装部署和使用教程-浅时光博客

五、修改PHP配置

  • 修改 zabbix 的 php 配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 里的时区和配置nginx来进行监听
[[email protected] ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx
......
php_value[date.timezone] = Asia/Shanghai
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
  • 编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf,取消注释并设置listen端口和server_name
[[email protected] ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
Zabbix 5.0安装部署和使用教程-浅时光博客

六、修改Nginx配置

  • 如果不修改nginx的配置文件,则默认访问是Red Hat Software默认的Nginx页面,我们现在需要改成zabbix的访问页面
[[email protected] ~]# vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf
Zabbix 5.0安装部署和使用教程-浅时光博客

七、启动程序进程

1、启动Zabbix server和agent进程

[[email protected] ~]# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
[[email protected] ~]# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

2、防火墙放通相关服务端口

[[email protected] ~]# firewall-cmd --permanent --zone=public --add-port=10050/tcp
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-port=10051/tcp
[[email protected] ~]# firewall-cmd --reload

八、访问前端页面

  • http://server_ip
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
  • 登入默认账号密码:Admin/zabbix
  • 更改语言为中文
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

九、创建用户和群组

1、创建群组

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

2、创建用户

2.1:添加用户信息

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

2.2:添加报警媒介

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

十、配置邮箱告警

1、配置邮箱

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

2、测试邮件

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

3、创建动作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

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}
Zabbix 5.0安装部署和使用教程-浅时光博客

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}
Zabbix 5.0安装部署和使用教程-浅时光博客

十一、企业微信告警

1、创建媒体类型

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

2、创建告警脚本

  • 注意:首先你需要在企业微信中创建一个群聊机器人,然后获取到机器人webhook地址
[[email protected] ~]# cd /usr/lib/zabbix/alertscripts/
[[email protected] 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)

[[email protected] alertscripts]# chmod +x qywechat.py
[[email protected] alertscripts]# pip install requests
  • 注意:该脚本需要安装requests模块

3、发送测试消息

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

4、配置报警媒介

  • 报警媒介配置收件人
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
文章来源(Source):https://www.dqzboy.com

5、主机关联告警

5.1:创建企业微信告警动作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

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

5.2.1:告警操作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
  • 主题:
故障{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.2:恢复操作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
  • 主题:
文章来源(Source):https://www.dqzboy.com
服务器:{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}
  • 最后进行保存
Zabbix 5.0安装部署和使用教程-浅时光博客

5.3:创建邮箱告警动作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

5.4:创建邮箱告警操作

5.4.1:告警操作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客

5.4.2:恢复操作

Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
Zabbix 5.0安装部署和使用教程-浅时光博客
10 条回应
  1. allen未知2020-7-28 · 12:12

    Zabbix5.0 Database type只有 PostgreSQL

    • 浅时光
      浅时光上海2020-7-28 · 12:16

      没太明白你的意思,如果服务端安装,可以用mysql做数据存储的

      • allen未知2020-7-28 · 12:25

        按你的教程安装zabbix5.0 进web的第三步Database type只有 PostgreSQL选项没有mysql选项,不知哪出了问题

        • 浅时光
          浅时光上海2020-7-28 · 12:28

          zabbix安装源和zabbix-server-mysql都没问题吗?

          • allen未知2020-7-28 · 12:30

            其它安装都正常,就是mysql我用yum 安装最新版的

            • 浅时光
              浅时光上海2020-7-28 · 12:32

              我怀疑你是没有安装php-mysql的模块

            • 浅时光
              浅时光上海2020-7-28 · 12:38

              执行下这条命令 yum install zabbix-web-mysql-scl 我文章写的是pgsql了

          • allen未知2020-7-28 · 12:41

            还真没安装php-mysql的模块,但安装了也没mysql选项

          • allen未知2020-7-28 · 12:56

            执行这条命令 yum install zabbix-web-mysql-scl 已经有mysql选项了,非常感谢你耐心的解答

            • 浅时光
              浅时光上海2020-7-28 · 12:58

              不好意思哈,是我文章这块写错了,已经更正了

本站已安全运行: | 耗时 0.500 秒 | 查询 120 次 | 内存 23.26 MB