Zabbix的离线安装部署流程(Centos7)及基本监控设置

百度百科:

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

本文主要内容:CentOS 7下的Zabbix的离线安装部署流程及基本监控设置。

注意事项

●系统要求:两台一模一样(安装镜像和安装方式相同)的CentOS 7服务器(一台连公网,一台内网)
●拟安装版本:Zabbix 5.0.10、MySQL 5.7.32、PHP 7.2
●其他
1)准备好与系统一致的镜像,用于挂载yum源(如有内网yum源,可忽略)
2)如果zabbix服务端所在的服务器可以连接公网,那么请您自行对教程内容进行筛选再部署
3)以下的操作内容以x86_64架构为前提,如果服务器架构并不相同,请使用源码安装方式:zabbix源码下载网页(此方式的服务端安装教程请在网上查找,客户端安装方式请继续往下看客户端源码安装步骤)
4)建议大家使用最新版进行安装,不规定使用5.0.10版本。复制粘贴本教程中的命令时,请注意修改涉及到的具体版本号
5)本教程编写时间:2021-04-06,因软件更新等因素,所有的教程都有时效性,请自行判别

●可能出现的致命错误yum安装zabbix过程中连接出错(建议先试一下此步骤)

—–欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达—–

 


软件下载及安装(公网机操作)

下载并安装mysql

下载mysql

1.在自己电脑上访问mysql官方下载页

2.选择以下选项 (建议选择5.7系列最新版本(如有))
下载mysql

3.下载PRM Bundle,文件名:mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar

 

安装mysql并配置

1.创建目录
mkdir -p /home/zjhcofi/mysql && cd /home/zjhcofi/mysql
将mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar放在/home/zjhcofi/mysql下

2.解压
tar -xf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar

3.检查服务器有无安装其他数据库

1
2
rpm -qa|grep -i mysql
rpm -qa|grep -i mariadb

4.如果有安装,记录并使用 yum remove -y 卸载全部显示出来的包
卸载数据库
yum remove -y mariadb-libs-5.5.56-2.el7.x86_64

5.安装数据库(按顺序执行)

1
2
3
4
5
6
rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm

6.启动mysql并查看启动情况
service mysqld start && systemctl status mysqld

7.把mysql加到开机自启动
chkconfig mysqld on

8.修改数据库配置文件
vi /etc/my.cnf
在最底下新增

character-set-server=utf8

9.重启mysql
service mysqld restart

10.查看mysql的root用户初始密码
grep password /var/log/mysqld.log
mysql初始密码

11.登录数据库
mysql -uroot -p

12.更新mysql的root密码(比如改为Bili@233)
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Bili@233';

13.创建zabbix数据库
mysql>create database zabbix character set utf8 collate utf8_bin;

14.设置新的mysql用户并授权(例如:用户名:zabbix;密码:Zabbix@123;允许所有ip登录;给予zabbix数据库的操作权限)
mysql>create user 'zabbix'@'%' identified by 'Zabbix@123';
mysql>grant all on zabbix.* to 'zabbix'@'%';

15.刷新权限
mysql>flush privileges;

16.退出数据库
mysql>quit                               

下载并安装php

1
2
3
4
mkdir -p /home/zjhcofi/php && cd /home/zjhcofi/php
yum install centos-release-scl
yum install -y rh-php72-php-mbstring rh-php72-php-bcmath rh-php72-php-gd rh-php72-php-mysqlnd rh-php72-php-xml rh-php72-php-ldap rh-php72-php-fpm rh-php72 --downloadonly --downloaddir=/home/zjhcofi/php
yum install -y rh-php72-php-mbstring rh-php72-php-bcmath rh-php72-php-gd rh-php72-php-mysqlnd rh-php72-php-xml rh-php72-php-ldap rh-php72-php-fpm rh-php72

下载并安装zabbix

1.安装

1
2
3
4
5
mkdir -p /home/zjhcofi/zabbix && cd /home/zjhcofi/zabbix
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum install -y zabbix-server-mysql zabbix-agent --downloadonly --downloaddir=/home/zjhcofi/zabbix
yum install -y zabbix-server-mysql zabbix-agent

如果此步骤出现“Failed to connect to 2604:a880:2:d0::2062:d001: Network is unreachable”错误,抱歉,被墙了,爱莫能助,一般来说等一会儿就好了。
zabbix下载失败

2.启用源

1
2
cd /home/zjhcofi/zabbix
yum-config-manager --enable rhel-server-rhscl-7-rpms

3.修改yum源文件
vi /etc/yum.repos.d/zabbix.repo
将[zabbix-frontend]下的enabled=0改成enabled=1

[zabbix-frontend]

enabled=1

4.继续安装

1
2
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl --downloadonly --downloaddir=/home/zjhcofi/zabbix
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

将软件压缩上传到内网机

1.压缩

1
2
cd /home/zjhcofi
zip -r php_zabbix.zip php/ zabbix/

2.将 /home/zjhcofi/php_zabbix.zipmysql-5.7.32-1.el7.x86_64.rpm-bundle.tar 传到内网机

 


内网zabbix服务端安装部署

环境配置

1.关闭selinux
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled

SELINUX=disabled

生效配置
setenforce 0

2.关闭防火墙并禁止开机启动

1
2
systemctl stop firewalld
systemctl disable firewalld

挂载yum源(如有内网yum源,可忽略)

1.备份原有的yum源

1
mkdir -p /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*repo /etc/yum.repos.d/bak

2.创建目录,上传镜像至此目录下
mkdir -p /home/zjhcofi/iso

3.挂载镜像

1
2
mkdir -p /opt/centos
mount -t iso9660 /home/zjhcofi/iso/CentOS-7-x86_64-DVD-1708.iso /opt/centos

4.编写repo文件并指向镜像的挂载目录
vi /etc/yum.repos.d/local.repo
添加以下内容:

[local]
name=local
baseurl=file:///opt/centos
enabled=1
gpgcheck=0

5.清除缓存及建立缓存

1
2
yum clean all
yum makecache

6.开机自动挂载
vi /etc/fstab
最底下添加以下内容:

/home/zjhcofi/iso/CentOS-7-x86_64-DVD-1708.iso /opt/centos iso9660 loop 0 0

安装mysql并配置

同上安装mysql并配置

rpm包解压并安装

1.将php_zabbix.zip放到 /home/zjhcofi目录下,解压

1
2
cd /home/zjhcofi
unzip php_zabbix.zip

2.安装php

1
2
cd /home/zjhcofi/php
yum localinstall –y --skip-broken ./*rpm

php安装

3.安装zabbix

1
2
cd /home/zjhcofi/zabbix
yum localinstall –y --skip-broken ./*rpm

zabbix安装

配置zabbix

1.导入数据库,输入密码(文件路径问题:因官方已经更新版本,修改路径中的版本号即可找到文件)

1
zcat /usr/share/doc/zabbix-server-mysql-5.0.10/create.sql.gz | mysql -uzabbix -p zabbix

2.配置文件修改
vi /etc/zabbix/zabbix_server.conf
将以下字段改为:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@123
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306

3.核对配置文件
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
检查配置文件

4.配置php
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
将”; php_value[date.timezone] = Europe/Riga”改为”php_value[date.timezone] = Asia/Shanghai”

php_value[date.timezone] = Asia/Shanghai

检查配置文件

5.重启服务并添加开机自启动

1
2
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

6.在浏览器上访问http://内网机ip/zabbix
网页访问

7.点击“Next step”,环境检测页面如无特殊情况都是OK的,然后继续点击“Next step”
环境检测

8.填写数据库相关信息,点击“Next step”
数据库信息填写

9.填写zabbix server相关信息,Name可随便填写,点击两次“Next step”,最后点击“Finish”
zabbix server信息填写

10.Username:Admin,Password:zabbix,点击“Sign in”
zabbix登录

11.设置中文:点击左侧的“Administration”-“Users”,选择“Admin”,Language选择“Chinese(zh_CN)”,然后点击“Update”
zabbix设置中文
zabbix设置中文

 


内网zabbix客户端安装部署

解压安装

1.将上面在外网机下载并安装zabbix得到的zabbix-agent-5.0.10-1.el7.x86_64.rpm传到需要监控的其他内网主机,放在 /home/zjhcofi/zabbix
●本人服务器为x86_64,所以上面下载到的客户端直接能用,如果服务器架构并不相同,请使用源码安装方式:zabbix源码下载网页,客户端源码安装步骤请继续往下看

2.安装

1
2
cd /home/zjhcofi/zabbix
yum localinstall –y --skip-broken zabbix-agent-5.0.10-1.el7.x86_64.rpm

客户端配置

1.修改配置文件
vi /etc/zabbix/zabbix_agentd.conf
按实际情况修改对应的字段

#zabbix服务端主机IP地址
Server=192.168.118.131
#同上
ServerActive=192.168.118.131
#本机主机名
Hostname=zabbix-client

核对配置文件
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
zabbix客户端配置文件核对

2.进行系统环境配置,参考上面环境配置

3.重启Zabbix Agent并添加开机启动

1
2
service zabbix-agent restart
chkconfig zabbix-agent on

客户端源码安装步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
mkdir -p /home/zjhcofi/zabbix
#将在官网下载到的zabbix-5.0.10.tar.gz源码包放在/home/zjhcofi/zabbix下
#安装依赖,有内网yum源或挂载的yum源均可
yum -y install pcre*

#添加用户
groupadd zabbix
useradd -g zabbix -s /sbin/nologin -m zabbix

#解压并编译安装
cd /home/zjhcofi/zabbix/ && tar zxvf zabbix-5.0.10.tar.gz && cd /home/zjhcofi/zabbix/zabbix-5.0.10
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
echo $?

#复制文件、授权、开机自启动
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d && chmod +x /etc/init.d/zabbix_agentd && chkconfig --add zabbix_agentd

#添加客户端端口
cat >>/etc/services <<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
EOF

#修改配置文件
sed -i "s/^Hostname=.*$/Hostname=主机名/" /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i "s/^Server=.*$/Server=10.41.81.211/" /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i "s/^ServerActive=.*$/ServerActive=10.41.81.211/" /usr/local/zabbix/etc/zabbix_agentd.conf
echo -e "EnableRemoteCommands=1\nUnsafeUserParameters=1" >> /usr/local/zabbix/etc/zabbix_agentd.conf
echo "Include=/etc/zabbix/zabbix_agentd.d/*.conf" >> /usr/local/zabbix/etc/zabbix_agentd.conf

#核对配置文件
egrep -v "(^#|^$)" /usr/local/zabbix/etc/zabbix_agentd.conf

#创建自定义脚本目录
mkdir -p /etc/zabbix/scripts
mkdir -p /etc/zabbix/zabbix_agentd.d

#授权目录
chown -R zabbix.zabbix /etc/zabbix
chmod 755 /etc/zabbix/scripts/*

#启动客户端
/usr/local/zabbix/sbin/zabbix_agentd
ps -ef|grep zabbix

 


zabbix添加主机监控

添加默认模板/监控项

1.创建主机群组:点击左侧“配置”-“主机群组”,再点击右上角“创建主机群组”
zabbix添加常规监控1

2.组名按实际情况填写,点击“添加”
zabbix添加常规监控2

3.创建主机:点击左侧“配置”-“主机”,再点击右上角“创建主机”
zabbix添加常规监控3

4.按实际情况填写好相关信息,端口默认10050不要点击“添加”
zabbix添加常规监控4

5.点击上方的“模板”,点击“Templates/Operating systems”后勾选“Template OS Linux by Zabbix agent”模板,点击“选择”
zabbix添加常规监控5

6.点击“添加”
zabbix添加常规监控6

7.稍等片刻后,可看到与客户端连接成功
zabbix添加常规监控7

添加shell脚本自定义输出的数据的监控

例如:自己编写一个获取CPU使用率的脚本和一个获取内存使用率的脚本,zabbix客户端读取脚本输出的数据

客户端配置

1.修改zabbix客户端的配置文件
vi /etc/zabbix/zabbix_agentd.conf
增加以下两行内容:

EnableRemoteCommands=1
UnsafeUserParameters=1

核对配置文件
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
zabbix客户端配置文件核对

2.在/etc/zabbix/zabbix_agentd.d 下新增自定义监控配置文件 userparameter.conf ( userparameter.conf 可随意命名,但要以 conf 结尾)
vi /etc/zabbix/zabbix_agentd.d/userparameter.conf
添加以下内容,其中:
UserParameter=cpu.usage 中的 UserParameter 为用户参数,cpu.usage 为zabbix需要获取的键值(可自定义命名), /etc/zabbix/scripts/cpu_usage.sh 为需要执行的命令或者脚本路径

UserParameter=cpu.usage,/etc/zabbix/scripts/cpu_usage.sh
UserParameter=memory.usage,/etc/zabbix/scripts/memory_usage.sh

3.创建脚本目录,编写CPU使用率脚本
mkdir -p /etc/zabbix/scripts && vi /etc/zabbix/scripts/cpu_usage.sh

1
2
3
4
5
6
7
8
9
#!/bin/bash
#ZJHCOFI
#CPU使用率输出

#------CPU-------
# 占用
cpu=`top -bn2 -d1| grep -i "^%cpu(s)" | awk -F',' 'END{u=100-$4;printf("%.2f\n",u)}'`
# 输出
echo ${cpu}

编写内存使用率脚本
vi /etc/zabbix/scripts/memory_usage.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
#ZJHCOFI
#内存使用率输出

#------内存-------
# 总内存
all_mem=`free | grep Mem | awk '{print $2}'`
# 已用内存
use_mem=`free | grep Mem | awk '{print $3}'`
# 占用
memory=`awk 'BEGIN{printf "%.2f\n",('${use_mem}'/'${all_mem}'*100)}'`
# 输出
echo ${memory}

4.给脚本授权
chmod 777 /etc/zabbix/scripts/*.sh

5.重启zabbix客户端
service zabbix-agent restart

网页配置

创建模板

1.点击左侧“配置”-“模板”,再点击右上角“创建模板”
zabbix自定义配置

2.群组可新建或者使用现有群组,点击“添加”
zabbix自定义配置

3.找到新建的模板名并点击
zabbix自定义配置

创建应用集

1.点击上方“应用集”,再点击右上角“创建应用集”
zabbix自定义配置

2.按需求命名,点击“添加”
zabbix自定义配置

创建监控项

1.点击上方“监控项”,再点击右上角“创建监控项”
zabbix自定义配置

2.按需求填写名称;类型为“Zabbix客户端”;键值为客户端配置文件中配置的键值名称;因脚本中输出的结果是浮点数,所以信息类型为“浮点数”;单位“%”;更新间隔一分钟“1m”;应用集选刚刚新建的应用集。
zabbix自定义配置

创建触发器

1.点击上方“触发器”,再点击右上角“创建触发器”
zabbix自定义配置

2.按需求填写名称;在表达式处点击“添加”,
zabbix自定义配置

3.选择“CPU使用率”监控项
zabbix自定义配置

4.填写条件并插入
zabbix自定义配置

5.选择严重性,允许手动关闭,并启用
zabbix自定义配置

创建图形

1.点击上方“图形”,再点击右上角“创建图形”
zabbix自定义配置

2.按需求填写名称;选择好监控项,点击“添加”
zabbix自定义配置

主机链接模板

1.点击左侧“配置”-“主机”,再点击客户端的主机名
zabbix自定义配置

2.点击上方“模板”,点击“选择”,把新模板链接上去
zabbix自定义配置

测试效果

1.点击左侧“监测”-“主机”,再点击“图形”
zabbix自定义配置

2.就能看到CPU使用率的曲线图了
zabbix自定义配置

新增内存使用率监控

1.仍然使用刚才的模板,点击上方的“监控项”,再点击右上角“创建监控项”,剩余步骤同上
zabbix自定义配置

最终效果

zabbix自定义配置

 


zabbix图形中文乱码“囗囗”解决方法

转载:
zabbix图形中文乱码“囗囗”快速解决方法

zabbix解决图形乱码

文章目录
  1. 1. 注意事项
  2. 2. 软件下载及安装(公网机操作)
    1. 2.1. 下载并安装mysql
      1. 2.1.1. 下载mysql
      2. 2.1.2. 安装mysql并配置
    2. 2.2. 下载并安装php
    3. 2.3. 下载并安装zabbix
    4. 2.4. 将软件压缩上传到内网机
  3. 3. 内网zabbix服务端安装部署
    1. 3.1. 环境配置
    2. 3.2. 挂载yum源(如有内网yum源,可忽略)
    3. 3.3. 安装mysql并配置
    4. 3.4. rpm包解压并安装
    5. 3.5. 配置zabbix
  4. 4. 内网zabbix客户端安装部署
    1. 4.1. 解压安装
    2. 4.2. 客户端配置
    3. 4.3. 客户端源码安装步骤
  5. 5. zabbix添加主机监控
    1. 5.1. 添加默认模板/监控项
    2. 5.2. 添加shell脚本自定义输出的数据的监控
      1. 5.2.1. 客户端配置
      2. 5.2.2. 网页配置
        1. 5.2.2.1. 创建模板
        2. 5.2.2.2. 创建应用集
        3. 5.2.2.3. 创建监控项
        4. 5.2.2.4. 创建触发器
        5. 5.2.2.5. 创建图形
        6. 5.2.2.6. 主机链接模板
        7. 5.2.2.7. 测试效果
        8. 5.2.2.8. 新增内存使用率监控
      3. 5.2.3. 最终效果
  6. 6. zabbix图形中文乱码“囗囗”解决方法