0基础安装部署zabbix

  zabbix是什么我就不进行介绍了,如果不知道的请自行百度
  由于我也是第一次接触到运维,所以在安装部署zabbix的时候出现了非常非常多的问题,而现在我找到的博文中也没有那种非常详尽的教程,所以在我完成了我第一次安装部署zabbix,写下这篇博文,希望对大家有所帮助。
  首先我要说一说我的安装部署的环境:centos7 + mysql5.7 + apache2.4 + php7
  因为安装部署zabbix需要LAMP或者是LNMP环境,所以这个博文共分为三部分。安装LAMP,服务端的安装部署,客户端的安装部署。由于这是0基础学习安装部署zabbix,所以我们不是用的最简单的yum安装,而是使用wget命令编译安装部署

一、编译安装LAMP

 1、编译安装mysql5.7

   因为centos7.2以上默认安装了mariadb-libs,所以要先卸载掉,如果不卸载掉可能安装的时候会报错。
   首先查看是否安装mariadb-libs

[root@kang ~]# rpm  -qa | grep  mariadb-libs
mariadb-libs-5.5.44-2.el7.centos.x86_64`

   卸载mariadb-libs

[root@kang ~]# rpm  -e  mariadb-libs --nodeps

   安装必要的依赖

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git  ncurses-devel

   下载mysql和boost

cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

   解压mysql

tar -zxvf mysql-5.7.20.tar.gz

   将boost的压缩包移动至解压后的源文件目录内:

mv boost mysql-5.7.20 	#boost请根据你下载的版本按tab自动补齐

   进入MySQL源文件目录,新建configure做为编译目录,并进入该目录:

cd mysql-5.7.20
 mkdir configure
cd configure

   使用cmake进行生成编译环境:

cmake .. -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DCMAKE_INSTALL_PREFIX=/var/mysql/ \
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EDITLINE=bundled \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DWITH_BOOST=..

   使用make进行编译:

make

   安装MySQL:

make install

   添加mysql用户:

useradd -s /sbin/nologin mysql

   新建数据库文件夹及日志文件夹,并更改用户为mysql:

mkdir /mysql_data
mkdir /var/mysql/log
chown -R mysql:mysql /mysql_data/
chown -R mysql:mysql /var/mysql/log

   修改配置文件

vim /etc/my.cnf

   将[mysqld]项下的内容替换为:

[mysqld]
port=3306
datadir=/mysql_data
log_error=/var/mysql/log/error.log
basedir=/var/mysql/

   初始化数据库

/var/mysql/bin/mysqld  --initialize --user=mysql

   从模板文件中复制启动文件:

cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld

   修改配置文件

vim /etc/init.d/mysqld

   找到如下两行

basedir=
datadir=

   修改为:

basedir=/var/mysql/
datadir=/mysql_data

   启动mysql

systemctl enable mysqld

   配置MySQL环境变量

vim /root/.bash_profile

   找到下面一行:

PATH=$PATH:$HOME/bin

   修改为:

PATH=$PATH:$HOME/bin:/var/mysql/bin

   立即生效

source ~/.bash_profile

   MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码:

[root@localhost ~]# cat /var/mysql/log/error.log |grep 'A temporary password'
2017-11-13T06:28:23.096812Z 1 [Note] A temporary password is generated for root@localhost: wa&sk371_,US

   最后一行冒号后面的部分bkv,dy,)o7Ss就是初始密码。
   使用初始密码登录MySQL:

[root@localhost ~]# mysql -uroot -p
Enter password:

   登录后立即修改root密码:

mysql> alter user 'root'@'localhost' identified by 'your_password';
Query OK, 0 rows affected (0.00 sec)

   其中your_password是你设置的新密码。新密码应是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上。

 2、编译安装Apache

   CentOS 7.2系统默认开启了防火墙,需关闭后外部才可访问本机的80、21等端口,如需做安全类配置可自行参考官方文档。
   关闭防火墙,关闭防火墙开机自启动:

systemctl stop firewalld.service
systemctl disable firewalld.service

   安装vim及unzip:

yum install -y vim unzip

   编译安装apache前需要安装apr、apr-util和pcre软件包和相关依赖包。

yum install -y gcc gcc-c++ autoconf libtool

   安装apr

cd /usr/local/src/
wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-1.5.0.tar.gz
tar zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install

   安装apr-util

cd /usr/local/src/
wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-util-1.5.3.tar.gz
tar zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

   安装pcre

cd /usr/local/src/
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/pcre/pcre-8.38.tar.gz
tar zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/usr/local/pcre
make && make install

   编译安装apache

cd /usr/local/src/
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/apache/httpd-2.4.23.tar.gz
tar zxvf httpd-2.4.23.tar.gz
cd httpd-2.4.23
./configure \
--prefix=/usr/local/apache --sysconfdir=/etc/httpd \
--enable-so --enable-cgi --enable-rewrite \
--with-zlib --with-pcre=/usr/local/pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-mods-shared=most --enable-mpms-shared=all \
--with-mpm=event
make && make install

   修改httpd.conf配置文件参数

cd /etc/httpd/
vim httpd.conf

   找到Directory参数,注释掉Require all denied添加Require all granted。
在这里插入图片描述
   找到ServerName参数,添加ServerName localhost:80 然后,按Esc键后输入:wq保存退出。
0基础安装部署zabbix_第1张图片
   设置PidFile路径

vim /etc/httpd/httpd.conf

   最后添加如下内容:

PidFile /var/run/httpd.pid

   启动Apache服务并验证

cd /usr/local/apache/bin/
./apachectl start
netstat -tnlp #查看服务是否开启

   在本地浏览器中输入云服务器的公网IP地址验证,出现下图表示安装成功。
0基础安装部署zabbix_第2张图片
   设置开机自启。在rc.local文件中添加/usr/local/apache/bin/apachectl start,然后输入:wq保存退出。

vim /etc/rc.d/rc.local

0基础安装部署zabbix_第3张图片
   设置环境变量

vi /root/.bash_profile

   在PATH=添加参数为:

PATH=$PATH:$HOME/bin:/usr/local/apache/bin

   然后输入:wq保存退出,执行:

source /root/.bash_profile

 3、编译安装PHP以及其扩展模块

   依赖安装

yum install php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel libmcrypt-devel mysql-devel -y
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/php/php-7.0.12.tar.gz
tar zxvf php-7.0.12.tar.gz
cd php-7.0.12
./configure \
--prefix=/usr/local/php \
--with-mysql=mysqlnd --with-openssl \
--with-mysqli=mysqlnd \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib --with-libxml-dir=/usr \
--enable-xml --enable-sockets \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mcrypt --with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--disable-fileinfo
make && make install

   复制配置文件

cd php-7.0.12
cp php.ini-production /etc/php.ini

   编辑apache配置文件httpd.conf,以apache支持php

vim /etc/httpd/httpd.conf

   在配置文件最后添加如下二行:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

   定位到 DirectoryIndex index.html,修改为:

DirectoryIndex index.php index.html

   重启

/usr/local/apache/bin/apachectl restart

   测试是否成功

cd /usr/local/apache/htdocs/
vim index.php #添加如下内容

   访问云服务器的公网IP/index.php,出现如下页面表示解析成功。
0基础安装部署zabbix_第4张图片
   安装 gd 前置库 : freetype ,jpegsrc,libpng。
    freetype

wget  http://downloads.sourceforge.net/freetype/freetype-2.7.1.tar.bz2

tar jxvf freetype-2.7.1.tar.bz2

cd freetype-2.7.1

./configure --prefix=/usr/local/freetype

make && make install

   jpegsrc

wget http://www.ijg.org/files/jpegsrc.v9.tar.gz

tar zxvf jpegsrc.v9.tar.gz
cd jpeg-9
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg

make && make install

   libpng(链接可能失效,请自行下载libpng)

wget https://downloads.sourceforge.net/project/libpng/libpng16/1.6.29/libpng-1.6.29.tar.gz

tar zxvf libpng-1.6.29.tar.gz
cd libpng-1.6.29
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng
make && make install

   接下来切换到php源码的ext的gd目录(如编译地址报错,可自行find查找,然后更改编译目录)

cd /php-7.1.2/ext/gd
/usr/local/bin/phpize

./configure --with-php-config=/usr/local/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype

make && make install

   查找gd.so所在目录

find / -name gd.so

   修改php.ini文件,添加一行 extension=目录/gd.so
   安装bcmach扩展(编译地址目录根据自己所在目录调整)

cd /php-7.1.2/ext/bamath
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
find / -name bcmach.so

   修改php.ini文件,添加一行 extension=目录/bcmath.so.重启apache

二、安装部署zabbix服务端

  1.创建、导入zabbix数据库

   下载安装zabbix`

cd /usr/local/src
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
tar zxvf zabbix-2.2.6.tar.gz #解压

cd /usr/local/src/zabbix-2.2.6/database/mysql #进入mysql数据库创建脚本目录

ls #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件

mysql -u root -p #输入密码,进入MySQL控制台

create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8

grant all on zabbix.* to 'zabbix'@localhost identified by '123456' with grant option; #允许账户zabbix能从本机连接到数据库zabbix

use zabbix #进入数据库

source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql #导入脚本文件到zabbix数据库

source /usr/local/src/zabbix-2.2.6/database/mysql/images.sql #导入脚本文件到zabbix数据库

source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql #导入脚本文件到zabbix数据库
exit #退出、
cd /usr/lib64/mysql
ln -s libmysqlclient.so.16.0.0 libmysqlclient.so #添加软连接
ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so #添加软连接

   注意:以上3个脚本文件必须按顺序导入,否则会出错

  2.安装zabbix

   添加用户

groupadd zabbix #创建用户组zabbix
useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中

   安装依赖包

yum install net-snmp-devel curl curl-devel mysql-devel -y

   安装zabbix

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #添加软连接
/sbin/ldconfig #使配置立即生效
cd /usr/local/src/zabbix-2.2.6 #进入安装目录
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置
make #编译
make install #安装
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接

   添加zabbix服务对应的端口

vi /etc/services #编辑,在最后添加以下代码
# Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
:wq! #保存退出

   修改zabbix配置文件

cd /usr/local/zabbix/etc

vi /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbix #数据库名称

DBUser=zabbix #数据库用户名

DBPassword=123456 #数据库密码

DBPort=3306 #我机器数据库端口是3306

DBSocket=/tmp/mysql.sock

ListenIP=127.0.0.1 #数据库ip地址

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录

:wq! #保存退出

vi /usr/local/zabbix/etc/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

UnsafeUserParameters=1 #启用自定义key

:wq! #保存退出

   添加开机启动脚本

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #客户端

chmod +x /etc/rc.d/init.d/zabbix_server #添加脚本执行权限

chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限

chkconfig zabbix_server on #添加开机启动

chkconfig zabbix_agentd on #添加开机启动

   修改zabbix开机启动脚本中的zabbix安装目录

vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件

BASEDIR=/usr/local/zabbix/ #zabbix安装目录

:wq! #保存退出

vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件

BASEDIR=/usr/local/zabbix/ #zabbix安装目录

:wq! #保存退出

   配置web站点

cd /usr/local/src/zabbix-2.2.6

cp -r /usr/local/src/zabbix-2.2.6/frontends/php /var/www/html/zabbix

service zabbix_server start #启动zabbix服务端

service zabbix_agentd start #启动zabbix客户端

   改php配置文件参数

vi /etc/php.ini #编辑修改

post_max_size =16M

max_execution_time =300

max_input_time =300

   找到;date.timezone =
   修改为date.timezone = PRC #设置时区(注意去掉前面的分号)

!wq    #保存退出

   重启apache,使之生效

  3.安装web

   http://192.168.1.22/zabbix/setup.php #192.168.1.22是zabbix服务器地址
0基础安装部署zabbix_第5张图片
next
0基础安装部署zabbix_第6张图片
这一步所需的模块,在安装php的时候已经安装的,如果还有缺失,请自行安装,方法和安装gd和bamach相同
   配置MySQL数据库信息
Database:MySQL

Database host:localhost

Database port:use default port

Database name:zabbix

User:zabbix

Password:123456

Test connection #测试数据库连接是否正常,显示ok表示通过
0基础安装部署zabbix_第7张图片
next
0基础安装部署zabbix_第8张图片
   注意:在这一步可能会报没有创建对应文件的权限,一般我们有两种方法,第一种就是给与apache写入zabbix的权限,第二种就是下载他上面所说的文档,之后自行去对应目录创建文件夹,然后将文档的内容拷贝进去
   修改系统配置文件,让web页面支持简体中文显示

vi /var/www/html/zabbix/include/locales.inc.php #编辑修改

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改为

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

:wq! #保存退出

   因为centos的语言去读web可能会报错,所以我们要把自己windows下的语言上传

在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如msyh.ttf

把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中

例如:/var/www/html/zabbix/fonts

备份默认的字体文件:DejaVuSans.ttf-bak

修改msyh.ttf名称为DejaVuSans.ttf

三、安装部署zabbix客户端

  1,创建用户,下载安装zabbix

   创建用户

groupadd zabbix
useradd -g zabbix zabbix

   zabbix软件包下载,安装

cd /usr/local/src #进入软件包下载目录
wget  http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
tar zxvf zabbix-2.2.6.tar.gz #解压
cd /usr/local/src/zabbix-2.2.6 #进入安装目录
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install

   添加服务端口和修改启动脚本

vi /etc/services #编辑,在最后添加以下代码
# Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd 
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限
vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件
修改BASEDIR=/usr/local/zabbix/ #zabbix安装目录
chkconfig zabbix_agentd on #添加开机启动

   修改zabbix_agent配置文件

vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.1.22,192.168.1.21 #服务器端的IP及本机的IP
ServerActive=192.168.1.22,192.168.1.21
Hostname=single #agent主机名,这里可以自由命名,只需要在最后添加主机的时候一致就行
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/  #扩展配置目录

   启动

/etc/init.d/zabbix_agentd start

   测试可能会出错,可以选择关闭客户端的防火墙
   监控该服务器, 访问:http://192.168.1.22/zabbix/,192.168.1.22是zabbix server的IP.
   组态—>主机->创建主机,
0基础安装部署zabbix_第9张图片
可以选择相应的模板,如:
0基础安装部署zabbix_第10张图片
如图所示,那么就是正确的了

–本文转自 https://blog.csdn.net/yabingshi_tech/article/details/50664273
https://blog.csdn.net/yabingshi_tech/article/details/50679458
https://www.linuxidc.com/Linux/2017-12/149615.htm
https://www.linuxidc.com/Linux/2017-12/149615.htm
并做了些许改动

你可能感兴趣的:(zabbix,运维,0基础)