设为首页 收藏本站
查看: 1592|回复: 1

[经验分享] Zabbix2.2.2源码安装部署排错以及MySQL数据库监控实例

[复制链接]

尚未签到

发表于 2015-11-23 14:21:48 | 显示全部楼层 |阅读模式
        Zabbix 开篇

  一直想写一个监控数据库性能(Oracle,MySQL,DB2,SqlServer)的软件, 但是它活在我的dream里.
  本文详细介绍Zabbix源代码安装到部署,排错,以及一个简单MySQL数据库性能监控实例。
  一、System Environments
  服务端:  操作系统 - Fedora 19 x86_64   webServerType: LAMP(Apache+PHP+Mariadb)   Zabbix Server Daemon
  客户端:     操作系统 - Fedora 19 x86_64  Zabbix Agentd Daemon
  Zabbix 是C/S构架, zabbix agent  负责收集客户端的系统性能, 转发给zabbix server, zabbix server 负责整理数据并存储到Maraidb数据库Repository; 并通过php展现给系统管理员.
  注: 本实验的服务端跟客户端是统一台机器,standalone mode.
  
  二、Zabbix installation from source code
  假设我们已经安装好LAMP,  从http://www.zabbix.com/download.php下载最新的Zabbix Sources Latest Releases 2.2.2.

有时候我们需要在没有网络的环境下部署zabbix,这个时候就不得不用源码去装,用源码来装往往有很多很多的坑,所以在此做下记录
部署MySQL       安装MySQL之前要先安装CMake

tar xvf cmake-2.6.4.tar.gzcd  cmake-2.6.4./configure --prefix=/usr/local/cmakegmakemake install      更新环境变量
vi ~/.bash_profile#PATH=$PATH:$HOME/bin:/usr/local/cmake/binsource ~/.bash_profile      安装MySQL
tar -xvf mysql-5.6.12.tar.gz cd mysql-5.6.12cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_USER=kira \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DMYSQL_TCP_PORT=3306  makemake installchmod -Rf 777 /usr/local/mysql/*chmod -Rf 777 /home/software/mysql-5.6.12cp /home/software/mysql-5.6.12/support-files/my-default.cnf /etc/my.cnf cd /home/software/mysql-5.6.12/scripts./mysql_install_db --user=root --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/groupadd mysql  useradd -r -g mysql mysql ##启动MySQL/usr/local/mysql/bin/mysqld_safe ##修改MySQL密码/usr/local/mysql/bin/mysqladmin -u root password '8565'ln -s /usr/local/mysql/bin/mysql /usr/sbin/mysql -uroot -p8565#GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '8565' WITH GRANT OPTION;#flush privileges;  安装必须组件     安装libxml
tar zxvf libxml2-2.7.7.tar.gz cd libxml2-2.7.7./configure --prefix=/usr/local/libxml2makemake install  安装zlib
tar -zxf zlib-1.2.5.tar.gz cd zlib-1.2.5 ./configuremake make install        安装jpeg
tar -xvf jpegsrc.v8c.tar.gz cd jpeg-8c/./configure --prefix=/usr/local/jpegmake make install       安装libpng
tar -xvf libpng-1.5.7.tar.gz cd libpng-1.5.7./configure --prefix=/usr/local/libpngmakemake install      安装freetype
tar -xvf freetype-2.4.8.tar.gzcd freetype-2.4.8./configure --prefix=/usr/local/freetypemake make install  安装gettext
tar -xvf gettext-0.18.1.1.tar.gzcd gettext-0.18.1.1./configuremakemake installcp /usr/lib64/gettext/* /usr/lib64/  (64位的系统才要)  
安装gd
tar -xvf gd-2.0.35.tar.gz cd gd/2.0.35./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg \--with-png=/usr/local/libpng --with-freetype=/usr/local/freetype \--enable-m4_pattern_allowmakemake install  
部署Apache 安装pcre
unzip pcre-8.10.zip cd pcre-8.10./configure --prefix=/usr/local/pcremake make install  安装apr
tar -xvf apr-1.4.5.tar.gz cd apr-1.4.5./configure --prefix=/usr/local/aprmake make install  安装apr-util
tar -xvf apr-util-1.3.12.tar.gz cd apr-util-1.3.12./configure --prefix=/usr/local/apr-util --with-apr=/home/software/apr-1.4.5make make install  安装Apache
tar -xvf httpd-2.4.6cd httpd-2.4.6./configure --prefix=/usr/local/apache --enable-module=so --with-apr=/home/software/apr-1.4.5 --with-apr-util=/home/software/apr-util-1.3.12 --with-pcre=/usr/local/pcre/makemake install/usr/local/apache/bin/httpd -k start  安装PHP 安装php

tar -xvf php-5.4.17.tar.gz cd php-5.4.17./configure --prefix=/usr/local/php\ --with-apxs2=/usr/local/apache/bin/apxs\ --with-jpeg-dir=/usr/local/jpeg\ --with-png-dir=/usr/local/libpng\ --with-libxml-dir=/usr/local/libxml2\ --with-gd=/usr/local/gd\ --with-freetype-dir=/usr/local/freetype\ --with-zlib=/usr/local/zlib --with-gettext\ --enable-bcmath --enable-ftp --enable-mbstring --enable-sockets\ --with-iconv-dir=/usr/lib --with-mysql=/usr/local/mysql -with-mysqli=/usr/local/mysql/bin/mysql_config      make  make install  修改php的配置文件
cp php.ini-production /usr/local/php/lib//php.inivi  /usr/local/php/php.ini#date.timezone = Asia/shanghai#memory_limit = 256M#max_input_time = 600#max_execution_time = 600#post_max_size = 32M#upload_max_filesize = 16M  开启Apache的PHP支持
vi /usr/local/apache/conf/httpd.conf#AddType application/x-httpd-php .php#DirectoryIndex index.html index.php/usr/local/apache/bin/httpd -k stop/usr/local/apache/bin/httpd -k start  部署Zabbix 安装jabber
tar -xvf iksemel-1.4.tar.gz cd iksemel-1.4./configure --prefix=/usr/local/jabbermake make install  安装Zabbix

tar -xvf zabbix-2.2.0rc2.tar.gz cd zabbix-2.2.0rc2./configure --prefix=/usr/local/zabbix \--enable-server --with-mysql=/usr/local/mysql/bin/mysql_config \--enable-agent --enable-ipv6 --with-net-snmp --with-jabber=/usr/local/jabber --with-libcurl  启动zabbix server
cp /usr/local/mysql/lib/libmysqlclient.so.18 /usr/libcp /usr/local/jabber/lib/libiksemel.so.3 /usr/libgroupadd zabbixuseradd -g zabbix kirapasswd kirasu - kira/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf start  启动zabbix页面
cp -Rf /home/software/zabbix-2.2.0rc2/frontends/ /usr/local/apache/htdocs/mv /usr/local/apache/htdocs/frontends/ /usr/local/apache/htdocs/zabbix

下面是用脚本安装:
  最后按照PHP页面上的提示完成zabbix网站的配置即可
          
  使用的rpm包+yum来安装zabbix2.2,安装以后可以直接使用uninstall来卸载
脚本测试是跑在没有安装httpd和mysql的机器上的,监控机器不会装其他的项目
如果mysql不在本地在远端,请自行修改config_mysql的配置
附:zabbix-agent端使用yum -y install zabbix-agent即可安装,163的yum源有这个包。不过好像都是6.X以上的。
uninstall 请慎用 并没有仔细去写remove,如需卸载请改成rpm -e方式。
#!/bin/bash
#encoding:utf8
function ins_pro() {
echo
echo "############################################################################"
echo "安装zabbix基本需求环境包----------------------------------------------------"
yum -y install gcc  net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel
echo "安装完成.-------------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_mysql() {
echo
echo "############################################################################"
echo "开始安装mysql数据库---------------------------------------------------------"
yum -y install mysql mysql-server mysql-devel
echo "mysql数据库安装完成。-------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_httpd() {
echo
echo "############################################################################"
echo "开始安装httpd.--------------------------------------------------------------"
yum -y install httpd
echo "httpd安装完成.--------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_php() {
echo
echo "############################################################################"
echo "开始安装php环境包-----------------------------------------------------------"
yum -y install  php php-mysql php-gd php-bcmath php-xml php-mbstring php-snmp
echo "php安装完成。---------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_zabbix() {
echo
echo "############################################################################"
echo "开始安装zabbix--------------------------------------------------------------"
rpm -ivh http://repo.zabbix.com/zabbix/2. ... .2-1.el6.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql
echo "安装完成--------------------------------------------------------------------"
echo "############################################################################"
echo
}
function config_zabbix(){
echo
echo "#######################################################################"
echo "添加/etc/services记录--------------------------------------------------"
cat >> /etc/services << "EOF"
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
sed -i 's/# DBPassword=/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf
echo "添加完成---------------------------------------------------------------"
echo "#######################################################################"
echo
}
function config_mysql() {
echo
echo "#######################################################################"
echo "开始配置mysql 数据库---------------------------------------------------"
cd /usr/share/doc/zabbix-server-mysql-2.2.0/create
mysql -uroot  <<EOF
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
use zabbix;
source schema.sql;
source images.sql;
source data.sql;
EOF
cd
echo "数据库配置完成--------------------------------------------------------"
echo "######################################################################"
}
function config_php() {
echo
echo "#######################################################################"
echo "开始配置PHP.-----------------------------------------------------------"
sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone =PRC/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /etc/php.ini
echo
echo "PHP配置完成.-----------------------------------------------------------"
echo "#######################################################################"
}
function config_httpd() {
echo
echo "#######################################################################"
echo "开始配置httpd----------------------------------------------------------"
\cp -r /usr/share/zabbix/* /var/www/html/
echo "" > /etc/zabbix/web/zabbix.conf.php
cat >> /etc/zabbix/web/zabbix.conf.php << "EOF"
<?php
// Zabbix GUI configuration file
global $DB;
$DB["TYPE"]    = 'MYSQL';
$DB["SERVER"]   = 'localhost';
$DB["PORT"]    = '0';
$DB["DATABASE"]   = 'zabbix';
$DB["USER"]    = 'zabbix';
$DB["PASSWORD"]   = 'zabbix';
// SCHEMA is relevant only for IBM_DB2 database
$DB["SCHEMA"]   = '';
$ZBX_SERVER    = 'localhost';
$ZBX_SERVER_PORT  = '10051';
$ZBX_SERVER_NAME  = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
EOF
echo "#######################################################################"
echo "httpd配置完成----------------------------------------------------------"
}
function remove() {
echo
echo "########################################################################"
echo "卸载安装的包-----------------------------------------------------------"
yum -y remove  net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel mysql mysql-server mysql-devel   php php-mysql php-gd php-bcmath php-xml php-mbstring php-snmp httpd
echo "卸载完成---------------------------------------------------------------"
echo
echo "########################################################################"
echo "删除httpd配置文件------------------------------------------------------"
if [ -d /var/www/html ];
then
    /etc/init.d/httpd stop
    \cp -r /var/www/html /tmp/html
    rm -rf /var/www/html/*
    sed -i 's/date.timezone =PRC/;date.timezone =/' /etc/php.ini
    echo "http配置文件已删除---------------------------------------------"
fi
echo "删除完成---------------------------------------------------------------"
echo "########################################################################"
echo
echo "########################################################################"
echo "准备删除数据库文件----------------------------------------------------------"
if  [ -d /var/lib/mysql ];
then
    /etc/init.d/mysqld stop
    \cp -r /var/lib/mysql /tmp/mysql
    rm -rf /var/lib/mysql
    rm -rf /etc/my.cnf
    echo "数据库文件已删除------------------------------------------------"
fi
echo "########################################################################"
echo
echo "########################################################################"
echo "准备删除zabbix----------------------------------------------------------"
if [ -d /etc/zabbix ]
then
    /etc/init.d/zabbix stop
    rm -rf /etc/zabbix
    echo "zabbix已经删除--------------------------------------------------"
fi
}
function start_services() {
echo
echo "#######################################################################"
echo "启动httpd服务"
/etc/init.d/httpd start
echo "#######################################################################"
echo "启动MYSQL数据库"
/etc/init.d/mysqld start
echo "#######################################################################"
echo "启动zabbix服务"
/etc/init.d/zabbix-server start
echo
echo "访问方法:http://localhost 或者:http://ip ------------------------------"
}
case "$1" in
    install)
    ins_pro
    ins_mysql
    ins_httpd
    ins_php
    ins_zabbix
    start_services
    config_zabbix
    config_mysql
    config_php
    config_httpd
    ;;
    mysql)
    config_mysql
    ;;
    uninstall)
    remove
    ;;
    start)
    start_services
    ;;
    *)
        echo "Usage:$0 {install|mysql|uninstall|start}"
        ;;
esac

运维网声明 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-142707-1-1.html 上篇帖子: Zabbix添加监控项及配置邮件报 下篇帖子: Zabbix修改为中文界面
累计签到:181 天
连续签到:1 天
发表于 2015-12-1 09:39:35 | 显示全部楼层
网上很多的,一搜一大把

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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