Centos7源码安装Zabbix3.4.7

特点

1、分布式监控

2、支持自动发现网络设备和服务器

3、设置报警值并通知管理员

4、支持图表

5、支持监控多种服务和跨平台系统监控

6、开源
IE --> B/S
注:需运行在LAMP平台之上

原理

1、Server:LAMP环境

2、Agent:搜集客户端数据传输给Server

3、SNMP:搜索网络设备数据传输给Server

搭建环境:

系统版本:Centos7x 3.10.0-514.el7.x86_64(两台)

zabbix软件版本:zabbix-3.4.7.tar.gz

MySQL版本:mysql-community-server.x86_64 0:5.7.22-1.el7

部署LAMP平台

关闭防火墙 systemctl stop firewalld.service

禁止防火墙开机自启 systemctl disable firewalld.service

关闭selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux

重启系统即可 reboot

一、部署zabbix_server

1、配置IP

1)vim /etc/sysconfig/network-scripts/ifcfg-ens32
Centos7源码安装Zabbix3.4.7
2)vim /etc/sysconfig/network-scripts/ifcfg-ens33
Centos7源码安装Zabbix3.4.7
3)重启reboot

2、安装LAMP平台和Zabbix依赖包

1)rm -rf /etc/yum.repos.d/ && vim /etc/yum.repos.d/local.repo

[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1

2)挂载光盘 mount /dev/cdrom /mnt

3)下载在线源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4)安装apache yum -y install httpd

5)安装mysql(由于yum源上没有mysql-server。所以必须去官网下载,这里 我们用wget命令,直接获取)
wget -i –c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

// 安装mysql的依赖包
yum -y install mysql57-community-release-el7-10.noarch.rpm
Centos7源码安装Zabbix3.4.7

//安装mysql数据库 yum -y install mysql-community-server
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7

//完成安装,重启mysql systemctl restart mysqld
Centos7源码安装Zabbix3.4.7

//此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log
Centos7源码安装Zabbix3.4.7

//复制粘贴上边的密码进入数据库 mysql -uroot -p
Centos7源码安装Zabbix3.4.7

//输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库修改密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
Centos7源码安装Zabbix3.4.7
以上报错是说新设置的密码过于简单
解决办法:

//首先按照默认密码格式复杂度更改
Centos7源码安装Zabbix3.4.7

//查看MySQL完整的初始密码规则,查看的前提是必须先用ALTER USER命令更改过密码(SHOW VARIABLES LIKE 'validate_password%';),
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7

//密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

//因为当前的密码太复杂不方便后期做实验,所以使用命令修改密码策略两种方式:
mysql> set global validate_password_policy=0;
Centos7源码安装Zabbix3.4.7

mysql> set global validate_password_policy=LOW;
Centos7源码安装Zabbix3.4.7

密码策略分四种:

1、OFF(关闭) 2、LOW(低) 3、MEDIUM(中) 4、STRONG(强)

//上边改完策略之后我们在改长度 mysql> SET GLOBAL validate_password_length=4;
Centos7源码安装Zabbix3.4.7

//都改完之后查看密码规则mysql> SHOW VARIABLES LIKE 'validate_password%';
Centos7源码安装Zabbix3.4.7

//接下来就可以将刚才的复杂密码改为简单的四位的密码了;
Centos7源码安装Zabbix3.4.7

//初始化数据库
mysql_secure_installation
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
注:执行完初始化命令后需要输入数据库root用户密码,然后默认如上截图一路回车即可。(以上截图问题也可根据自己实际情况进行选择)

//此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,因为当前数据库已安装完成,所以把这个卸载掉:
yum remove mysql57-community-release-el7-10.noarch.rpm
Centos7源码安装Zabbix3.4.7

3、安装php依赖包

yum -y install gcc autoconf httpd-manual modssl modperl modauthmysql php-gd php-xml php-ldap php-pear php-xmlrpc mysql-connector-odbc libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel java-devel openldap openldap-devel php-pdo ncurses-devel httpd php php-mysql OpenIPMI OpenIPMI-libs OpenIPMI-devel php-mbstring php-bcmath

4、配置php

1)vim /etc/php.ini

440 maxexecutiontime = 300
449 maxinputtime = 300
729 postmaxsize = 32M
946 date.timezone = Asia/Shanghai //更改时区为亚洲上海
1586 mbstring.funcoverload = 2

2)创建zabbix用户 useradd -M -s /sbin/nologin zabbix

3)创建zabbix日志存放目录mkdir /var/log/zabbix

4)创建zabbix配置文件存放目录mkdir /etc/zabbix

5)更改zabbix日志目录权限chown zabbix:zabbix /var/log/zabbix/

5、部署Zabbix_server

1、安装zabbix依赖包和基础组件

yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel curl curl-devel mydql-devel net-snmp snmp perl-DBI php-gd php-xml php-bcmath php-mbstring php-ldap php-odbc php-xmlrpc mysql-devel

2、编译安装Zabbix_Server

1) tar -zxvf zabbix-3.4.7.tar.gz -C /usr/src/

2)进入解压目录cd /usr/src/ zabbix-3.4.7

3)编译./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl
Centos7源码安装Zabbix3.4.7
注:如出现configure: error: MySQL library not found错误,是因为缺少mysql-devel该软件包,yum install mysql-devel进行安装。

--prefix----> 指定zabbix安装目录
--enable-server----> 支持zabbix服务器
--enable-agent----> 支持zabbix代理
--enable-proxy----> 支持zabbix代理服务器
--with-libcurl----> 使用curl包
--with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置
--with-mysql=/usr/bin/mysql_con

4)安装 make && make install(如下不报错即完成安装)
Centos7源码安装Zabbix3.4.7

6、Zabbix服务配置

1)拷贝启动脚本cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
注:如果发现使用以上截图方式启动服务,但是用netstat命令监听不到,或者不拷贝启动脚本则使用指定路径启动如下
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd

2)编辑zabbix配置文件 vim /etc/zabbix/zabbix_server.conf

12 ListenPort=10051 //监听端口号
39 LogFile=/var/log/zabbix/zabbix_server.log //定义server服务日志文件位置
77 DBHost=192.168.1.10 //定义数据库主机
87 DBName=zabbix //定义数据库名
103 DBUser=zabbix //定义连接数据库用户名
111 DBPassword=zabbix //定义连接数据库密码

3)编辑zabbix数据库连接文件 vim /etc/zabbix/zabbix_agentd.conf

21 LogFile=/var/log/zabbix/zabbix_agentd.log //定义agentd服务日志文件位置
82 Server=192.168.1.10 //定义server端服务IP
101 ListenPort=10050 //开启监听端口
123 ServerActive=192.168.1.10:10051 //定义server端服务IP
213 Include= /etc/zabbix/zabbix_agentd.conf.d/
228 UnsafeUserParameters=1 //启用自定义脚本功能

二、创建zabbix数据库和用户

1、启动数据库并设置为开机自启

systemctl start mysqld && systemctl enable mysqld

2、创建数据库和用户

mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
mysql> flush privileges;
Centos7源码安装Zabbix3.4.7

3、导入数据库表

1)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-3.4.7/database/mysql/schema.sql

2)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-3.4.7/database/mysql/images.sql

3)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-3.4.7/database/mysql/data.sql
Centos7源码安装Zabbix3.4.7

4、部署Zabbix访问页面

1)cp -rf /usr/src/zabbix-3.4.7/frontends/php/ /var/www/html/zabbix

2)chown -R apache:apache /var/www/html/zabbix/
Centos7源码安装Zabbix3.4.7

5、访问Zabbix页面

1)启动apache并设置为开机自启
Centos7源码安装Zabbix3.4.7
IE--> 192.168.1.10/zabbix
Centos7源码安装Zabbix3.4.7

结果刚点击下一步就报错如下:
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
就解决办法:
打开/etc/php.ini
将mbstring.func_overload注释掉如下:
Centos7源码安装Zabbix3.4.7
注:修改完之后重启apache就好
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
注:如果看不懂英文可以如上图先登陆zabbix监控界面然后点击右上角小人头进行更改界面的语言,如下截图
Centos7源码安装Zabbix3.4.7

三、添加Zabbix监控服务器

1、这里以添加192.168.1.10这个IP为例

Centos7源码安装Zabbix3.4.7

2、添加主机参数注意客户端名称以及对外显示名称、群组和IP地址(包括dns name区别) 是否设置代理。其他的根据自身情况设置。

Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7

3、选择主机监控使用的模版,这里监控的是一台centos 7,搜索linux 选择第一个以后点击添加即可。

Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
至此,zabbix_server主机添加完成!

四、部署zabbix_agent客户端(192.168.1.20)

1、配置agent端IP

vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.20
NETMASK=255.255.255.0
NAME=ens32
UUID=4870e4c2-0c5b-4c26-929e-8ba61cb62504
DEVICE=ens32
ONBOOT=yes

2、调整系统环境

关闭防火墙 systemctl stop firewalld.service
禁止防火墙开机自启 systemctl disable firewalld.service
关闭selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux

3、重启机器

重启 reboot

4、部署zabbix_agent

1)安装zabbix依赖包和基础组件
yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel curl curl-devel mydql-devel net-snmp snmp perl-DBI php-gd php-xml php-bcmath php-mbstring php-ldap php-odbc php-xmlrpc gcc*

2)编译安装Zabbix_agent
//解压zabbix到/usr/src/ tar -zxvf zabbix-3.4.7.tar.gz -C /usr/src/
//进入解压目录 cd /usr/src/ zabbix-3.4.7
//编译Zabbix_agent ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent
Centos7源码安装Zabbix3.4.7
//安装Zabbix_agent make && make install
Centos7源码安装Zabbix3.4.7

5、创建zabbix用户

1)创建zabbix用户

useradd -M -s /sbin/nologin zabbix

2)创建zabbix日志存放目录

mkdir /var/log/zabbix

3)更改zabbix日志目录权限

chown zabbix:zabbix /var/log/zabbix/

6、配置Zabbix_agent

1)拷贝agent启动脚本

cp /usr/src/zabbix-3.4.7/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

2)给予启动脚本执行权限

chmod +x /etc/init.d/zabbix_agentd

3)软链接更改环境变量

ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/

4)更改agent配置文件

vi /etc/zabbix/zabbix_agentd.conf
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7
Centos7源码安装Zabbix3.4.7

5)注册agent服务为系统服务

chkconfig --add /usr/local/zabbix/sbin/zabbix_agentd
Centos7源码安装Zabbix3.4.7

6)启动服务

/etc/init.d/zabbix_agentd start
Centos7源码安装Zabbix3.4.7
注:建议使用绝对路径启动 /usr/local/zabbix/sbin/zabbix_agentd

7、Web界面添加主机(在服务端web界面添加即可)

这步骤我就不重复了同上边的web添加主机方式一样,而且这是agent端没有特殊需求,建议不用单独搭建web,直接在服务端的web里添加这台主机就好。

转载于:https://blog.51cto.com/13043516/2104788

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值