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

[经验分享] zabbix监控部署方案

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-10 10:45:54 | 显示全部楼层 |阅读模式
服务器端:
首先安装LAMP环境
yum install httpd  php* mysql*-y
然后再安装zabbi所依赖的环境:
yum -y install gcc gcc-c++autoconf  php-mysql  httpd-manual mod_ssl mod_perl mod_auth_mysqlphp-gd php-xml php-mbstring  php-ldapphp-pear php-xmlrpc php-bcmath mysql-connector-odbc  mysql-devel l
ibdbi-dbd-mysqlnet-snmp-devel curl-devel
最后安装ZABBIX
Zabbix软件包:zabbix-2.2.6.tar.gz
安装zabbix:
解压:
tar –zxvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
./configure --enable-server--enable-agent --with-mysql --with-net-snmp --with-libcurl
make && make install
编辑配置文件zabbix_server.conf:
cp/usr/local/etc/zabbix_server.conf /usr/local/etc/zabbix_server.conf.back
vi/usr/local/etc/zabbix_server.conf
修改项:
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123457
编辑配置文件zabbix_agentd.conf:
cp /usr/local/etc/zabbix_agentd.conf /usr/local/etc/zabbix_ zabbix_agentd.conf.back
vi/usr/local/etc/zabbix_agentd.con
修改项:
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1,192.168.0.26
UnsafeUserParameters=1
DebugLevel=3   #打开日志级别
创建日志文件:
# touch /tmp/zabbix_server.log
# touch /tmp/zabbix_agentd.log
# chmod 777 /tmp/zabbix_*
创建zabbix数据库并导入zabbix数据库数据(server)
CREATE DATABASE `zabbix`DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# mysql -u root -p123456
> create database zabbix;
> grant all on zabbix.* tozabbix@localhost identified by '123457';  grant all on zabbix.* tozabbix@web-26.dragontrail.net identified by '123457';
> flush privileges;
# tar zxvfzabbix-2.0.6.tar.gz
# cd zabbix-2.0.6
# mysql -uzabbix -p123456zabbix < database/mysql/schema.sql
# mysql -uzabbix -p123456zabbix < database/mysql/images.sql
# mysql -uzabbix -p123456zabbix < database/mysql/data.sql
增加软连接:
ln -s/usr/local/iksemel/lib/libiksemel.so.3 /usr/lib64/libiksemel.so.3
配置开机启动脚本:
# cd zabbix-2.0.6
# cpmisc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
# cpmisc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
# cd /etc/init.d/
# chmod 755 zabbix_*
添加服务端口:
# vi /etc/services
在文件最后面添加如下的内容:
zabbix-agent    10050/tcp                       # Zabbix Agent
zabbix-agent    10050/udp                      # Zabbix Agent
zabbix-trapper  10051/tcp                       # Zabbix Trapper
zabbix-trapper  10051/udp                      # Zabbix Trapper
安装zabbix web界面(server)
启动zabbix
/etc/init.d/zabbix_serverstart
/etc/init.d/zabbix_agentdstart
web前端安装配置
修改php相关参数
# vi /etc/php.ini    找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 16M
memory_limit = 128M
mbstring.func_overload = 2
max_input_time = 300
#/etc/init.d/httpd restart
复制ZABBIX PHP源代码文件
先建立一个子目录,将zabbix终端php文件拷贝到该子目录里面,执行下面的命令:
# mkdir /data/web/up.com/zabbix
到zabbix安装软件包文件:frontends/php
# cp -a . /data/web/up.com/zabbix
web页面配置,配置http访问好了后web登陆:http://up.com/zabbix
确认每个Required都是ok的才会显示Next按钮,如果有Fail的需要完善系统要求
wKiom1Q1-xPjQZk3AAH3PDnhI9s432.jpg
wKioL1Q1-02TmA6ZAAJVxlwhsAE440.jpg
wKiom1Q1-xuBsimQAAHmxPrAwg8119.jpg
wKiom1Q1-0bSUcMsAAHssV1f5WQ819.jpg
wKiom1Q1-5myVASCAAGGlJhljvA403.jpg
这里主要下,出现Fail的原因是zabbix的配置文件没有,需要点击“Download configurationfile”将zabbix.conf.php下载到本地在上传到服务器的/data/web/up.comzabbix/conf/目录下,然后在web页面Retry即可。(或是修改/ data/web/up.comzabbix/conf/zabbix.conf.php注:本图不是服务器上的安装图,显示的信息都为一样。)
wKiom1Q1-7zwcUBxAAFdbgYPt3o473.jpg
到此web页面配置完毕,已经到了登陆界面,zabbix的默认登陆账号是admin,密码是zabbix
wKioL1Q1_B6y2NAcAAC6kVax7NA548.jpg
9.更换中文字体,登陆后在页面的右上边点击“Profile”
wKioL1Q1_Guw9vmGAAGjFV8feDo267.jpg

在Language选项中选择“Chinese(zh_CN)”,然后Save
wKioL1Q1_L-i-tELAABqW0VfY8g154.jpg
改成中文会出现有乱码,可以到window系统找到自己喜欢的字体上传上去在windows系统中的c:windows onts目录中copy一个自己喜欢的字体文出来,如msyh.ttf将copy出来的字体上传到Zabbix根目录中的fonts目录下将原来的字体文件“DejaVusSans.ttf”备份将上传的字体文件如msyh.ttf改名为DejaVusSans.ttf重新登录zabbix即可。注:2.24以后的版本默认是不能汉化的,所以要修改一下$web/zabbix/include/locales.inc.php文件本次配置目录为:/data/web/up.com/zabbix/include/locales.inc.ph
修改内容:‘zh_CN’=>array(‘name’=>_(‘Chinese(zh_CN)’),’display=>true’),默认是fale,所以不显示Chinese(zh_CN)。保存退出。.
wKiom1Q1_IqyN4fGAANCiX4SLhw533.jpg
wKiom1Q1_OujyFUEAAMdktvDGRw956.jpg
监控端安装与配置(即客户端)
安装依赖环境:
yum -y install curlcurl-devel net-snmp net-snmp-devel perl-DBI
安装包:
Zabbix软件包:zabbix-2.2.6.tar.gz
安装zabbix:
解压:
tar –zxvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
安装:
./configure --enable-agent
Make && make install
编辑配置文件zabbix_agentd.conf:
cp /usr/local/etc/zabbix_agentd.conf /usr/local/etc/zabbix_ zabbix_agentd.conf.back
vi/usr/local/etc/zabbix_agentd.con
修改项:
LogFile=/tmp/zabbix_agentd.log
Server=192.168.0.26
UnsafeUserParameters=1
DebugLevel=3
创建日志文件:
# touch /tmp/zabbix_agentd.log
# chmod 777 /tmp/zabbix_*
配置开机启动脚本:
# cd zabbix-2.0.6
# cpmisc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
启动zabbix_agentd
/etc/init.d/zabbix_agentdstart
添加监控机:
wKioL1Q1_SPy1n7sAAQSKBW3JdM718.jpg
wKiom1Q1_SSgezJ8AAP_uShNXxM068.jpg
添加主机名时一定要为监控的IP,如果添写hostname在监控的时候会出现问题。
添加监控模板:
zabbix_serve:图
wKiom1Q1_WywF7eXAAHYnlwIQq8602.jpg
只添加红色框内的模板。
监控机的模板:图
wKiom1Q1_YnhENrrAAUVBWzQcxw986.jpg
也只有红色框内的模板。
启动监控:
wKioL1Q1_gWjbSHRAAIHQLbA_Ys776.jpg
点击红色方框内即可激活监控,激活后的状态如图所示为绿色。
-----------------------------------------完-------------------------------------------------
第二配置监控httpd
由于自带的监控模板的功能比较的单一所以这里用的是手动添加和配置的httpd监控的功能:
首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/master.zip
该zip包有apache、memcache、redis、varnish模板,我们解压后使用其中的apache模板
一.打开apache的server-status:
# vi /etc/httpd/conf/httpd.conf
末行添加如下内容:
---------------------
ExtendedStatus On

   SetHandlerserver-status
   Order Allow,Deny
   Allow from all

---------------------
重启apache使其生效:
# /etc/init.d/httpd restart
二.zabbix配置:
将下载下来的zip包内apache目录下的apache_status.sh上传到系统/usr/local/bin/下,并赋予
执行权限
# chmod +x apache_status.sh
修改zabbix_agentd.conf配置:
# vi/usr/local/etc/zabbix_agentd.conf
末行添加如下内容:
-------------
UserParameter=apache,/usr/local/bin/apache_status.sh$1
-------------  
重启zabbix服务
# pkill zabbix
# /etc/init.d/zabbix_agentdstart
三.访问zabbix web后台导入模板
1.访问zabbix-组态-模板,点击右上角的汇入:
wKiom1Q1_fuDjRAVAAD2DsDQj-s614.jpg
2.本地导入文件:
将zip包apache目录下的apache.xml文件导入zabbix模板,点击载入保存
wKiom1Q1_h7Re5ZCAAGV5Vz_6Y0960.jpg
3.访问zabbix-组态-模板,查看模板:
wKiom1Q1_vnSYJJPAAPgcPgJ9Es036.jpg
四.给所要监控的httpd服务器的机器添加上模板就OK。
注:当httpd服务停止了些模板上所添加的项目会在web页面显示不支持,当开启httpd服务后会自动正常。
----------------------------------------完-----------------------------------------------
第三配置监控mysql(只需要在Mysql服务器中配置)
  • 1.  添加脚本
touch/usr/local/bin/checkmysqlperformance.sh
chmod +x/usr/local/bin/checkmysqlperformance.sh
vi /usr/local/bin/checkmysqlperformance.sh
#!/bin/sh
#Create by sfzhang 2014.02.20
MYSQL_SOCK="/var/lib/mysql/mysql.sock"
MYSQL_PWD=`cat/var/lib/mysql/.mysqlpassword`
ARGS=1
if [ $# -ne "$ARGS"];then
echo "Please input one arguement:"
fi
case $1 in
    Uptime)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1-d"T"`
            echo $result
            ;;
        Com_update)
            result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w"Com_update"|cut -d"|" -f3`
            echo $result
            ;;
        Slow_queries)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1-d"O"`
                echo $result
                ;;
    Com_select)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w"Com_select"|cut -d"|" -f3`
                echo $result
                ;;
    Com_rollback)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w"Com_rollback"|cut -d"|" -f3`
                echo $result
                ;;
    Questions)
        result=`mysqladmin -uroot -p${MYSQL_PWD}-S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"`
                echo $result
                ;;
    Com_insert)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut-d"|" -f3`
                echo $result
                ;;
    Com_delete)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w"Com_delete"|cut -d"|" -f3`
                echo $result
                ;;
    Com_commit)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w"Com_commit"|cut -d"|" -f3`
                echo $result
               ;;
    Bytes_sent)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent"|cut -d"|" -f3`
                echo $result
                ;;
    Bytes_received)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received"|cut -d"|" -f3`
                echo $result
                ;;
    Com_begin)
        result=`mysqladmin -uroot-p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w"Com_begin"|cut -d"|" -f3`
                echo $result
                ;;

        *)
        echo"Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)"
        ;;
Esac
2.在Zabbix_agentd.conf里面添加UserParameter,格式如下
#----------msyql.monitor
UserParameter=mysql.version,mysql-V
#UserParameter=mysql.ping,mysqladmin-uroot -p123456 -S mysqlpassword/mysql.sock ping | grep -c alive
UserParameter=mysql.ping,mysqladmin-uroot -p123456 -S /var/lib/mysql/mysql.sock ping | grep -c alive
UserParameter=mysql.status,/usr/local/bin/checkmysqlperformance.sh$1 $2
3.重启agentd服务器
4.添加模板:
wKiom1Q1_1PjkIMPAAAvzB1xHw4671.jpg
--------------------------------------------完成-------------------------------------------
第四配置监控Nginx
  • 环境检查:
检查nginx的status模块
#nginx –V
如果有status的模块可以从打印出来的信息找到—with_http_status_module的信息
wKiom1Q1_7Gi7RxoAABXvw1H8QA483.jpg 带有了 个编译参数即表示已经有status模块。
如果没则进入到原nginx安装包:
#./configure--prefix=/usr/local/nginx --with-http_stub_status_module或者
#./configure–user=nginx –group=nginx --with-http_stub_status_module
只需要./configure就完成了,不要再用make了。
二、配置
1)配置nginx.conf文件,开启status模块功能,添加如下:

添加完成之后重新加载配置文件,也可以重新启动nginx服务。
重启服务后测试模块是否开启成功:
  Http://IP/nginx_status
如果打开的信息出现类似下面信息表示成功:
wKioL1Q2APfiZV0kAAJAoJHy-UM509.jpg
2)模块开启这后,我们要使用获取nginx的status参数数据通到zabbix_agent传送到zabbix的sever端。
脚本如下:
#vi /usr/local/bin/nginx-tatus.sh
#!/bin/bash  
# Script to fetch nginxstatuses for tribily monitoring systems  
# Set Variables  
HOST=`ifconfig eth0 | sed -n'/inet /{s/.*addr://;s/ .*//;p}'`  
PORT="80"

# Functions to return nginxstats

function active {   
    /usr/bin/curl "http://$HOST:$PORT/status"2>/dev/null| grep 'Active' | awk '{print $NF}'      
    }        
function reading {   
    /usr/bin/curl"http://$HOST:$PORT/status" 2>/dev/null| grep 'Reading' | awk'{print $2}'      
    }        
function writing {   
/usr/bin/curl"http://$HOST:$PORT/status" 2>/dev/null| grep 'Writing' | awk'{print $4}'     
    }        
function waiting {   
    /usr/bin/curl"http://$HOST:$PORT/status" 2>/dev/null| grep 'Waiting' | awk'{print $6}'      
    }        
function accepts {   
    /usr/bin/curl"http://$HOST:$PORT/status" 2>/dev/null| awk NR==3 | awk '{print$1}'
    }        
function handled {   
    /usr/bin/curl"http://$HOST:$PORT/status" 2>/dev/null| awk NR==3 | awk '{print$2}'
    }         
function requests {   
    /usr/bin/curl"http://$HOST:$PORT/status" 2>/dev/null| awk NR==3 | awk '{print$3}'
    }   

# Run the requestedfunction  
$1
#chmod +x nginx-tatus.sh
3)添加agent的key值来使zabbix的server获取状态数据,添加如下:
  #vi /usr/local/etc/zabbix_agentd.conf
UserParameter=nginx.accepts,/usr/local/bin/nginx-status.shaccepts
UserParameter=nginx.handled,/usr/local/bin/nginx-status.sh handled
UserParameter=nginx.requests,/usr/local/bin/nginx-status.shrequests
UserParameter=nginx.connections.active,/usr/local/bin/nginx-status.shactive
UserParameter=nginx.connections.reading,/usr/local/bin/nginx-status.shreading
UserParameter=nginx.connections.writing,/usr/local/bin/nginx-status.shwriting
UserParameter=nginx.connections.waiting,/usr/local/bin/nginx-status.shwaiting
重新启动zabbix_agentd
#pkill zabbix
#/etc/init.d/zabbix_agentd restart
三、添加模板   
   -----------------------------------------完----------------------------------------------
第五配置监控Tomcat
这里主要用的是jmx来监控Tomcat。
  • zabbix-server服务器:
首先安装java环境
1)检查java环境卸载系统自带的jdk版本
查看自带的JDK
#rpm –qa|grep gcj
一般会出现类如下信息:
libgcj-4.1.2-44.el5
          java-1.4.2-gcj-compat-1.4.2.0-40jpp.115等。。。
          使用rpm –e 命令卸载出现包名,有时会出现依赖的错误则可以用yum remove命令卸载。
  安装包:jdk-7u21-linux-x64.rpm
安装:#rpm –ivhjdk-7u21-linux-x64.rpm
再次安装Javagateway
如果是用的zabbix-*.tar.gz包安装的server里面自带有Javagateway
如:
     # cd zabbix-2.2.6
     #./configure --enable-java --prefix=/usr/local/zabbix_java
     #make && make install
然后修改与启动Javagateway配置文件.
    #cd /usr/local/zabbix_java/sbin/zabbix_java
    #vi settings.sh
修改的内容:
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=5
启动Javagateway
[iyunv@web-27 zabbix_java]# ./startup.sh
最后修改zabbix-server的配置文件
# vi zabbix_server.conf
修改内容:
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=50
重新启动zabbix_server
#/etc/init.d/zabbix_server restart
  • zabbix_agend客户端配置,即tamcat服务器:
配置jdk环境略
安装tomcat
安装包如:apache-tomcat-7.0.30.tar.gz
解压:#tar –zxvf apache-tomcat-7.0.30.tar.gz
     #mv apache-tomcat-7.0.30 tomcat
配置tomcat
#cd tomcat/bin
#vi catalina.sh
配置内容:添加。(注:添加些内容时不能在文件的最后面添加,要在相应的位置配置与添加)
exportCATALINA_OPTS="-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false-Djava.rmi.server.hostname=192.168.0.27"#注这里的IP就是tomcat本机的地址主要用来远程连接jmx监控
wKiom1Q2AQChx4RCAAHX6-jjenY527.jpg
#cd tomcat/conf
#vi server.xml
配置内容:添加。(注:添加些内容时不能在文件的最后面添加,要在相应的位置配置与添加下面的端口为zabbix默认的端口也可以改成自需要的。一般不用改。)

wKioL1Q2AWKDd5PWAAERsXFrkCA971.jpg
下载:catalina-jmx-remote.jar与cmdline-jmxclient-0.10.3.jar放在tomcat/lib目录下面。(注,当用工具测试到数据时,才能证明用jmx远程是可以有数据的,才能去配置zabbix。)
    测试:
     #java -jar cmdline-jmxclient-0.10.3.jar - 192.168.0.27:12345java.lang:type=Memory NonHeapMemoryUsage

添加监控项



运维网声明 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-25765-1-1.html 上篇帖子: Zabbix优化: 数据库表分区 下篇帖子: LAMP环境zabbix安装 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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