zabbix的server-client架构的搭建

环境



状态:
模拟

系统:
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-agentlog日志的位置,一般默认即可
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,所以此为正常现象

这里写图片描述

猜你喜欢

转载自blog.csdn.net/GX_1_11_real/article/details/80872582