Centos7 zabix3.4.7搭建

Zabbix

1.特点
1)分布式监控
2)支持自动发现网络设备和服务器
3)设置报警值并通知管理员
4)支持图表
5)支持监控多种服务和跨平台系统监控
6)开源
IE --> B/S
注:需运行在LAMP平台之上

2.原理
1)Server:LAMP环境,
2)Agent:搜集客户端数据传输给Server
3)SNMP:搜索网络设备数据传输给Server

一、部署Zabbix

搭建环境:两台centos7x64服务器,一台Server、一台Client,Server两块网卡,第一块桥接,第二块vmnet1,client为vmnet1网卡
部署LAMP平台

关闭selinux #setenforce 0 临时关闭需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用sed -i"s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
确认是否修改成功
grep SELINUX /etc/selinux/config
然后重启系统即可
reboot
关闭防火墙 :
systemctl stop firewalld.service 停止firewall
systemctl disable firewalld.service 禁止firewall开机启动

1.配置IP
1)rm -rf /etc/udev/rules.d/70-persistent-cd.rules
2)vim /etc/sysconfig/network-scripts/ifcfg-ens32

3)cp /etc/sysconfig/network-scripts/ifcfg-ens32
/etc/sysconfig/network-scripts/ifcfg-ens33

4)重启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

//安装mysql数据库 yum -y install mysql-community-server

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

//复制粘贴上边的密码进入数据库 mysql -uroot -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库修改密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';

以上报错是说新设置的密码过于简单
解决办法:
//首先按照默认密码格式复杂度更改

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

//密码的长度是由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;

mysql> set global validate_password_policy=LOW;

注:密码策略分四种
1、OFF(关闭) 2、LOW(低) 3、MEDIUM(中) 4、STRONG(强)
上边改完策略之后我们在改长度 mysql> SET GLOBAL validate_password_length=4;

都改完之后查看密码规则mysql> SHOW VARIABLES LIKE 'validate_password%';

接下来就可以将刚才的复杂密码改为简单的四位的密码了;

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

3、安装php依赖包
yum -y install gcc* autoconf httpd-manual mod_ssl mod_perl mod_auth_mysql 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 max_execution_time = 300
449 max_input_time = 300
729 post_max_size = 32M
946 date.timezone = Asia/Shanghai //更改时区为亚洲上海
1586 mbstring.func_overload = 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/

二、部署Zabbix

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

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
--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
注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包,yum install mariadb-devel进行安装
4)安装 make && make install(如下不报错即完成安装)

2.Zabbix服务配置
1)拷贝启动脚本cp misc/init.d/fedora/core/zabbix_* /etc/init.d/

注:也可以不拷贝启动脚本使用指定路径启动如下
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start

2)编辑zabbix配置文件 vim /etc/zabbix/zabbix_server.conf
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
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@'192.168.1.10' identified by 'zabbix';
mysql> flush privileges;

3、导入数据库表
1)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-2.0.12/database/mysql/schema.sql
2)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-2.0.12/database/mysql/images.sql
3)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-2.0.12/database/mysql/data.sql

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/

5、访问Zabbix页面
1)启动apache并设置为开机自启

IE--> 192.168.1.10/zabbix

结果刚点击下一步就报错如下:

就解决办法:
打开/etc/php.ini
将mbstring.func_overload注释掉如下:

注:修改完之后重启apache就好

注:如果看不懂英文可以如上图先登陆zabbix监控界面然后点击右上角小人头进行更改界面的语言,如下截图

四、添加Zabbix监控服务器

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

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

猜你喜欢

转载自blog.51cto.com/13043516/2104788
今日推荐