zabbix的server-client架构的搭建

本文详细介绍如何在 CentOS 7.3 环境下搭建 Zabbix 3.0.4 监控系统,包括 LAMP 环境配置、防火墙设置、时间同步、数据库安装、Zabbix 编译安装等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境



状态:
模拟

系统:
centos7.3

zabbix版本:
3.0.4

身份:
zabbix-server :192.168.92.128
zabbix-agent : 192.168.92.131



一、环境准备



【1】安装软件

(仅zabbix-server操作)

<1>配置LAMP环境(如已有网络环境,无需全部安装,可根据情况挑选):

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-server krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers  net-snmp-devel  net-snmp snmp  libssh2-devel

yum install *bcmath* --skip-broken

yum -y install httpd httpd-devel

yum -y install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

<2>安装数据库(mysql可换为mariadb;可选择编译安装):

yum -y install mysql mysql-server mysql-devel mariadb mariadb-server


【2】防火墙


zabbix-server与agent网络要联通


防火墙(可配置规则):

systemctl stop firewalld
systemctl disable firewalld

更改selinux:

vim /etc/selinux/config 

SELINUX=disabled

关闭selinux(为了避免错误):

setenforce 0


【3】同步时间


zabbix-server与agent间要时间同步


安装并同步时间(可自建内网ntp时间服务器):

yum -y install ntp   

ntpdate cn.pool.ntp.org


【4】添加解析(为了方便操作,可选)


echo "192.168.92.128   zabbix-server " >>/etc/hosts

echo "192.168.92.131 zabbix-agent"  >> /etc/hosts               

scp  /etc/hosts  zabbix-agent:/etc/hosts     


【5】推公钥(为了方便操作,可选)


zabbix-server向zabbix-agent端推公钥


一般选择第二种方法.

<1>互信操作:

ssh-keygen   -f  /root/.ssh/id_rsa  -N  " "             创建密钥

mv  /root/.ssh/{id_rsa.pub,authorized_keys}             改变密钥文件名,authorized_keys为固定格式,可被系统识别

scp   -r  /root/.ssh  zabbix-agent:/root/               推送密钥到agent端

<2>推公钥:

ssh-keygen                                              创建密钥

ssh-copy-id root@zabbix-agent                           推送密钥到agent端


二、mysql配置



【1】启动并设置mysql密码


systemctl restart  mariadb
systemctl enable mariadb
mysqladmin -uroot password '123456'  


【2】为zabbix-server创库并授权


mysql -uroot -p123456                                                               登陆数据库
create database zabbix character set utf8;                                          创建数据库,设定编码
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';        创建授权用户
flush privileges;                                                                   刷新授权表,虽然不需要,但可避免一些问题      
use zabbix;                                                                         测试,数据库是否创建

启动httpd和mysql,并设置开机启动

systemctl restart mariadb.service
systemctl restart httpd.service
systemctl enable mariadb.service
systemctl enable httpd.service


三、zabbix安装


可用yum安装,本文使用编译安装

可从官网下载安装包或yum源:
https://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=6&db=MySQL


【1】添加用户及组


注意:为了安全禁止zabbix用户登陆服务器
zabbix-server与zabbix-agent使用编译安装时都需要先创建zabbix用户


groupadd zabbix
useradd -g zabbix -s /sbin/nologin  -M zabbix                      


【2】解压安装包


tar -xf  zabbix-3.0.4.tar.gz

这里写图片描述



【3】导入数据库表,注意顺序


仅zabbix-server及proxy执行数据库操作



<1>cd zabbix-3.0.4/database/mysql/

这里写图片描述


<2>导入:

mysql -uroot –p123456 zabbix < schema.sql
mysql -uroot - p123456 zabbix < images.sql 
mysql -uroot - p123456 zabbix < data.sql


或

mysql -uzabbix -pzabbix zabbix < schema.sql 
mysql -uzabbix -pzabbix zabbix < images.sql 
mysql -uzabbix -pzabbix zabbix < data.sql 

<3>验证是否导入:

use zabbix;

select count(*) tables, table_schema from information_schema.tables where table_schema='zabbix' group by table_schema;

这里写图片描述



【4】编译安装zabbix


要使用什么,就使用什么参数

因为zabbix-server服务器也要监控自己,所以要加agent参数
(–prefix=/usr/local/zabbix --enable-server–enable-agent --with-mysql 为最重要参数)

如报错,说明缺少软件;根据报错,安装即可


<1>zabbix-server操作

./configure --prefix=/usr/local/zabbix --enable-server--enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-ssh2
或
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent 


make install

<2>zabbix-agent操作

./configure --prefix=/usr/local/zabbix  --enable-agent

make install

参数说明:

–prefix: 指定安装位置
–enable: 指定安装的zabbix的软件
–with: 指定依赖



【5】zabbix-server配置文件配置


配置文件位置(由于安装的目录或方法的不同,配置文件位置不同):
/usr/local/zabbix/etc/

如有报错,请检查配置文件

文件中的配置,要按照需求来

必要配置:
DBHost
DBName
DBUser
DBPassword





egrep -v "^$|^#" zabbix_server.conf

LogFile=/tmp/zabbix_server.log                                log日志的位置,一般默认即可
DBHost=localhost                                              zabbix_server授权时使用ip或名称,如授权时使用localhost
DBName=zabbix                                                 zabbix_server创建并授权的数据库的名称
DBUser=zabbix                                                 授权的数据库的用户
DBPassword=zabbix                                             授权的数据库的密码
DBSocket=/tmp/mysql.sock                                      MySQL的sock的位置,如数据库是编译安装,一般默认即可,如yum安装,请确认位置;不使用注释即可
DBPort=3306                                                   使用的mysql数据库的端口;无特殊要求,注释即可,默认3306
StartPollers=30                                               zabbix-server的进程数,设置多少取决于服务器的性能和监控的数量,主要看内存大小
StartDiscoverers=5                                            zabbix提示进程繁忙时可修改此参数,最大可达250,但一般1-5左右,值越大越消耗cpu性能
CacheSize=8G                                                  zabbix-server可用的缓存,用于存储host,item,trigger数据
Timeout=4                                                     zabbix-server的检测超时时间,单位为秒
AlertScriptsPath=/root/zabbix-3.0.4/alertscripts                   zabbix-server使用自定义脚本自定义告警脚本的路径,取决于编译时候的datadir参数
FpingLocation=/usr/local/sbin/fping                           安装的fping路径 
LogSlowQueries=3000                                           多慢的数据库查询将会被记录,单位为毫秒,0表示不记录慢查询。只有在DebugLevel=3时,这个配置才有效


【6】添加前端文件


仅zabbix-server执行此操作


(注意权限问题)

mkdir /var/www/html/zabbix
cp -rf zabbix-3.0.4/frontends/php/* /var/www/html/zabbix

/zabbix-3.0.4/frontends/php/下为zabbix-server的前端文件

这里写图片描述



【7】修改php相关参数


仅zabbix-server执行此操作


vim /etc/php.ini

max_execution_time = 300             一般默认即可
max_input_time = 300                 一般默认即可
memory_limit = 128M                  一般默认即可
post_max_size = 32M                  一般默认即可
date.timezone = Asia/Shanghai        更改为你使用的时区亚洲上海


【8】zabbix-agent配置文件配置


关于agent的配置,主要分为两种情况:
zabbix-server/proxy主机的agent
被监控主机的agent

原则:
zabbix-server/proxy主机的agent的配置文件的IP及端口指向自己
zabbix-agent端的配置文件指向zabbix-server或zabbix-proxy的IP及10051端口

必要配置:
Server
ServerActive
Hostname



egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid                                     zabbix-agent的pid文件的位置,默认即可
LogFile=/var/log/zabbix/zabbix_agentd.log                          zabbix-agent的log日志的位置,一般默认即可
EnableRemoteCommands=0                                             关闭远程命令(1:开启;0:关闭),开启后可设置触发条件,触发远程命令动作,重启服务
Server=192.168.92.128                                              zabbix-agent指向的zabbix-server/proxy的IP地址,本文指向的是zabbix-proxy
StartAgents=8                                                      zabbix-agent的进程数
ServerActive=192.168.92.128:10051                                  zabbix-agent指向的zabbix-server/proxy的IP地址及端口,本文指向的是zabbix-proxy的
Hostname=zabbix agent01                                            该zabbix-agent端的名字,要与zabbix-server的web界面,配置的主机名称相同
Timeout=30                                                         zabbix-agent的检测超时时间,单位秒
Include=/etc/zabbix/zabbix_agentd.d/                               启动自定义的key    自定义脚本存放位置
UnsafeUserParameters=1                                             启动自定义的key,开启后可使用自定义的脚本(如不使用请使用默认)

如果是zabbix-server/proxy主机的agent配置,则
Server=127.0.0.1
ServerActive=127.0.0.1:10051



【9】服务启动的配置


zabbix-server/proxy及agent 皆要执行此操作

如未成功启动或启动后无进程,请检查下列配置文件及mysql授权的密码

/etc/init.d/zabbix_server/agent
/usr/local/zabbix/etc/zabbix_server/agent.conf

<1>复制启动文件到系统路径:

cp -rf  /root/zabbix-3.0.4/misc/init.d/fedora/core/zabbix* /etc/init.d/

vim /etc/init.d/zabbix_server 或 proxy以及agent
将BASEDIR=/usr/local/替换为BASEDIR=/usr/local/zabbix (编译后存放的位置)


<2>添加执行权限:

chmod +x /etc/init.d/zabbix_server

<3>启动zabbix-server及web服务,并开机自启:

/etc/init.d/zabbix_server start
chkconfig zabbix_server on

systemctl restart httpd
systemctl enable httpd

检查端口:

netstat -lnput |grep :1005
netstat -lnput |grep :80

这里写图片描述



四、web界面的配置


【1】初始配置



<1>访问:http://zabbix-server的IP/zabbix/setup.php 进行安装 ,点击Next step.

这里写图片描述



<2>根据网页提供的提示,更改zabbix-server的/etc/php.ini里的参数

这里写图片描述



<3>修改完后,重启httpd并刷新页面,点击Next step .(如页面未成功改变,点击Back后退再重新进入)

这里写图片描述



<4>一般输入zabbix数据库授权时的密码即可,点击Next step(如按教程,这一步不会出错)

这里写图片描述



<5>输入Name后,点击Next step。(任意名称都可,但一般不填)

这里写图片描述



<6>确认信息无误后,点击Next step

这里写图片描述



<7>根据提示,更改zabbix的web的配置文件

这里写图片描述


进入/var/www/html/zabbix/conf下,发现无zabbix.conf.php,复制zabbix.conf.php.example为zabbix.conf.php,进行更改

这里写图片描述


在PASSWORD处,输入数据库授权的密码

这里写图片描述



<8>修改完后,重启httpd并刷新页面,点击Login .(如页面未成功改变,点击Back后退再重新进入)

这里写图片描述


这里写图片描述



<9>输入默认的用户名Admin,及密码zabbix,点击Sign in ,进入zabbix正式的页面(初始为英文版面)

这里写图片描述


这里写图片描述



【2】更改zabbix的web界面的语言



<1>点击右上角的人像,进行设置

这里写图片描述



<2>点击Language的标记,选择语言

这里写图片描述



<3>选择Chinese(zh_CZ),后点击Update 更新

这里写图片描述



<4>如图,已被更换为中文界面。

这里写图片描述


接下来就是新用户必须要做的几件事情:
添加用户、用户组(系统默认的不同组,对应不同的权限)
更改密码
设置报警媒介的类型
设置展示报警数量及刷新时间

由于换成了中文一目了然,这里就不总结了(英文版与中文版的名称都是相对应的,位置不变)。



【3】添加主机


即添加被监控的服务器


1.添加zabbix-server的本机监控



<1>进入 配置>>主机

zabbix server的默认已存在,那么进入,更改配置即可

这里写图片描述



<2>点击Zabbix server,进去配置,一般默认即可

Zabbix server即为zabbix server的默认主机名,要与zabbix-server主机中的zabbix-agent的配置文件中的Hostname相同(包括大小写及空格)

这里写图片描述



<3>确认信息后,点击更新

IP地址127.0.0.1代表zabbix-server本地,端口是10050,无代理程序

与zabbix-server主机中的zabbix-agent的配置文件中相同

这里写图片描述



这里写图片描述



<4>出现主机已更新,即可成功
若可用性全为灰色,则检查zabbix-server的主机的zabbix-agent是否开启.
如未开启,则开启;
已开启则,重启zabbix-agent、httpd

这里写图片描述



2.添加zabbix-agent的主机(监控除zabbix-server的其他主机)



<1>点击创建主机

这里写图片描述



<2>主机名称要与被监控主机的Zabbix-agent的配置文件中的Hostname相同

添加群组,按需求添加,可自建

这里写图片描述


agent代理程序的接口的ip为该被监控主机的IP,端口为10050

这里写图片描述


勾选已启用后,点击添加

这里写图片描述

成功添加主机

这里写图片描述



【4】添加模板


由于新添加主机没有模板及监控项,所以要进行添加监控项。
由于zabbix默认提供模板,可直接套用已有模板,按需求添加
也可自建模板



<1>点击配置>>主机 >>Zabbix agent01 (新添加主机) >> 模版

这里写图片描述



<2>点击选择,从弹出的选项中勾选,按需求选择

这里写图片描述



<3>点击添加

这里写图片描述


这里写图片描述



<4>成功,即如下图

这里写图片描述


这里写图片描述


这里写图片描述


由于zabbix agent01的被监控的主机未安装并启用ftp,所以此为正常现象

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠效

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值