Zabbix监控的搭建理论

1.      Zabbix Server会去采集监控数据,采集的监控数据会写入到SQL数据库

2.      Zabbix的WEB后端采用php语言开发,所有配置信息、用户认证信息等会写入SQL数据库

3.      企业级Zabbix的搭建依赖的环境:主流采用LNMP环境(Centos7+Nginx+Mysql+Php)

LNMP web环境下用户的请求流程

用户 -> Nginx -> php-fpm -> 运行php程序 -> 操作mysql 

部署顺序说明

1.      Nginx+php-fpm的环境搭建

2.      Mysql服务器搭建

3.      Zabbix Server搭建

4.      Zabbix网页展示

其中nginx和php-fpm以及mysql安装可以看我其它博文,里面都有说怎么源码安装

1.zabbix的部署原理

  • 1.      zabbix server需要把监控数据入sql数据库,所以得Mysql环境
  • 2.      zabbix的web是基于php开发的,所以得LNMP环境
  • 3.      部署zabbix server和zabbix web
zabbix的官网
https://www.zabbix.com/
2.Zabbix Server编译安装
安装依赖
yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
创建zabbix用户
 useradd -s /sbin/nologin zabbix
下载zabbix源码包
cd /usr/local/src/
解压编译
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
make  && make install
 
选项说明
1)     --prefix指定安装目录
2)     --enable-server安装zabbix server
3)     --enable-agent安装zabbix agent
4)     --with-mysql用mysql来存储
 
4.环境变量设置:
vim /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
source /etc/profile ###立即生效
echo $PATH
查看版本:zabbix_server --version
启动:zabbix_server
==============================================
启动时可能会出现如下问题报错
解决tpcc_load 报错 error while loading shared libraries: libmysqlclient.so.20
在刚开始导入tpcc数据仓库时,可能会遇到 error while loading shared libraries: libmysqlclient.so.20这个错误,找不到库文件。
但是,通过find 能查找到这个文件
[root@mysqlserver src]# find / -name libmysqlclient.so.20
/usr/local/mysql/lib/libmysqlclient.so.20
/usr/local/src/mysql-5.7.16/libmysql/libmysqlclient.so.20
所以,这个文件时存在的,只是查找这个库文件的时候没有找到这个路径。
如何解决:建一个软连接到一个常用的 lib目录
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20
这个在试试还报错吗?
如果还报这个错的话,可能还不认这个目录,那就在  /etc/ld.so.conf下添加一行  /usr/local/lib ,如下
[root@mysqlserver src]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
然后,再使用命令重新加载一下 ldconfig -v
这时,应该这个报错不会再出现了
=============================================
5.登录数据库创建zabbix用户和导入zabbix库
Mysql数据库初始化mysql -h 127.0.0.1 -uroot -pzabbixpwd -A
create database zabbix character set utf8 collate utf8_bin;    ##创建zabbix库和设置格式
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
flush privileges;       ##刷新权限
set names utf8;       ##设置字符集
use zabbix;       ##切换到zabbix库中
把源码/data/tools/zabbix-4.0.3/database/mysql安装路径下三个sql文件导入数据库中
source /data/tools/zabbix-4.0.3/database/mysql/schema.sql;
source /data/tools/zabbix-4.0.3/database/mysql/data.sql;
source /data/tools/zabbix-4.0.3/database/mysql/images.sql;
 
编辑zabbix server的配置
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/zabbix_server.log
DBSocket=/data/mysql/mysql.sock ### 此处是我数据库sock的地址,如果大家不是此处,你们可以通过find / -name mysql.sock搜索把地址写到此处
DBHost=127.0.0.1 ###此处注意了,建议大家部署同一台设备上面时,此处写环回地址,别写localhost
DBName=zabbix ###数据库库名
DBUser=zabbix ###数据刚创建的管理用户
DBPassword=zabbix ###数据库管理用户密码
DBPort=3306
Timeout=30
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts
LogSlowQueries=3000
 
chown zabbix:zabbix -R /usr/local/zabbix/   ###修改zabbix目录的权限
zabbix_server   ###启动zabbix
 
ps -ef | grep zabbix    ###查看zabbix服务是否启动
 
6.Zabbix Web的安装
mkdir /usr/local/nginx/html/zabbix   ##创建zabbix web 的文件目录
cp -a /data/tools/zabbix-4.0.3/frontends/php/* /usr/local/nginx/html/zabbix/
###把源码安装包路径下的文件cp到zabbix web文件目录当中
重新加载nginx服务
systemctl reload nginx.service
访问zabbix web,需要做一些初始化配置
http://172.x.x.152/zabbix/
 初始化根据自己上面配置的数据库密码用户等信息填写
zabbix web需要php做配置优化
首先会提示如下错误:

当zabbix初始化下一步后会出现一些检查不通过的红色提示,只需要根据提示修改参数就行,下面是根据提示修改的配置

通过进入如下php配置文件中把对应的报错按照提示参数进行修改:
vim /usr/local/php/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
 
systemctl restart php-fpm    ###修改完成后重启php-fpm服务
 
出现如下错误时:

当完成上面步骤优化后,还会有提示,提示我们把配置下载下来,然后把配置放到对应目录

    1. 点击蓝色连接把配置文件下面下来,(其实配置文件里面内容就是上步骤填写的信息参数)
    2. 按照提示路径把刚下载下来的配置写到提示路径里面去
vim /usr/local/nginx-1.16.0/html/zabbix/conf/zabbix.conf.php
    1. 点击完成配置,或者重新刷新配置
 
7.访问页面及用户名和密码
URL: http://172.x.x.152/zabbix
默认用户名:Admin
默 认 密 码 : zabbix
8.登录后优化配置
    1. 禁用Zabbix server主机的监控
    1. 禁用guest用户
    1. 更改Admin的密码,改成自己的密码
本来想把自己截图和优化的截图以及如何尽心汉化都一起放上来,但由于直接粘不来上会看不到,一直为此事发愁呀,有朋友知道怎么处理的可以留言告知,谢谢。

Centos7.5 ZABBIX4.0.3版本的编译安装的更多相关文章

  1. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版

    zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...

  2. nginx-1.12.0版本(编译安装)-自定义安装路径

    nginx-1.12.0版本(编译安装)-自定义安装路径 安装路径:/application/nginx-1.12.0 1.前期准备 安装编译需要的gcc和gcc-c++ yum install -y ...

  3. CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached

    声明:部分编译指令在博客编辑器里好像被处理了,如双横线变成单横线了等等,于是在本地生成了一个pdf版本,在下面地址可以下载. LNMP+Memcached CentOS是红帽发行的免费的稳定Linux ...

  4. 在CUDA8.0下指定位置编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)

    在CUDA8.0下指定位置编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0 ...

  5. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10

    一.安装前的准备工作 1.yum update    #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2  ...

  6. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10.1

    一.安装前的准备工作 1.yum update    #更新系统 1.1)vi /etc/selinux/config #  禁止SELINUX,设置SELINUX=disabled 2.yum in ...

  7. Centos7 kernel 内核升级 GPU显卡驱动程序编译安装

    1.NVIDIA官网下载相关显卡驱动 #在服务器上查看网卡型号 lspci -mm | grep NVIDIA   #在NVIDIA官网下载相应型号驱动程序 https://www.geforce.c ...

  8. Debian 7 amd64--TP-LINK TL-WN725N 2.0源码驱动编译安装

    租房用的是无线网络,在新安装的Debian 7 amd64使用的无线网卡型号是TP-LINK TL-WN725N 2.0,发现驱动安装还是有些问题,折腾了很久,特意在此记录一下. TL-WN725N ...

  9. ELK(Elasticsearch6.0以上版本head插件安装)

    参考:https://www.cnblogs.com/Onlywjy/p/Elasticsearch.html Elasticsearch6.0不能使用命令直接安装head插件 修改配置文件/etc/ ...

随机推荐

  1. jQuery中的闭包和js中的闭包总结

    关于闭包的知识总结下: 一.闭包 1.定义 闭包的关键是作用域,概念是:能有读取其他函数内部的函数 使用的场景有很多,最常见的是函数封装的时候,再就是在使用定时器的时候,会经常用到; //闭包:有参数 ...

  2. fedora从22开始就用dnf代替yum了

    yum有一些不好的缺点, 从fc22开始, 就用 dnf代替yum了 dnf: "毒奶粉" yum: "黄狗" dnf的用法根yum的用法完全一样, 只是用dn ...

  3. 【C++进阶】getline

    在<istream>中的getline函数有两种重载形式: istream& getline (char* s, streamsize n );istream& getli ...

  4. Vue知识整理8:条件、URL、点击

    1.通过v-if实现对条件的判断和执行: 2.通过v-bind:href实现对url地址的绑定,其中url写在data中: 3.通过@click="click1"实现点击事件,其中 ...

  5. Navicat12 for Mysql破解教程

    1. 注册机和Navicat网盘下载地址 链接:https://pan.baidu.com/s/1taWdnaLCPIu8xmNm1uV-Ng 提取码:no8l 2. 请先安装navicat for ...

  6. 举例讲解Python中的死锁、可重入锁和互斥锁

    举例讲解Python中的死锁.可重入锁和互斥锁 一.死锁 简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况. 1.迭代死锁 该情况是一 ...

  7. 操作系统(1)——X86-32硬件介绍、实验环境相关配置、uCore部分技巧介绍

    实验环境 本文假设已经创建虚拟机并配置好Ubuntu 16.04(网上太多教程了,所以这里就不赘述了). X86-32硬件介绍 x86指的是80386这种机器(一种32位CPU,在早期得到了广泛的应用 ...

  8. ARP协议基础

    ARP 什么是ARP协议 ARP协议是能够根据IP地址解析出该IP地址所在设备的MAC地址,叫(Address Resolution Protocol)地址解析协议 ARP地址的工作流程 当一台主机A ...

  9. 第六周学习总结&(实验报告四)

    一.实验目的 (1)掌握类的继承方法 (2)变量的继承和覆盖,方法的继承,重载和覆盖实现 二.实验内容 一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实 ...

  10. MySQL8 clone plugin

    安装MySQl8.0.17 下载 MySQL8.0.17 二进制版本 https://dev.mysql.com/downloads/mysql/ 解压,修改权限 -linux-glibc2.-x86 ...