源码安装zabbix3.0.4

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码安装zabbix3.0.4相关的知识,希望对你有一定的参考价值。

1. 环境准备

1.1 系统环境及软件:

Red Hat Enterprise Linux Server release 6.4 (Santiago)mysql-5.6.34
php-5.6.15.tar.gz

mysql-5.0.41.tar.gz

zabbix-3.0.4.tar.gz

libmcrypt-2.5.8.tar.gz

1.2 关闭iptablesSELINUX

# service iptables stop

# chkconfig iptables off

# setenforce 0

# vi /etc/sysconfig/selinux

SELINUX=disabled

zabbix3.0.4对环境的要求 :
MySQL 5.1
以上最好是 5.6或者更高的版本
PHP 5.4或者更高的版本

1.3 修改主机名及hosts
hostname zabbix-server.com

vi /etc/hosts#增加如下

192.168.70.161 zabbix-server.com

 

1.4 LAMP安装

安装Apahce, PHP, MySQL以及php连接mysql库组件。

1.4.1 yum安装httpd

#yum -y install httpd httpd-devel

chkconfig--level 2345 httpd on

servicehttpd start

1.4.2 源码安装mysql-5.0.41.tar.gz

安装编译源码所需的工具和库

yuminstall \

make \

gcc \

gcc-c++ \

ncurses-devel\

cmake

新增mysql用户组:

groupadd mysql  

新增mysql用户:

useradd  -g mysql mysql  -s/sbin/nologin

chmod 755 /home/mysql/

新建MySQL所需要的目录

新建mysql安装目录:

mkdir -p /usr/local/mysql  

新建mysql数据库数据文件目录:

mkdir -p /data/mysqldb 

编译安装:

tar -zxvf mysql-5.0.41.tar.gz

cd mysql-5.0.41

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

注:重新运行配置,需要删除CMakeCache.txt文件

rm -f CMakeCache.txt

make

makeinstall

修改mysql安装目录

chown-R mysql:mysql /usr/local/mysql
修改mysql数据库文件目录
chown -R mysql:mysql/data/mysqldb 

初始化配置

进入安装路径

# cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

# ./bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysqldb--user=mysql

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf"

注意:若在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

在使用"yumupdate"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

复制mysql服务启动配置文件

# mv/etc/my.cnf /etc/my.cnf.bak

# cp /root/mysql-5.0.41/support-files/my-huge.cnf/etc/my.cnf

vi /etc/my.cnf#在[client]和[mysqld]下加上如下行(登录mysql中文不乱吗):

default-character-set=utf8

启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

vi/etc/init.d/mysqld#修改如下内容

basedir=/usr/local/mysql

datadir=/data/mysqldb

设置开机启动

chkconfigmysqld on

servicemysqld start

配置用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

设置之前,我们需要先设置PATH,否则不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATH

exportPATH

让配置立即生效

source/etc/profile

修改数据库的root密码:

mysql -uroot 

 

mysql> SET PASSWORD = PASSWORD(‘123abc‘);

或是

                            技术分享

# mysqladmin -uroot -p password 123abc

Enter password:        这里直接回车

Warning: Using a password on the commandline interface can be insecure.

 

若要设置root用户可以远程访问,执行

 

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘172.16.%‘ IDENTIFIEDBY ‘password‘ WITH GRANT OPTION;

 

root用户的密码,可以和本地不同。

技术分享

 

配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables文件,在“-A INPUT –m state --state NEW –m tcp–p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p-dport 3306 -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

 serviceiptables restart 

1.4.3编译安装php-5.6.15.tar.gz

Yum安装依赖:

yuminstall -y gcc \

gcc-c++\

autoconf\

libjpeg\

libjpeg-devel\

libpng\

libpng-devel\

freetype\

freetype-devel\

libpng\

libpng-devel\

libxml2\

libxml2-devel\

zlib \

zlib-devel\

glibc \

glibc-devel\

glib2 \

glib2-devel\

bzip2 \

bzip2-devel\

ncurses\

curl \

openssl-devel\

db4-devel\

libXpm-devel\

libX11-devel\

gmp-devel\

readline-devel\

libxslt-devel\

expat-devel\

xmlrpc-c\

libcurl\

libcurl-devel

安装加密扩展库,先安装Libmcrypt

技术分享

tar-zxvf libmcrypt-2.5.8.tar.gz

cdlibmcrypt-2.5.8

./configure

 make

makeinstall

安装php-5.6.15.tar.gz

[[email protected] ~]# tar -zxvf php-5.6.15.tar.gz

cd php-5.6.15

./configure\

--prefix=/usr/local/php\

--with-config-file-path=/etc\

--with-apxs2=/usr/sbin/apxs\

--with-mysql=/usr/local/mysql\

--with-mysqli=/usr/local/mysql/bin/mysql_config\

--enable-inline-optimization\

--enable-fpm\

--enable-soap\

--with-libxml-dir\

--with-xmlrpc\

--with-openssl\

--with-mcrypt\

--with-mhash\

--with-pcre-regex\

--with-sqlite3\

--with-zlib\

--enable-bcmath\

--with-iconv\

--with-bz2\

--enable-calendar\

--with-curl\

--with-cdb\

--enable-dom\

--enable-exif\

--enable-fileinfo\

--enable-filter\

--with-pcre-dir\

--enable-ftp\

--with-gd\

--with-openssl-dir\

--with-jpeg-dir\

--with-png-dir\

--with-zlib-dir  \

--with-freetype-dir\

--enable-gd-native-ttf\

--with-gettext\

--with-gmp\

--with-mhash\

--enable-json\

--enable-mbstring\

--disable-mbregex\

--disable-mbregex-backtrack\

--with-libmbfl\

--with-onig\

--enable-pdo\

--with-pdo-mysql\

--with-zlib-dir\

--with-pdo-sqlite\

--with-readline\

--enable-session\

--enable-shmop\

--enable-simplexml\

--enable-sockets\

--enable-sysvmsg\

--enable-sysvsem\

--enable-sysvshm\

--enable-wddx\

--with-libxml-dir  \

--with-xsl\

--enable-zip\

--enable-mysqlnd-compression-support\

--with-pear

技术分享

其中--with-apxs2是用来生成Apache的PHP模块libphp5.so的,不需要可以去掉.

make
make install

php配置

php.ini是php运行核心配置文件

php-fpm.conf是php-fpm进程服务的配置文件

技术分享

 # cd php-5.6.28

# cp php.ini-production /etc/php.ini

# cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf

# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

# chmod +x /etc/init.d/php-fpm

fpm测试php配置

#/usr/local/php/sbin/php-fpm -t

[14-Oct-201710:13:46] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test issuccessful 

添加到server里管理启动:

# chkconfig --add php-fpm

# chkconfig php-fpm on

# service php-fpm start

Starting php-fpm  done

netstat–anpt

tcp       0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      10847/php-fpm

修改PHP默认端口:

vi/usr/local/php/etc/php-fpm.conf

listen = 127.0.0.1:8000

#servicephp-fpm restart

#netstat –anpt

tcp       0      0 127.0.0.1:8000              0.0.0.0:*                   LISTEN      20527/php-fpm

1.4.4配置apache访问PHP

配置 httpd.conf apache支持PHP

# vi /etc/httpd/conf/httpd.conf

找到 AddType application/x-gzip .gz.tgz 在其下添加如下内

AddType application/x-httpd-php .php

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

DirectoryIndex index.php index.html   //设置首页默认顺序

LoadModulephp5_module       /usr/lib64/httpd/modules/libphp5.so  这个模块会在编译的自动生成加入进去

1.4.5测试页面:

vi /var/www/html/test.php

<?php

phpinfo();

?>

 http://192.168.70.161/test.php

2. 安装zabbix

2.1 server: 192.168.70.161)服务端及客户端

2.1.1 安装zabbix所需的组件

yum -y install curllibcurl-devel net-snmp net-snmp-devel perl-DBI libdbi-dbd-mysql mysql-devel gccgcc++ make libxml2 libxml2-devel 

2.1.2 创建zabbix用户组与用户:

# groupaddzabbix

# useradd -gzabbix -s /sbin/nologin zabbix

2.1.3 安装server 及agentd:

#[[email protected] ~]# tar -xzvf zabbix-3.0.4.tar.gz

# cdzabbix-3.0.4

# ./configure--prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl--with-libxml2 --enable-agent --enable-ipv6

注:--enable-server表明安装server,--enable-agent表明安装agent

make && make install

2.1.4 创建数据库和授权用户

说明:数据文件导入的顺序不能变,也可以在命令行使用mysql命令导入数据文件

[[email protected] zabbix-3.0.4]#service mysqld start

[[email protected] zabbix-3.0.4]# mysql -uroot -p

 

mysql> createdatabase zabbix character set utf8;

 

mysql> grantall on zabbix.* to [email protected]‘%‘ identified by ‘123456‘;

 

mysql> flushprivileges;

技术分享

 

 

2.1.5导入数据库sql脚本:

# cd zabbix-3.0.4

在解压的zabbix目录下,将database/mysql目录下三个sql文件导入到zabbix数据库里。(下面用的是zabbix用户来导入文件,这个用户在数据库是默认存在的)

# mysql -uzabbix -p123456 zabbix <database/mysql/schema.sql

 

# mysql -uzabbix -p123456 zabbix <database/mysql/images.sql

 

# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql

2.1.6修改server配置文件并启动

mkdir -p /var/www/zabbix

cd zabbix-3.0.4

cp -R frontends/php   /var/www/zabbix

chmod 777/var/www/zabbix/php/conf

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

LogFile=/var/log/zabbix/zabbix_server.log

DBHost=192.168.70.161

DBName=zabbix

DBUser=zabbix

DBPassword=123456

创建日志文件存放位置:
mkdir/var/log/zabbix
chown -R zabbix:zabbix /var/log/zabbix

启动zabbix服务:

ln -s/usr/local/mysql/lib/mysql/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15
/usr/local/zabbix-server/sbin/zabbix_server

2.1.7修改agentd配置文件并启动

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

LogFile=/var/log/zabbix/zabbix_agentd.log

EnableRemoteCommands=1

LogRemoteCommands=1

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=192.168.70.161

启动zabbix服务:


/usr/local/zabbix-server/sbin/zabbix_agentd

2.1.8server来管理启动zabbix  server服务:

# cdzabbix-3.0.4

# cpmisc/init.d/fedora/core/zabbix_server /etc/init.d/

# chkconfig --addzabbix_server

# chkconfig zabbix_server on

创建软链接:

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

启动服务:

vi /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix-server

service zabbix_server start

2.1.9server来管理启动zabbix  agentd服务:

# cdzabbix-3.0.4

# cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# chkconfig --addzabbix_agentd

# chkconfig zabbix_agentd on

创建软链接:

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

启动服务:

vi /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix-server

service  zabbix_agentd start

2.2 agent:  192.168.70.160)客户端

2.2.1安装zabbix所需的组件

yum -y install curllibcurl-devel net-snmp net-snmp-devel perl-DBI libdbi-dbd-mysql mysql-devel gccgcc++ make libxml2 libxml2-devel 

2.2.2 创建zabbix用户组与用户:

# groupadd zabbix

# useradd -g zabbix -s /sbin/nologin zabbix

2.2.3安装zabbix-3.0.4.tar.gz agentd

#[[email protected] ~]# tar -xzvf zabbix-3.0.4.tar.gz

# cdzabbix-3.0.4

# ./configure --prefix=/usr/local/zabbix-agent  --enable-agent

make && make install

2.2.4修改agentd配置文件并启动

# vi /usr/local/zabbix-agent/etc/zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

EnableRemoteCommands=1

LogRemoteCommands=1

Server=192.168.70.161

ServerActive=192.168.70.161

Hostname=192.168.70.160

2.2.5  server来管理启动zabbix服务:

# cd zabbix-3.0.4

# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# chkconfig --add zabbix_agentd

# chkconfig zabbix_agentd on

创建软链接:

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

启动服务:

vi /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix-agent

service zabbix_agentd start

2.3 配置zabbix web页面(server)

vi /etc/httpd/conf.d/zabbix.conf

# Zabbix monitoring systemphp web frontend

#Alias/zabbix/usr/share/zabbix

Alias /zabbix/var/www/zabbix/php

<Directory "/var/www/zabbix/php">

    Options FollowSymLinks

       AllowOverride None

       Order allow,deny

       Allow from all

    #Require all granted

    <IfModule mod_php5.c>

        php_value max_execution_time 300

        php_value memory_limit 128M

        php_value post_max_size 16M

        php_value upload_max_filesize 2M

        php_value max_input_time 300

        php_value always_populate_raw_post_data-1

        # php_value date.timezone Europe/Riga

        php_value date.timezone Asia/Shanghai

    </IfModule>

</Directory>

注:其中php_value date.timezone Asia/Shanghai主要是定义php的时区。

ln -s /usr/local/zabbix-server/sbin/zabbix_server/usr/sbin/zabbix_server

zabbix_server -V

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

替换监控图像上系统默认的字体(默认字体不支持中文,如果不替换,图像上会显示乱码)在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如simhei.ttf (黑体 常规)把字体文件simkai.ttf上传到zabbix站点根目录下/var/www/zabbix/php/fonts文件夹中,并备份默认的字体文件。

#cd /var/www/zabbix/php/fonts

#mv DejaVuSans.ttf DejaVuSans.ttf.bak

修改simkai.ttf名称为DejaVusSans.ttf

#mv simhei.ttf DejaVuSans.ttf

最后重启apache,zabbix服务,如下:

service  httpd restart

servicezabbix_server restart

然后访问http://192.168.70.161/zabbix/setup.php这个地址,如下进行安装:

技术分享

技术分享

技术分享

技术分享

技术分享




完成后即可登录:zabbix默认的用户名和密码是Admin/zabbix

技术分享

为了防止误操作重新安装的风险(http://192.168.70.161/zabbix/setup.php)可以将setup.php重命名如下:

#mv/var/www/zabbix/php/setup.php  /var/www/zabbix/php/setup.php.bak

注:如果创建zabbix.conf.php文件这一步有报错话,可以手动下载好那个文件在相应目录创建zabbix.conf.php文件复制里面的内容即可:

vi /var/www/zabbix/php/conf/zabbix.conf.php

<?php

// Zabbix GUI configuration file.

global $DB;

$DB[‘TYPE‘]     =‘MYSQL‘;

$DB[‘SERVER‘]   = ‘192.168.70.161‘;

$DB[‘PORT‘]     =‘3306‘;

$DB[‘DATABASE‘] = ‘zabbix‘;

$DB[‘USER‘]     = ‘zabbix‘;

$DB[‘PASSWORD‘] = ‘zabbix‘;

// Schema name. Used for IBM DB2 and PostgreSQL.

$DB[‘SCHEMA‘] = ‘‘;

$ZBX_SERVER      = ‘192.168.70.161‘;

$ZBX_SERVER_PORT = ‘10051‘;

$ZBX_SERVER_NAME = ‘‘;

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

###################################################

2.4 配置邮件告警

yum install mailx –y

mv /etc/mail.rc/etc/mail.rc.bak

vi /etc/mail.rc

set from="[email protected]"

set smtp=11.201.249.14

set amtp-auth-user=xkeqiang

set smtp-auth-password=smgnews

set smtp-auth=login

vi/usr/local/zabbix-server/share/zabbix/alertscripts/mailx.sh

#!/bin/sh

echo "$3">/tmp/1.txt

dos2unix /tmp/1.txt

mail -s "$2"$1</tmp/1.txt

echo"#############################`date`##############################">>/tmp/zabbix-mail.txt

echo "mail to $1">>/tmp/zabbix-mail.txt

echo "$2">>/tmp/zabbix-mail.txt

echo "$3">>/tmp/zabbix-mail.txt

 

chmod +x/usr/local/zabbix-server/share/zabbix/alertscripts/mailx.sh

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

######################################

告警信息:

告警主机:{HOSY.NAME}

告警IP{HOST.IP}

告警时间:{EVENT.DATE}  {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警名称:{TRIGGER.NAME}

目前状态:{TRIGGER.STATUS}

告警URL:{TRIGGER.URL}

时间ID{EVENT.ID}

告警信息: {ITEM.NAME1}({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

----------------------------------------------------------------------------------

告警恢复信息:

告警主机:{HOST.NAME}

告警IP    {HOST.IP}

告警时间:{EVENT.DATE}  {EVENT.TIME}

恢复时间:{EVENT.DATE}  {EVENT.RECOVERY.TIME}

告警等级:{TRIGGER.SEVERITY}

告警名称:{TRIGGER.NAME}

目前状态:{TRIGGER.STATUS}

告警URL:{TRIGGER.URL}

事件ID    {EVENT.ID}

告警详细信息如下:

{ITEM.NAME1}({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

##################################################

3.2.4版本上

告警主机:{HOST.NAME}

告警IP    {HOST.IP}

告警时间:{EVENT.DATE}  {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警名称:{TRIGGER.NAME}

目前状态:{TRIGGER.STATUS}

告警URL:{TRIGGER.URL}

事件ID    {EVENT.ID}

告警详细信息如下:

{ITEM.NAME1}({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

 

END!

############################################

 

mysql> select *  from alerts order by clock  desc limit 10 \G;

mysql> set names utf8;

mysql> select  *  fromalerts  where message like ‘%vm.memory%‘\G;

mysql> select  *  fromalerts  order by clock desc limit 10 \G; #最近10条告警信息

mysql> select  from_unixtime(clock)  from alerts order by clock desc limit 10 \G


本文出自 “银河系|计算机网络” 博客,请务必保留此出处http://qqran.blog.51cto.com/10014850/1974362

以上是关于源码安装zabbix3.0.4的主要内容,如果未能解决你的问题,请参考以下文章

zabbix3.0.4 部署之九 (zabbix3.0.4 Linux Agent安装)

zabbix3.0.4安装部署文档

zabbix3.0.4安装部署文档--邮件报警

zabbix3.0.4安装部署文档----添加监控主机

zabbix3.0.4客户端安装及网卡流量监控配置

CentOS 6.8编译PHP 7.0.10安装Zabbix3.0.4