源码安装zabbix3.0.4

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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');

或是

                            spacer.gif

# 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用户的密码,可以和本地不同。

spacer.gif

 

配置防火墙

防火墙的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

spacer.gif

tar-zxvf libmcrypt-2.5.8.tar.gz

cdlibmcrypt-2.5.8

./configure

 make

makeinstall

安装php-5.6.15.tar.gz

[root@localhost ~]# 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

spacer.gif

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

make
make install

php配置

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

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

spacer.gif

 # 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:

#[root@localhost ~]# 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命令导入数据文件

[root@localhost zabbix-3.0.4]#service mysqld start

[root@localhost zabbix-3.0.4]# mysql -uroot -p

 

mysql> createdatabase zabbix character set utf8;

 

mysql> grantall on zabbix.* to zabbix@'%' identified by '123456';

 

mysql> flushprivileges;

spacer.gif

 

 

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

#[root@localhost ~]# 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这个地址,如下进行安装:

0352d3f603f50890a773185a0874edea.png-wh_

2eeec70aeb6ddfef74054de866feeab4.png-wh_

3ff457ea5da75b90a2202ea6abe72520.png-wh_

7fa1bd1ab01b4979bb940a9939c7489c.png-wh_

45c45ef0418c8ee75472575de1d7056b.png-wh_




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

8220b5bd7b14622546f17514f1553243.png-wh_

为了防止误操作重新安装的风险(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="xkeqiang@pbcc.org.cn"

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

e45a55624f8fdcaf11027a2cf14886ac.png-wh_

e76290e2fa84c1ccf3a4ade3e1300c46.png-wh_

abbebdd5a692fd90aa957c14cd8e9230.png-wh_

cfd5eb3267aac6947e9ae82e9eda7de1.png-wh_

8e5813ce5d59bc40e0252e25afd26d33.png-wh_

ea15977f04692eb99579037de82d9f9b.png-wh_

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

告警信息:

告警主机:{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















本文转自shangshanyang51CTO博客,原文链接:http://blog.51cto.com/qqran/1974362 ,如需转载请自行联系原作者


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12月前
|
监控 PHP Apache
centos7.源码安装zabbix4.4
centos7.源码安装zabbix4.4
|
监控 关系型数据库 应用服务中间件
|
Web App开发 监控 PHP
lnmp安装,zabbix源码安装安装教程
lnmp源码安装,zabbix源码安装,mysql基础
1903 0
|
SQL Web App开发 关系型数据库
|
Web App开发 关系型数据库 PHP
|
监控 PHP 关系型数据库
|
5月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
下一篇
无影云桌面