zabbix4.0部署

Posted sy-blogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix4.0部署相关的知识,希望对你有一定的参考价值。

一.前期准备工作

1.系统内核版本

[root@node2 ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@node2 ~]# uname -r
3.10.0-862.el7.x86_64

2.关闭防火墙和selinux

vi /etc/selinux/config    #将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效
systemctl stop firewalld

3.升级系统组件到最新版本

yum -y update

4.配置yum源

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo            #下载阿里云镜像仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo    #下载epel仓库
yum clean all                                                #清理缓存
yum makecache                                                #重新生成缓存

二.搭建LAMP环境

1.安装依赖包

yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash


yum install httpd php php-mysql php-gd php-bcmath php-common php-xml php-mbstring  php-cli

Zabbix 需要的 PHP 扩展库:
- php-mysql:使用MySQL作为Zabbix后端数据库所需要的组件;

- php-gd:PHP GD扩展库必须支持 PNG 图像(--with-png-dir)、JPEG 图像 (--with-jpeg-dir)和FreeType2(--with-freetype-dir);

- php-bcmath:包含所需的bcmath;

- php-common:包含所需的ctype和php-session扩展;

- php-xml:包含所需的libXML、xmlreader和xmlwriter扩展。

- php-mbstring:包含所需的mbstring扩展


zabbix依赖的包:
yum install pcre glibc gcc livevent zlib libcurl-devel curl-devel OpenIPMI-devel libssh2 fping net-snmp-devel perl-DBI openssl-devel iksemel libxml2 ntp

- pcre:为强制安装的包。用来支持Perl Compatible Regular Expression(PCRE);

- gcc:为强制安装的包。即编译器,

- glibc:为强制安装的包。即libc运行库,其中包含了所需的Libpthread

- libevent:为强制安装的包,用来支持 IPMI;

- zlib:为强制安装的包。用来支持压缩;

- libcurl-devel、curl-devel:为可选安装包,但建议安装。用来支持 Web 监控;

- OpenIPMI-devel:为可选安装包,按需安装。用来支持IPMI监控;

- libssh2:为可选安装包。用来支持SSH功能;

- fping: 为可选安装包,但建议安装。用来支持ICMP Ping监控;

- net-snmp-devel:为可选安装包,按需安装。用来支持SNMP监控;

- iksemel:为可选安装包,按需安装。用来支持 Zabbix 报警媒介 Jabber;

- libxml2:为可选安装包,按需安装。用来支持 VMware 监控;

- ntp:为可选安装包,但强烈建议安装。用来保持 Zabbix 精准的时间

2.配置时间同步

zabbix对时间要求比较高,可以配置外网访问同步ntp服务器,并开启计划任务

ntpdate -u asia.pool.ntp.org                      #同步NTP服务器    
systemctl enable ntpd                             #开机启动
systemctl start ntpd
systemctl status ntpd
echo ‘*/30 * * * * /usr/sbin/ntpdate -u asia.pool.ntp.org > /dev/null 2>&1‘ >>/var/spool/cron/root  #半个小时同步一次时间

3.数据库安装及配置

下载安装包

yum -y install mariadb mariadb-server        #安装mariadb数据库
mkdir -p /data/mysql                #创建指定目录路径
chown -R mysql:mysql /data/mysql    #配置数据库文件归属

编辑/etc/my.cnf配置文件

#在[mysqld]下添加

datadir=/data/mysql
技术图片

 

 编辑/etc/my.cnf.d/server.cnf ,在[mysqld]下添加

datadir=/var/mysql_data
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/var/mysql_data/slow_query.log
long_query_time=2


mkdir -p /var/mysql_data
chown -R mysql:mysql /var/mysql_data


启动数据库
systemctl enable mariadb
systemctl start mariadb

初始化数据库

mysql_secure_installation  #初始化
配置完成root密码后,一路按Y即可
技术图片

 

 

4.安装http

 下载安装包

yum install -y httpd
rpm -qa httpd
技术图片

 

 编辑主配置文件

ServerName 10.0.0.117:80
DirectoryIndex index.html index.php
技术图片

 

 技术图片

 

 

编辑PHP配置文件,添加时区

[root@node2 ~]# cat /etc/php.ini|grep ‘date.timezone‘
; http://php.net/date.timezone
;date.timezone = PRC
技术图片

 

 启动http

systemctl start httpd   #启动并加入开机自启动httpd
systemctl enable httpd
技术图片

 

 技术图片

 

 

创建一个测试页,测试LAMP是否搭建成功

vi /var/www/html/index.php #创建一个测试页,并编辑
<?php
phpinfo()
?>

浏览器中测试:

技术图片

 

 

本地测试:

curl http://127.0.0.1 -I 

技术图片

 

 初始化mysql数据库,并配置root用户密码

mysql -hlocalhost -uroot -p123456
CREATE DATABASE zabbix character set utf8 collate utf8_bin;       #创建zabbix数据库(中文编码格式)
GRANT all ON zabbix.* TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘123456‘;     #授予zabbix用户对应的zabbix数据库的所有权限,密码123456
GRANT all ON zabbix.* TO ‘zabbix‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
flush privileges;    #刷新权限
测试数据库与PHP的联通性
cd  /var/www/html

vim index.php
<?php
$link=mysql_connect(‘10.0.0.117‘,‘zabbix‘,‘123456‘); ##根据自个环境填写
if($link) echo "<h1>Success!!</h1>";
 else echo "Fail!!";
mysql_close();
?>

技术图片

 

 为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:如果没有就不用操作

mysql -u root -p  #使用root账户登录数据库;
select user,host from mysql.user;   #有空用户名称占用导致本地无法登录远程可登录
drop user ‘‘@localhost;  #删除空用户  

技术图片

 

 

三.安装zabbix

1.安装依赖包 + 组件

yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch  javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

yum install php-bcmath php-mbstring -y #安装php支持zabbix组件
 
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm  #会自动生成yum源文件,保证系统可以上网
 
yum install zabbix-server-mysql zabbix-web-mysql -y    #安装zabbix组件
在安装zabbix组件时遇到的问题:

技术图片

 

 

解决方法:

技术图片

 

 

编辑zabbix.repo文件,添加新的镜像地址

技术图片

 

 

这个镜像地址在https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/,选中rpm包,单击右键,复制镜像地址即可

技术图片

 

 

2.导入数据

zcat /usr/share/doc/zabbix-server-mysql-4.0.15/create.sql.gz | mysql -h10.0.0.117 -uzabbix -p123456 zabbix #导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 10.0.0.117),密码是用户zabbix登陆密码123456

技术图片

 

 

 

技术图片

 

 

3.修改zabbix-server时区

vi /etc/httpd/conf.d/zabbix.conf     //修改时区
php_value date.timezone Asia/Shanghai

技术图片

 

 

4.启动zabbix-server

/etc/zabbix/zabbix_server.conf  ##默认配置文件地址
systemctl enable zabbix-server
systemctl start zabbix-server
systemctl status zabbix-server

技术图片

 

 

技术图片

 

 

在启动zabbix-server时遇到的问题:

技术图片

 

 

解决方法:

用root用户进到数据库中,重新授权,并修改配置文件

mysql -hlocalhost -uroot -p123456
GRANT all ON zabbix.* TO ‘zabbix‘@‘localhost‘ IDENTIFIED BY ‘123456‘; 
flush privileges;

vi  /etc/zabbix/zabbix_server.conf,告诉密码

技术图片

 

 

四.web界面操作

http://10.0.0.117/zabbix

技术图片

 

 点击 "next step"

技术图片

 

 技术图片

 

 

技术图片

 

 

技术图片

 

 

技术图片

 

 

技术图片

 

 

默认用户名和密码:Admin/zabbix

网页汉化

技术图片

 

 

技术图片

 

 

五.客户端安装

上面的二三四章节是在服务端机器上的操作,但是第一章节不管是在服务端还是在客户端都要操作(如果防火墙开了的话,需要添加防火墙规则),agent在客户端和服务端都需要部署

 

1.下载rpm包

这里采用清华大学镜像中心的安装包

https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.10-1.el7.x86_64.rpm

技术图片

 

 

都安装了哪些东西,主配置文件在/etc/zabbix/zabbix_agentd.conf,日志文件在/var/log/zabbix,日志路径可以自个定义,完了重启服务就行

技术图片

 

 

2.编辑主配置文件

sed -i.ori ‘s#Server=127.0.0.1#Server=10.0.0.117#‘ /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.117

技术图片

 

 

3.加入开机自启动并启动服务

systemctl enable  zabbix-agent.service
systemctl start zabbix-agent
systemctl status zabbix-agent
netstat -lntup|grep zabbix_agentd

技术图片

 

 

4.服务端机器上安装检测客户端的工具

##在服务端机器上操作
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.10-1.el7.x86_64.rpm

技术图片

 

 使用方法

# -s 指定访问的IP地址
# -p 指定访问的端口,默认10050
# -k 查询key值

正确的检测结果:

技术图片

 

 

异常现象:

技术图片

 

 

原因是在agent主配置文件时,将Server地址填错,修改后重启即可

技术图片

 

 

六.页面添加需要监控的机器

1.服务端机器添加

创建主机

技术图片

 

 

技术图片

 

 

更新模板

技术图片

 

 

添加成功后,如下图

技术图片

 

 

2.客户端机器添加

创建主机

技术图片

 

 

技术图片

 

 

技术图片

 

 

创建成功如下图

技术图片

 

 

添加模板

技术图片

 

 

技术图片

 

 

模板成功添加后如下图:

技术图片

 

 

发现在4.X版本中模板不能重复使用,但是在3.X版本中可以重复使用

3.添加成功后尝试打开监控页面

技术图片

 

 

乱码解决方法:

yum -y install wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

 

六.自定义监控

1.1 给需要自定义监控的客户端增加配置

vim /etc/zabbix/zabbix_agentd.d/userparameter_disk.conf

 

 

 

 

 

 

 

 

 

 

 

 

 

































































































以上是关于zabbix4.0部署的主要内容,如果未能解决你的问题,请参考以下文章

zabbix4.0部署

zabbix4.0-部署安装

快速部署zabbix4.0-agent客户端

CentOS7.4部署Zabbix4.0

CentOS7.X部署Zabbix4.0

zabbix4.0理论+操作——02(zabbix部署+邮件报警)