Centos7部署zabbix(源码安装)

1.监控工具

Cacti–用于监控,以时间为单位。不停变化的数据(使用率-cpu 网络流量)
Nagios–主要用于监控服务状态on–off
一台web——同时100人请求–响应时候一个一个回复
一个人1s,回复100s–等待期间,不判定服务状态
软状态:在他确定死亡之前,所有测试获取的状态
硬状态:确定你game over
很多模板:监控什么?(监控什么系统?什么系统上什么服务?什么服务 什么指标?时间?报警给谁?)–都需要自己去定义
zabbix–zabbix是完全取代前两者,完全能够通过web页面去直观展示监控结果

   SNMP--简单网络管理协议
  多简单——认证上--
  100台路由器--监控其中20台--“团体名”--明文传输
  各个厂商都支持--监控流量(cpu 内存)

MIB库 OID --帮助建立监控体系(唯一性)
zabbix-proxy–分布式(1、跨机房,2、当下有终端过多(500台左右)分担Server压力
## 台左右)

## 万年老二—永远不可能单独工作,收集到agent数据,定期向Server汇报(Proxy具备自己的数据库,数据库+Proxy组件,绝对不可和Server同台服务器–进行数据备份)
官方-proxy不支持GUI界面

2.实战部署zabbix(本次安装以3.2版本为例,安装方法同样适用于4.0以上版本)
部署环境:centos7

[root@ceshi_server ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)部署前环境检查:
[root@ceshi_server ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8

[root@ceshi_server ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=69.3 ms

[root@ceshi_server ~]# cd /etc/yum.repos.d/
[root@ceshi_server yum.repos.d]# ll
总用量 20
-rw-r--r-- 1 root root   67 11月  8 08:59 aa.repo
-rw-r--r-- 1 root root  990 11月  7 11:16 CentOS-Base.repo
-rw-r--r-- 1 root root 1050 9月  18 07:25 epel.repo
-rw-r--r-- 1 root root 1149 9月  18 07:25 epel-testing.repo
-rw-r--r-- 1 root root  120 11月  8 08:59 mongodb.repo


[root@ceshi_server yum.repos.d]# yum repolist all
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: ftp.riken.jp
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
源标识                                源名称                                                                     状态
!aa                                   aa                                                                         启用: 24,570
!base/7/x86_64                        CentOS-7 - Base - mirrors.aliyun.com                                       启用: 10,097
!epel/x86_64                          Extra Packages for Enterprise Linux 7 - x86_64                             启用: 13,447
!extras/7/x86_64                      CentOS-7 - Extras - mirrors.aliyun.com                                     启用:    305
!mongodb                              mongodb                                                                    启用:     10
!updates/7/x86_64                     CentOS-7 - Updates - mirrors.aliyun.com                                    启用:    711
repolist: 49,140

如果没有安装epel源,请先安装,安装完重建yum元数据并更新yum软件包

yum -y install epel-release
yum clean all
yum makecache
yum update 

下载zabbix安装包,可以通过wget官网下载链接,也可以下载到本地在上传,先安装两个辅助命令

yum -y install wget
yum -y install lrzsz
用法:
wget +下载链接。不指定路径默认当前路径
rz -E +包名(请用crt或者xshell执行)

因为官网下载链接较慢,可以切换到国内的源(请自行查阅相关文档),然后查看软件包是否下载成功或上传成功这里不在演示zabbix软件包下载过程,我已经提前下载到本地,下载链接复制官网的即可或者下载到本地再上传也可)

[root@ceshi_server ~]# ll
总用量 15656
-rw-r--r--  1 root root 16016367 11月 15 14:31 zabbix-3.2.7.tar.gz

解压软件包

[root@ceshi_server ~]# tar -zxvf zabbix-3.2.7.tar.gz

进入解压目录

[root@ceshi_server ~]# cd zabbix-3.2.7/

创建zabbix安装目录

[root@ceshi_server zabbix-3.2.7]# mkdir /usr/local/zabbix

开始进行预编译

[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl

编译过程报错处理

configure: error: in `/root/zabbix-3.2.7':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
安装C语言依赖,解决此问题
yum -y install gcc gcc-c++
安装完c依赖后继续执行编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl


checking for mysql_config... no
configure: error: MySQL library not found
安装mysql-devel解决此报错
yum -y install mysql-devel
解决依赖后继续执行编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl



checking for curl-config... no
configure: error: Curl library not found
安装curl-deverl解决此报错
yum -y install curl-devel
解决依赖后继续执行编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl


预编译结束,如下

***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *

开始编译安装zabbix

[root@ceshi_server zabbix-3.2.7]# make && make install

启动Apache,关闭防火墙,关闭selinux(或者自行添加防火墙规则和匹配上下文,为了方便我这里选择禁用)

[root@ceshi_server zabbix-3.2.7]# systemctl start httpd
[root@ceshi_server zabbix-3.2.7]# systemctl enable httpd
[root@ceshi_server zabbix-3.2.7]# iptables -F
[root@ceshi_server zabbix-3.2.7]# setenforce 0
[root@ceshi_server zabbix-3.2.7]# systemctl stop firewalld

拷贝zabbix目录下的php文件到Apache目录

[root@ceshi_server zabbix-3.2.7]# cp /root/zabbix-3.2.7/frontends/php/* /var/www/html/ -a
[root@ceshi_server zabbix-3.2.7]# systemctl restart httpd.service 

打开浏览器输入http://ip

http://172.30.90.25

报错处理(谷歌浏览器自动翻译后的页面,注意看关键词)

PHP帖子的最小要求大小为16M(配置选项“ post_max_size”)。
PHP脚本执行时间的最低要求限制为300(配置选项“ max_execution_time”)。
PHP脚本的输入解析时间的最低要求限制为300(配置选项“ max_input_time”)。
未设置PHP的时区(配置参数“ date.timezone”)。
缺少PHP bcmath扩展名(PHP配置参数--enable-bcmath)。
缺少PHP mbstring扩展名(PHP配置参数--enable-mbstring)。
缺少PHP gd扩展名(PHP配置参数--with-gd)。
缺少PHP gd PNG图片支持。
缺少PHP gd JPEG图像支持。
缺少PHP gd FreeType支持。
PHP xmlwriter扩展名丢失。
PHP xmlreader扩展名丢失。

安装php相关组件依赖(需要用到开始安装的epel源)

yum -y install php-gd php-mbstring php-bcmath php-xml
[root@ceshi_server zabbix-3.2.7]# systemctl restart httpd

再次登录浏览器,刷新页面

PHP帖子的最小要求大小为16M(配置选项“ post_max_size”)。
PHP脚本执行时间的最低要求限制为300(配置选项“ max_execution_time”)。
PHP脚本的输入解析时间的最低要求限制为300(配置选项“ max_input_time”)。
未设置PHP的时区(配置参数“ date.timezone”)。
当前值	需要	
PHP版本	5.4.16	5.4.0	好
PHP选项“ memory_limit”	128M	128M	好
PHP选项“ post_max_size”	8M	1600万	失败
PHP选项“ upload_max_filesize”	2M	2M	好
PHP选项“ max_execution_time”	30	300	失败
PHP选项“ max_input_time”	60	300	失败

修改php配置文件

[root@ceshi_server zabbix-3.2.7]# vim /etc/php.ini 
:/post_max     直接定位到报错的关键行
post_max_size = 16M  就按报错提示的最低要求修改即可
:/max_exe       直接定位到报错的关键行
max_execution_time = 300   就按报错提示的最低要求修改即可
:/max_in        直接定位到报错的关键行
max_input_time = 300        就按报错提示的最低要求修改即可
:/date.time     直接定位到报错的关键行
date.timezone = Asia/shanghai     时区改为亚洲/上海,注意date前面的字符要去掉,否则修改无效
确认无误保存退出后重启apache
[root@ceshi_server zabbix-3.2.7]# systemctl restart httpd.service

再次刷新页面

PHP版本	5.4.16	5.4.0	好
PHP选项“ memory_limit”	128M	128M	好
PHP选项“ post_max_size”	1600万	1600万	好
PHP选项“ upload_max_filesize”	2M	2M	好
PHP选项“ max_execution_time”	300	300	好
PHP选项“ max_input_time”	300	300	好
PHP选项“ date.timezone”	亚洲/上海		好
PHP数据库支持	的MySQL
好
PHP的bcmath	上		好
PHP的mbstring	上		好
PHP选项“ mbstring.func_overload”	关	关	好
PHP套接字	上		好
PHP gd	2.1.0	2.0	好
PHP gd PNG支持	上		好
PHP gd JPEG支持	上		好
PHP gd FreeType支持	上		好
PHP的libxml	2.9.1	2.6.15	好
PHP xmlwriter	上		好
PHP xmlreader	上		好
PHP LDAP	关		警告
PHP的ctype	上		好
PHP会话	上		好
PHP选项“ session.auto_start”	关	关	好
PHP的gettext	上		好
PHP选项“ arg_separator.output”	和	和	好

全部ok后执行下一步(ldap警告忽略掉,未配置相关服务)

无法连接到数据库。
细节
连接数据库时出错:无法通过套接字'/var/lib/mysql/mysql.sock'(2)连接到本地MySQL服务器

启动数据库

[root@ceshi_server zabbix-3.2.7]# systemctl start mariadb.service 
[root@ceshi_server zabbix-3.2.7]# systemctl enable mariadb.service 

配置数据库

[root@ceshi_server zabbix-3.2.7]# mysql

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)
创建数据库zabbix
MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.00 sec)
授权本地主机访问zabbix数据库权限
MariaDB [(none)]> grant all on *.* to 'zabbix'@'localhost' identified by '';
Query OK, 0 rows affected (0.00 sec)
刷新
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
设置完后exit退出数据库

再次刷新页面

无法连接到数据库。
细节
前端与Zabbix数据库不匹配。

创建zabbix数据库前端匹配

创建zabbix数据库用户

MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> show tables;
Empty set (0.00 sec)

导入zabbix数据库

[root@ceshi_server zabbix-3.2.7]# cd /root/zabbix-3.2.7/database/mysql/
[root@ceshi_server mysql]# ll
总用量 3068
-rw-r--r-- 1 bfchain bfchain 1036662 7月  18 2017 data.sql
-rw-r--r-- 1 bfchain bfchain 1978341 7月  18 2017 images.sql
-rw-r--r-- 1 bfchain bfchain  122134 7月  18 2017 schema.sql

[root@ceshi_server mysql]# mysql zabbix < schema.sql 
[root@ceshi_server mysql]# mysql zabbix < images.sql 
[root@ceshi_server mysql]# mysql zabbix < data.sql 

再次刷新zabbix安装页面

Database type	MySQL
Database server	localhost
Database port	default
Database name	zabbix
Database user	zabbix
Database password	
 	
Zabbix server	localhost
Zabbix server port	10051
Zabbix server name	
发现现在已经没有报错项了,点击下一步

下一步后出现如下提示

Cannot create the configuration file.
Details
Unable to create the configuration file.
Alternatively, you can install it manually:

Download the configuration file
Save it as "/var/www/html/conf/zabbix.conf.php"

解决方案

按照上面的提示,点击下载文件到本地,然后上传到上面的路径下面,注意,这里有个坑,请按我的操作执行,否则可能会陷入页面刷新死循环,如果发现上传后还是出现这个提示,请把拷贝的文件删除掉(cp /root/zabbix-3.2.7/frontends/php/* /var/www/html/ -a),重新拷贝,在执行下载上传操作

[root@ceshi_server html]# cd /var/www/html/conf/
[root@ceshi_server conf]# ll
总用量 8
-rw-r--r-- 1 bfchain bfchain 1036 7月  18 2017 maintenance.inc.php
-rw-r--r-- 1 bfchain bfchain  411 7月  18 2017 zabbix.conf.php.example

用开始说的rz命令上传文件到此目录下面
[root@ceshi_server conf]# rz -E 
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring zabbix.conf.php...
  100%     409 bytes  409 bytes/sec 00:00:01       0 Errors  

[root@ceshi_server conf]# ll
总用量 12
-rw-r--r-- 1 bfchain bfchain 1036 7月  18 2017 maintenance.inc.php
-rw-r--r-- 1 root    root     409 11月 12 21:22 zabbix.conf.php
-rw-r--r-- 1 bfchain bfchain  411 7月  18 2017 zabbix.conf.php.example

再次刷新页面,发现已经可以正常登陆了,登陆账号为Admin密码为zabbix
登陆以后,发现zabbix-server未运行,给出如下解决方案

Zabbix服务器正在运行	没有	本地主机:10051
[root@ceshi_server ~]# cp -a /root/zabbix-3.2.7/misc/init.d/tru64/zabbix_* /etc/init.d/
[root@ceshi_server ~]# chmod +x /etc/init.d/zabbix_*
[root@ceshi_server ~]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
[root@ceshi_server ~]# useradd zabbix -s /sbin/nologin
[root@ceshi_server ~]# /etc/init.d/zabbix_server start
[root@ceshi_server ~]# /etc/init.d/zabbix_agentd start

再次刷新页面

Zabbix服务器端运行中	是	localhost:10051

结束


这世上没有什么比坚持对成功的意义更大!

发布了5 篇原创文章 · 获赞 3 · 访问量 84

猜你喜欢

转载自blog.csdn.net/weixin_43838503/article/details/104472545