zabbix是什么我就不进行介绍了,如果不知道的请自行百度
由于我也是第一次接触到运维,所以在安装部署zabbix的时候出现了非常非常多的问题,而现在我找到的博文中也没有那种非常详尽的教程,所以在我完成了我第一次安装部署zabbix,写下这篇博文,希望对大家有所帮助。
首先我要说一说我的安装部署的环境:centos7 + mysql5.7 + apache2.4 + php7
因为安装部署zabbix需要LAMP或者是LNMP环境,所以这个博文共分为三部分。安装LAMP,服务端的安装部署,客户端的安装部署。由于这是0基础学习安装部署zabbix,所以我们不是用的最简单的yum安装,而是使用wget命令编译安装部署
因为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位以上。
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保存退出。
设置PidFile路径
vim /etc/httpd/httpd.conf
最后添加如下内容:
PidFile /var/run/httpd.pid
启动Apache服务并验证
cd /usr/local/apache/bin/
./apachectl start
netstat -tnlp #查看服务是否开启
在本地浏览器中输入云服务器的公网IP地址验证,出现下图表示安装成功。
设置开机自启。在rc.local文件中添加/usr/local/apache/bin/apachectl start,然后输入:wq保存退出。
vim /etc/rc.d/rc.local
vi /root/.bash_profile
在PATH=添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/apache/bin
然后输入:wq保存退出,执行:
source /root/.bash_profile
依赖安装
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,出现如下页面表示解析成功。
安装 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`
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个脚本文件必须按顺序导入,否则会出错
添加用户
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,使之生效
http://192.168.1.22/zabbix/setup.php #192.168.1.22是zabbix服务器地址
next
这一步所需的模块,在安装php的时候已经安装的,如果还有缺失,请自行安装,方法和安装gd和bamach相同
配置MySQL数据库信息
Database:MySQL
Database host:localhost
Database port:use default port
Database name:zabbix
User:zabbix
Password:123456
Test connection #测试数据库连接是否正常,显示ok表示通过
next
注意:在这一步可能会报没有创建对应文件的权限,一般我们有两种方法,第一种就是给与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
创建用户
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.
组态—>主机->创建主机,
可以选择相应的模板,如:
如图所示,那么就是正确的了
–本文转自 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
并做了些许改动