一.准备工作

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的名称及地址

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

四. 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

刷新页面

zabbix4.0搭建的更多相关文章

  1. zabbix4.0搭建(基于CentOS6.8)

    环境 服务端:188.188.3.241,系统:centos6.8,mysql:5.7.3,php:5.4.9,nginx:1.12.0   一.nginx编译安装 NGINX_VERSION=1.1 ...

  2. zabbix4.0搭建2

    server端(ip 192.168.200.15) proxy端(ip 192.168.200.22) agent端(ip 192.168.200.12) server端: #安装数据库 [mari ...

  3. zabbix4.0搭建1

    server端:负责接受到客户端发送过来的数据,并且保存到自己的数据库当中 端口:10051 agent端:负责每隔一定时间进行客户端的数据采集,并且发送给server端 端口:10050 proxy ...

  4. CentOS7 zabbix4.0搭建配置

    一.Zabbix-Server服务器端的安装 概述:10050是Agent的端口,Agent采用被动方式,Server主动连接Agent的10050端口:10051是Server的端口,Agent采用 ...

  5. centos 7 源代码搭建部署 zabbix-4.0.13 LTS

    Zabbix 官网 >:https://www.zabbix.com/download 源代码地址>:https://www.zabbix.com/cn/download_sources# ...

  6. 源码搭建Zabbix4.0.23LTS监控系统

    实验环境 centos 7.5 主机名 IP地址 配置 应用 controlnode 172.16.1.120/24 4核/8G/60G java-1.8.0-openjdk zabbix serve ...

  7. Centos7安装Zabbix4.0步骤

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建L ...

  8. Centos7.5 ZABBIX4.0.3版本的编译安装

    Zabbix监控的搭建理论 1.      Zabbix Server会去采集监控数据,采集的监控数据会写入到SQL数据库 2.      Zabbix的WEB后端采用php语言开发,所有配置信息.用 ...

  9. centos7.2下快速安装zabbix4.0

    本笔记是基于CentOS 7.2下最小化安装的操作系统搭建的Zabbix4.0环境,主要用于做一些企业路由器和交换机等设备的运行状态监控. 1.安装epel源 yum -y install epel- ...

随机推荐

  1. OpenGL.Qt551.问题

    1.Qt551 + vs2013 + Win7x64 缘由:将“教程14:渲染到纹理.html(http://www.opengl-tutorial.org/cn/intermediate-tutor ...

  2. mysql常用引擎

    经常用MySQL数据库,但是,你在用的时候注意过没有,数据库的存储引擎,可能有注意但是并不清楚什么意思,可能根本没注意过这个问题,使用了默认的数据库引擎,当然我之前属于后者,后来成了前者,然后就有了这 ...

  3. vue首页组件切换

    结构如下 代码如下: <template> <div id="page"> <div style="width: 100%" cl ...

  4. 关于SQLSERVER登录不了的情况

    是这样的,本人为了复制一个数据库文件把默认数据库设置成了脱机状态.在此点击联机的时候SSMS显示重启,重启后在用windows登录显示无法打开默认数据库.用其他不适该默认数据库的账号可以登录.想问一下 ...

  5. Oracle的查询-子查询

    --子查询 --子查询返回一个值 --查询出工资和scott一样的员工信息 select * from emp where sal in (select sal from emp where enam ...

  6. java中讲讲PrintWriter的用法,举例?

    [学习笔记] 1.2 PrintWriter的用法 PrintWriter和PrintStream类似,只不过PrintStream是针对字节流的,而PrintWriter是针对字符流的. 例:1.2 ...

  7. ES-实战

     一.环境准备 操作系统:mac 依赖的软件:JDK1.8.Postman.NodeJs6.0以上.Maven.Idea ES下载:Elastic官方网站: http://www.elastic.co ...

  8. Kubernetes---资源控制器之DaemonSet、Job和CronJob

    ⒈DaemonSet介绍,什么是DaemonSet DaemonSet 确保全部(或者一些)Node 上运行一个Pod的副本[注意主节点并不会参加调度].当有 Node 加入集群时,也会为他们新增一个 ...

  9. Spring Boot(一) 初步理解Spring Boot

    一.Spring Boot所解决的问题 Java开发十分笨重:繁多的配置.低下的开发效率.复杂的部署流程以头疼的第三方技术集成. Spring Boot的理念:习惯优于配置——项目中存在大量的配置,此 ...

  10. .Net C# RSA签名和验签

    帮助类 using System; using System.Text; using System.IO; using System.Security.Cryptography; namespace ...