设为首页 收藏本站
查看: 888|回复: 0

[经验分享] 源码安装zabbix3.0.4

[复制链接]

尚未签到

发表于 2017-10-20 09:29:50 | 显示全部楼层 |阅读模式
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 关闭iptables和SELINUX
# 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');
或是
[url=][/url]
# 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用户的密码,可以和本地不同。
[url=][/url]

配置防火墙
防火墙的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.gzYum安装依赖:
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
[url=][/url]
tar-zxvf libmcrypt-2.5.8.tar.gz
cdlibmcrypt-2.5.8
./configure
make
makeinstall
安装php-5.6.15.tar.gz
[iyunv@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
[url=][/url]
其中--with-apxs2是用来生成Apache的PHP模块libphp5.so的,不需要可以去掉.

make
make install
php配置
php.ini是php运行核心配置文件
php-fpm.conf是php-fpm进程服务的配置文件
[url=][/url]
# 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. 安装zabbix2.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:
#[iyunv@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命令导入数据文件
[iyunv@localhost zabbix-3.0.4]#service mysqld start
[iyunv@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;
[url=][/url]


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.8用server来管理启动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.9用server来管理启动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:
#[iyunv@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_500x0-wm_3-wmp_4-s_2868471413.png
2eeec70aeb6ddfef74054de866feeab4.png-wh_500x0-wm_3-wmp_4-s_2659835701.png
3ff457ea5da75b90a2202ea6abe72520.png-wh_500x0-wm_3-wmp_4-s_824390028.png
7fa1bd1ab01b4979bb940a9939c7489c.png-wh_500x0-wm_3-wmp_4-s_2687143681.png
45c45ef0418c8ee75472575de1d7056b.png-wh_500x0-wm_3-wmp_4-s_1768585919.png



完成后即可登录:zabbix默认的用户名和密码是Admin/zabbix
8220b5bd7b14622546f17514f1553243.png-wh_500x0-wm_3-wmp_4-s_1115341425.png
为了防止误操作重新安装的风险(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_500x0-wm_3-wmp_4-s_2120907412.png
e76290e2fa84c1ccf3a4ade3e1300c46.png-wh_500x0-wm_3-wmp_4-s_961004685.png

cfd5eb3267aac6947e9ae82e9eda7de1.png-wh_500x0-wm_3-wmp_4-s_233531012.png
8e5813ce5d59bc40e0252e25afd26d33.png-wh_500x0-wm_3-wmp_4-s_1369437791.png
ea15977f04692eb99579037de82d9f9b.png-wh_500x0-wm_3-wmp_4-s_2031616974.png
######################################
告警信息:
告警主机:{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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-405646-1-1.html 上篇帖子: zabbix3.2.9升级到3.4.3 下篇帖子: zabbix通过jmx监控tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表