【Zabbix系列教程】Server端部署教程

本文默认使用zabbix4.x版本,如果您使用的是zabbix5.x版本,请看这期教程:https://www.wsjj.top/archives/18
第二期教程:【Zabbix系列教程】Agent端部署教程
第三期教程:【Zabbix系列教程】Proxy端部署教程+分布式监控

一、监控方式

  • 手工巡检
  • 专业的监控工具
    • zabbix
      • IT基础设施设备(网络设备、服务器、存储)
    • promethus
      • 适用于容器化应用的监控

二、zabbix的特性

  • 开源的、跨平台
  • 获取监控数据的方式
    • zabbix agent
      • 适用于主机、服务器
      • 主动模式、被动模式
    • SNMP协议 161/udp
      • 适用于网络监控
      • SNMP v2
    • IPMI协议
      • 适用于硬件信息(cpu温度、序列号)
    • JMX协议
      • 适用于java应用
  • 支持自动监控
  • 支持多种报警方式
    • 邮件、微信、电话
  • 支持分布式监控
  • 提供API接口

三、zabbix server端部署

  • zabbix版本:4.X
  • Linux版本:Centos7.9

1.关闭防火墙和SElinux、配置时间同步

过程省略

2.配置yum源和epel源

如果没有wget命令,请安装yum install -y wget

[root@zabbix-server ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@zabbix-server ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

3.配置zabbix4.0国内源

如果没有vim命令,请使用vi命令或者安装yum install -y vim

[root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix4]
name=zabbix4
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/
enabled=1
gpgcheck=0

清理旧的缓存,建立新的yum缓存

[root@zabbix-server ~]# yum clean all && yum makecache fast

4.安装zabbix server相关软件和数据库软件

yum在寻找依赖关系的同时,会自动帮我们安装好httpdPHP

[root@zabbix-server ~]# yum install -y mariadb-server zabbix-server-mysql zabbix-web-mysql 

A.启动数据库服务

[root@zabbix-server ~]# systemctl enable --now mariadb

B.在数据库中创建zabbix需要的数据库和用户

[root@zabbix-server ~]# mysql -uroot
MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'redhat';
Query OK, 0 rows affected (0.00 sec)
#创建一个名为zabbix的本地用户,密码为redhat
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost';
Query OK, 0 rows affected (0.00 sec)
#授权用户,访问zabbix数据库
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

C.导入zabbix需要的表

[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -uroot zabbix

5.修改zabbix server配置文件

主要修改==数据库==连接信息

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
#配置文件并不完整,仅展示修改的地方,请勿动其他!
DBHost=localhost	#指定数据库的连接地址
DBName=zabbix	#数据库名,保持默认即可
DBUser=zabbix	#登录数据库用到的用户,保持默认即可
DBPassword=redhat	#指定登录密码,刚刚我们指定的密码为redhat
DBSocket=/var/lib/mysql/mysql.sock	#指定套接字文件路径,我这里使用默认的路径

6.修改时区为上海

[root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf
#配置文件并不完整,请勿删改其他
<IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai	#修改这里的时区,并且删除注释
    </IfModule>

7.安装中文字体依赖,防止乱码

[root@zabbix-server ~]# yum -y install wqy-microhei-fonts

替换默认字体

[root@zabbix-server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
cp:是否覆盖"/usr/share/fonts/dejavu/DejaVuSans.ttf"? y

8.启动zabbix server和httpd

[root@zabbix-server ~]# systemctl enable --now httpd zabbix-server

9.配置web界面

A.浏览器访问测试

zabbix4-01

B.检查是否全是OK

zabbix4-02

C.配置数据库登录信息

zabbix4-03

D.完成安装

zabbix4-04

zabbix4-05

zabbix4-06

10.登录web界面

默认管理员账号:Admin 默认密码:zabbix

zabbix4-07

zabbix4-08

11.修改web界面为中文(可选的)

zabbix4-09

zabbix4-10

查看修改中文后的效果吧!

zabbix4-11

四、配置本地Agent端

1.安装zabbix agent

[root@zabbix-server ~]# yum install -y zabbix-agent

2.启动Agent服务

[root@zabbix-server ~]# systemctl enable --now zabbix-agent

3.检查是否启动

如果没有netstat命令,请安装yum install -y net-tools

[root@zabbix-server ~]# netstat -tunlp | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      6392/zabbix_agentd  
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      4219/zabbix_server  
tcp6       0      0 :::10050                :::*                    LISTEN      6392/zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      4219/zabbix_server

4.回到web界面,检查是否成功

由于存在数据同步延迟,请等待1-2分钟左右再刷新页面检查!

zabbix4-12

五、服务器常用监控参数参考

  • CPU
    • CPU上下文切换/秒 Context Switch CS
    • CPU中断数/秒 Interruput
    • CPU使用率
      • user 用户进程CPU使用率
      • sys 系统进程CPU使用率
      • idle CPU空闲
    • CPU平均负载
  • 内存
    • 剩余内存
    • free + shared + buffer/cache
  • 硬盘
    • 剩余空间
    • 磁盘IO
  • 网卡
    • 流入流量
    • 流出流量
    • 总流量
    • 流入错误流量
    • 流出错误流量
  • 进程
    • 进程总数量
    • 正在运行进程
    • 僵尸进程
  • 用户信息
    • 用户登录数
  • Linux系统的平均负载(uptime)
    • 1分钟的平均负载
    • 5分钟的平均负载
    • 10分钟的平均负载