zoukankan      html  css  js  c++  java
  • centos6.8中zabbix3.0.X的部署

     

    Zabbix3.0.X安装&监控

     

    目录

    一、         依赖环境准备(LAMP)... 3

    1、       mysql的准备... 3

    2、       apache的准备... 4

    3、       PHP的准备... 4

    二、         Zabbix编译安装... 5

    1、准备依赖环境... 5

    2、编译安装... 5

    3、配置数据库... 5

    4、修改配置文件... 6

    5、移动web访问文件到http. 6

    6、修改中文乱码... 6

    三、         Zabbix添加监控项... 7

    配置客户端agent. 7

    添加主机... 7

    1、       添加mysql监控项(使用自带模板)... 8

    2、       查看服务器相关图形... 9

    3、       添加触发器... 9

     

    一、依赖环境准备(LAMP)

    系统为centos6.8

    1、mysql的准备

    l  mysql版本为5.6

    建议在编译完zabbix后在安装数据库,以免编译时mysql报错

    l  下载yum源

    rpm  -ivh  http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

    l  安装mysql

    yum  -y install mysql-community-server

    报错:

    解决方法:

    rpm –ivh http://219.238.7.67/files/6140000005F6991A/mirror.bit.edu.cn/centos/6.6/os/x86_64/Packages/perl-DBI-1.609-4.el6.x86_64.rpm

    l  启动mysql

    service mysqld start

    mysql_secure_installation  初始化

    输入root密码、y、n、n、y

    2、apache的准备

    l  yum -y install httpd

    l  修改配置文件,支持PHP解析

    ServerName 127.0.0.1

    DirectoryIndex index.html index.html.var index.php

    l  启动http的

    service httpd restart

    3、PHP的准备

    l  PHP版本要求为大于5.4

    l  添加yum源

    rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm

    l  安装PHP5.6

    在安装的时候,需要添加yum的缓存,并有额外的yum源(阿里,163等)

    yum -y install  php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap

    报错

    file /etc/my.cnf from install of mysql-libs-5.1.73-8.el6_8.x86_64 conflicts with file from package mysql-community-server-5.6.39-2.

    el6.x86_64

    安装php56w-mysql的时候,与安装msyql的mysql-libs版本冲突,需要的是5.1,mysql自带的是5.6,

    解决办法:

    rpm -vih  http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm

    安装MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm高版本mysql共享库

    l  修改配置

    [root@localhost /]# vim /etc/php.ini

    post_max_size = 16M

    max_execution_time = 300

    max_input_time = 300

    date.timezone = Asia/Shanghai

    always_populate_raw_post_data = -1

    l  检测版本

    [root@localhost ~]# php -v

    PHP 5.6.33 (cli) (built: Jan 14 2018 08:26:10)

    Copyright (c) 1997-2016 The PHP Group

    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

    二、Zabbix编译安装

    1、准备依赖环境

    yum -y install gcc  libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel

    如果网络不畅,可以使用本地yum源安装

    创建用户:useradd zabbix

    2、编译安装

    ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy  &&make  &&make  install

    如果提示mysql安装问题,可以先将高版本的mysql包卸载,进行

    yum -y install mysql-devel  mysql-libs  安装和rpm -ivh  mysql-libs-5.1.73-7.el6.x86_64.rpm --force –nodeps 安装

    ,安装完成后,在进行对高版本mysql进行安装

    3、配置数据库

    l  创建数据库

    CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

    l  授权

    GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '123123';

    l  导入SQL文件

    在解压路径下的zabbix-3.0.15/database/mysql的SQL文件导入数据库

    mysql> source /root/soft/schema.sql;

    mysql> source /root/soft/images.sql;

    mysql> source /root/soft/data.sql;

    4、修改配置文件

    [root@localhost etc]# vim zabbix_server.conf

    DBName=zabbix

    DBUser=zabbix

    DBPassword=zabbixpass

    5、移动web访问文件到http

      cp  -r  /root/soft/zabbix-3.0.15/frontends/php/* /var/www/html/

    chown -R apache:apache /var/www/html

    chmod +x /var/www/html/conf/

    cp /root/soft/zabbix-3.0.15/misc/init.d/fedora/core/zabbix_* /etc/init.d/

    vim /etc/init.d/zabbix_server

    BASEDIR=/usr/local/zabbix/   #修改项

    重启Apache服务

    进行web页面访问

    Ip:端口/setup.php

    进入图形界面安装,注意相关配置

    6、修改中文乱码

    l  进入/var/www/html/fonts 目录

    添加windos电脑中的文字编码 C:WindowsFonts

    选择【楷体常规】,放入/var/www/html/fonts,修改文件名为小写

    修改文件/var/www/html/include/defines.inc.php的DejaVuSans替换为simkai

    刷新正常

    三、Zabbix添加监控项

    配置客户端agent

    l  添加yum源

    rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

    l  安装客户端

    yum install zabbix-agent –y

    l  修改客户端配置

    grep -v -E '^#|^$' zabbix_agentd.conf

    PidFile=/var/run/zabbix/zabbix_agentd.pid

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

    LogFileSize=0

    Server=10.130.44.184  #被动模式

    ServerActive=10.130.44.184  #主动模式

    Hostname=180-test      #主机名

    Include=/etc/zabbix/zabbix_agentd.d

    l  启动客户端

    /etc/init.d/zabbix-agent start

    添加主机

    添加完后

    批量添加坐席,自动发现

    创建自动发现规则

    创建自动发现动作

    配置自动发现的主机名,会自动填写,需要将要监控的主机ip和主机名加入到hosts中,以便于自动发现时,显示正常的主机名

    1、添加mysql监控项(使用自带模板)

    l  在【主机】-【模板】中添加

    Template App MySQLTemplate OS Linux

    l  添加后在监控项中会有

    l  在客户端的配置文件出添加msyql调用文件

    /etc/zabbix

    cat .my.cnf

    [mysql]

    host=localhost

    user=zabbix      #连接用户

    password=123123  #连接用户密码

    socket=/var/lib/mysql/mysql.sock   #启动的sock文件

    [mysqladmin]

    host=localhost

    user=zabbix

    password=123123

    socket=/var/lib/mysql/mysql.sock

    l  修改zabbix_agentd.conf

    Include=/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

    l  可以通过动态图形来查看监控项

    2、查看服务器相关图形

    选择对应的图形进行查看

    3、添加nginx监控项

    l  监控脚本

    #!/bin/bash

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

    # Zabbix monitoring script

    #

    # nginx:

    #  - anything available via nginx stub-status module

    #

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

    # Contact:

    #  vincent.viallet@gmail.com

    # Zabbix requested parameter

    ZBX_REQ_DATA="$1"

    ZBX_REQ_DATA_URL="$2"

    # Nginx defaults

    NGINX_STATUS_DEFAULT_URL="http://127.0.0.1/nginx_status"

    WGET_BIN="/usr/bin/wget"

    #

    # Error handling:

    #  - need to be displayable in Zabbix (avoid NOT_SUPPORTED)

    #  - items need to be of type "float" (allow negative + float)

    #

    ERROR_NO_ACCESS_FILE="-0.9900"

    ERROR_NO_ACCESS="-0.9901"

    ERROR_WRONG_PARAM="-0.9902"

    ERROR_DATA="-0.9903" # either can not connect / bad host / bad port

    # Handle host and port if non-default

    if [ ! -z "$ZBX_REQ_DATA_URL" ]; then

      URL="$ZBX_REQ_DATA_URL"

    else

      URL="$NGINX_STATUS_DEFAULT_URL"

    fi

    # save the nginx stats in a variable for future parsing

    NGINX_STATS=$($WGET_BIN -q $URL -O - 2> /dev/null)

    # error during retrieve

    if [ $? -ne 0 -o -z "$NGINX_STATS" ]; then

      echo $ERROR_DATA

      exit 1

    fi

    #

    # Extract data from nginx stats

    #

    case $ZBX_REQ_DATA in

      active_connections)   echo "$NGINX_STATS" | head -1             | cut -f3 -d' ';;

      accepted_connections) echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f2 -d' ';;

      handled_connections)  echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f3 -d' ';;

      handled_requests)     echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f4 -d' ';;

      reading)              echo "$NGINX_STATS" | tail -1             | cut -f2 -d' ';;

      writing)              echo "$NGINX_STATS" | tail -1             | cut -f4 -d' ';;

      waiting)              echo "$NGINX_STATS" | tail -1             | cut -f6 -d' ';;

      *) echo $ERROR_WRONG_PARAM; exit 1;;

    esac

    exit 0

    l  Nginx监控模板(可从网上查找)

    https://github.com/jizhang/zabbix-templates/blob/master/nginx/nginx-template.xml

    4、添加自定义监控项

    l  添加监控脚本

    [root@CS-01 zabbix]# cat chk_active.sh

    #!/bin/sh

    #checkprogram

    case  $1 in

         nginx)

              ps -ef|grep -v grep |grep -v chk_active.sh|grep  nginx |wc -l   ;;

         tomcat) 

              ps -ef|grep -v grep |grep -v chk_active.sh|grep tomcat |wc -l  ;;

         *)  echo  "-0.9902";exit 1;;

    esac

    exit 0

    l  添加监控配置

             UserParameter=chk_acative[*],sh /usr/local/zabbix/chk_active.sh "$1"

    l  添加nginx状态的监控项的模板

    l  添加监控项

    5、添加触发器

    选择触发器监控项

    选择触发条件

    等于0时触发

    l  测试触发器

    将触发器的模板添加到主机中

         关闭主机中的tomcat服务,测试触发器

  • 相关阅读:
    趣谈多线程
    使用application manifest file
    参加一个.NET培训后的若干笔记
    遍历sql server数据库的简单方法
    为什么对继承的方法签名检查这么严格?
    Serialize Dictionary to xml using DataContractSerializer
    如何在sql中查询xml字符串
    从PowerDesigner概念设计模型(CDM)中的3种实体关系说起
    using "code coverage coloring" to help debuging
    日常工作中用到过的PowerShell指令
  • 原文地址:https://www.cnblogs.com/fan-yi/p/8728177.html
Copyright © 2011-2022 走看看