zabbix4.0搭建

一.准备工作

1.yum国内源的安装与更新

1.1 备份原repo文件

cd /etc/yum.repos.d/ 
mkdir repo_bak 
mv *.repo repo_bak

1.2 在centos中配置网易和阿里的开源镜像

wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

1.3 清除系统缓存并生成新的yum缓存

yum clean all
yum makecache

1.4 安装epel源

yum -y install epel-release

1.5 下载安装阿里开源镜像提供的epel

wget http://mirrors.aliyun.com/repo/epel-7.repo

1.6 再次清除系统缓存并生成新的yum缓存

yum clean all
yum makecache

1.7 查看系统可用的yum源和所有yum源

yum repolist enable
yum repolist all

1.8 升级系统到最新

yum update -y

2.关闭防火墙

2.1 关闭selinux

vi /etc/selinux/config
#将SELINUX=enforcing改为disabled
getenforce #检测selinux是否关闭

2.2 关闭防火墙

firewall-cmd --state #查看防火墙状态
systemctl stop firewalld.service #临时关闭防火墙
systemctl disable firewalld.service #禁止firewall开机启动

3. 安装依赖环境

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

4. 编辑httpd --可选

vi /etc/httpd/conf/httpd.conf
ServerName www.zabbixtest.com
DirectoryIndex index.html index.php

5. 编辑配置php,配置中国时区

vi /etc/php.ini
date.timezone = Asia/Shanghai

6. 启动httpd

systemctl start httpd #开机启动httpd
systemctl enable httpd

7. mysql数据库安装和配置

7.1 安装mysql5.7

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
yum install mysql-server

注意:安装完mysql以后不要启动mysql,我们需要修改mysql的数据存储路径和日志存储路径

7.2 修改mysql数据存储路径

#创建数据存储目录并修改权限
mkdir /data/mysql
chown -R mysql /data/mysql
chgrp -R mysql /data/mysql
chmod -R g+rw /data/mysql
#修改配置文件
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock

如果安装完mysql,mysql已经启动,默认的数据存储路径是/var/lib/mysql/,修改存储路径需要先停止mysql并且将原路径下的文件复制到新的路径下,操作方式如下:

#查看mysql的datadir路径
mysql -u root -p
show variables like '%dir%';
#停止mysql
systemctl stop mysqld
#创建数据存储目录,将原路径下的文件复制到新的路径下并修改权限
mkdir /data/mysql
cp -r /var/lib/mysql/* /data/mysql/
chown -R mysql /data/mysql
chgrp -R mysql /data/mysql
chmod -R g+rw /data/mysql
#修改配置文件
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock

7.3 修改mysql日志存储路径

#创建日志存储目录并修改权限
mkdir /log/mysql

chown -R mysql mysql
chgrp -R mysql mysql
chmod -R g+rw mysql mysql

vim /etc/my.cnf
log-error=/log/mysql/mysqld.log

7.4 启动mysql

以上操作完成以后可以启动mysql

systemctl start mysql #开机启动mysql
systemctl enable mysql
ss -anplt | grep httpd #监听80端口
ss -anplt | grep mysql #监听3306端口

7.5 初始化mysql数据库,并修改root密码

grep "password" /var/log/mysqld.log

查看默认密码

7.5.1 修改mysql password的方法

1.mysqladmin -u用户名 -p旧密码 password 新密码

mysqladmin -u root -p 123456 password EZsvs@123

2.使用默认密码登陆mysql后使用命令mysql> set password for 用户名@localhost = password('新密码');修改密码

set password for root@localhost = password('EZsvs@123');

3.用UPDATE直接编辑user表

首先登录MySQL。

mysql> use mysql;
mysql> update user set password=password('EZsvs@123') where user='root' and host='localhost';
mysql> flush privileges; 

7.5.2 创建zabbix库和用户

mysql -u root -p #root用户登录数据库
CREATE DATABASE zabbix character set utf8 collate utf8_bin; # 创建zabbix数据库(中文编码格式)
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'ZAbbix@123'; #授予zabbix用户zabbix数据库的所有权限,密码zabbix
flush privileges; #刷新权限
exit

7.5.2 为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:

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

二.zabbix-server的安装和配置

1. 安装依赖

1.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组件

1.2 安装zabbix源

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #会自动生成yum源文件,保证系统可以上网

yum-config-manager --enable rhel-7-server-optional-rpms

1.3 安装zabbix组件

1.3.1 安装zabbix-server

yum install zabbix-server-mysql zabbix-web-mysql -y

1.4 导入数据库

1.4.1 使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p ZAbbix@123

1.5 配置mysql数据库

1.5.1 为zabbix-server配置mysql数据库

编辑zabbix_server.conf文件

vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/data/mysql/mysql.sock
LogFile=/log/zabbix/zabbix_server.log

1.6 zabbix前端配置

vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

1.7 启动zabbix进程

systemctl start zabbix-server
systemctl enable zabbix-server

1.8 zabbix web端配置

登录http://localhost/zabbix/

初始用户名:Admin

密码:zabbix

初次配置会检查zabbix环境是否符合要求,依照页面要求检查完毕后进入zabbix监控管理页面
至此,zabbix-server的安装和配置已经完毕

三.zabbix-proxy安装和配置

1. 安装依赖

1.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组件

1.2 安装zabbix源

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #会自动生成yum源文件,保证系统可以上网

yum-config-manager --enable rhel-7-server-optional-rpms

1.3 安装zabbix组件

1.3.1 安装zabbix-server

yum install zabbix-proxy-mysql -y

2.导入zabbix proxy的初始数据库schema和数据

zcat /usr/share/doc/zabbix-proxy-mysql-4.0.11/schema.sql.gz | mysql -u zabbix -p ZAbbix@123

3.为zabbix-proxy配置mysql数据库

修改zabbix-proxy.conf配置文件

vi /etc/zabbix/zabbix-proxy.conf
Server=192.168.4.67    #同步指向的server端的IP,非本地IP。可以是server端的主机域名,但要确保proxy端解析server的域名,并且网络可达
Hostname=zabbix-proxy-01  #proxy本地的名称,此名称需要与将来在server端的WEB页面上的代理程序名称一致,名称自定义
DBHost=localhost            
DBName=zabbix   
DBUser=zabbix                
DBPassword=ZAbbix@123
DBPort=3306
DBSocket=/data/mysql/mysql.sock
LogFile=/log/zabbix/zabbix_proxy.log

4. 运行以下命令启动zabbix-proxy进程

systemctl start zabbix-proxy
systemctl enable zabbix-proxy

5. 在zabbix-server web页面端进行配置agent代理程序

填写proxy的名称及地址

avatar

在配置监控主机的时候,选择proxy即可

avatar

四. zabbix-agent的安装和配置

1. 安装zabbix-agent

yum install zabbix-agent -y

2. 配置zabbix-agent

安装完成后配置文件一般在 /etc/zabbix/zabbix_agentd.conf,打开把里面内容全部清空然后加入

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/log/zabbix/zabbix_agentd.log  #错误日志
LogFileSize=0
ListenPort=10050  #启动监听端口
StartAgents=3 #被动模式下选择,主动模式则为0
ListenIP=0.0.0.0 #监听所有IP
Server=192.168.4.67 #被动模式下必填,将zabbix-server端的ip填入
#ServerActive=192.168.4.67 #主动模式下填写
Hostname=zabbix-agent-01 #本机的hostname,此值必须与zabbix的网页上创建的主机名一致即可
Include=/etc/zabbix/zabbix_agentd.d/

3. 启动zabbix-agent

systemctl start zabbix-agent
systemctl enable zabbix-agent

五. 问题及处理方法

1 导入mysql数据报错ERROR 1046 (3D000) at line 1 No database selected

解决办法:

1.先把原始的数据库压缩包备份

cp /usr/share/doc/zabbix-server-mysql-4.0.9/create.sql.gz create.sql.gz-backup
cd /usr/share/doc/zabbix-server-mysql-4.0.9/

2.解压数据库
gunzip create.sql.gz

3.安装nano编辑数据库信息
yum -y install nano

用nano打开编辑数据库信息
nano create.sql

在第一行加上

USE zabbix;

4.用gzip命令把create.sql文件压缩成.gz格式

gzip create.sql

5.然后重新导入MySQL数据库即可

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p

2. 中文乱码问题

在windows的C:\Windows\Fonts目录中找个字体SIMFANG.TTF
将后缀改成小写ttf并复制到/usr/share/zabbix/assets/fonts目录下

mv SIMFANG.TTF /usr/share/zabbix/assets/fonts/SIMFANG.ttf

修改defines.inc.php配置文件
vim /usr/share/zabbix/include/defines.inc.php

修改这两个地方(大概是69行和114行)

define('ZBX_FONT_NAME', 'SIMFANG');
define('ZBX_GRAPH_FONT_NAME',           'SIMFANG'); // font file name

刷新页面

posted @ 2019-12-23 17:23  Doc-Yu  阅读(180)  评论(0编辑  收藏  举报