• Zabbix安装搭建以及解决乱码问题


    都需要监控什么呢?

    CPU,内存,硬盘,服务等等等,你想监控什么就监控什么,用自己的脚本写出来

    • 硬件监控:智能平台管理接口   ipmitools(查看物理服务器信息),Megacli(查看raid磁盘信息)

          yum install ipmitool -y

    • 系统监控:CPU(lscpu,uptime,top,vmstat 1,mpstat 1,htop)  内存(free -m) 硬盘(df -h,iotop)  网络(iftop,netstat,ss)

          htop需要安装,epel源(很强大)

          yum install htop -y

          没有的都yum install一下

    • 应用监控:nfs,mysql,nginx,apache,php,rsync等
    • 日志监控:系统日志(安全日志secure  message  sudo日志)服务日志(错误日志error)
    • 业务监控:网站是否能访问

    zabbix有两个部分构成,zabbix server和zabbix agent  可选组件zabbix proxy

    zabbix的官网 :https://www.zabbix.com/

    搭建LNMP环境

    配置环境

     yum install pcre pcre-devel openssl-devel zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt -y

     Nginx安装方法

    PHP安装方法

    Mysql安装方法

    (我这里直接使用自己定制的RPM包安装了)

    编译安装zabbix

     安装依赖包(数据库如果是二进制安装的 需要加上  mysql-devel)

    yum install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel java-devel -y

    创建zabbix用户

    useradd zabbix -s /sbin/nologin
    
    mkdir - p /application/tools
    
    cd /application/tools/

    下载zabbix

     wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.15/zabbix-3.0.15.tar.gz

    解压安装

    tar xf zabbix-3.0.15.tar.gz
    
    cd zabbix-3.0.15
    
    ./configure --prefix=/application/zabbix-3.0.15 --enable-server --enable-agent --enable-java --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-openssl
    
    make && make install
    
     ln -s /application/zabbix-3.0.15/ /application/zabbix

    对数据库操作

    创建zabbix数据库,并制定字符集
    
    create database zabbix character set utf8 collate utf8_bin;
    
     创建用户
    
    grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
    
    刷新权限
    
    flush privileges;

    找到路径*(在zabbix压缩包里),下面有三个SQL文件

    /application/tools/zabbix-3.0.15/database/mysql

    导入数据文件(数据库里操作,确定路径,顺序不要错)

    use zabbix
    source /application/tools/zabbix-3.0.15/database/mysql/schema.sql    #表结构,首先导入
    source /application/tools/zabbix-3.0.15/database/mysql/images.sql     #图形,其次导入
    source /application/tools/zabbix-3.0.15/database/mysql/data.sql        #数据,最后导入

    创建站点目录

    mkdir -p /application/nginx/html/zabbix

    拷贝源码包里的PHP文件到  站点(tar解压出来的包)

    cp -a /application/tools/zabbix-3.0.15/frontends/php/* /application/nginx/html/zabbix/
    
    chown -R www.www /application/nginx/html/zabbix/

    修改配置PHP文件(修改后的)

    egrep -n "^post_max_size|^max_execution|^max_input_time|^date.timezone" /application/php/lib/php.ini
    
    372:max_execution_time = 300
    382:max_input_time = 300
    660:post_max_size = 16M
    910:date.timezone = Asia/Shanghai

    重启

    pkill php
    
    /application/php/sbin/php-fpm 
    
     

    配置nginx文件

    cat >/application/nginx/conf/nginx.conf<<EOF
    
    worker_processes 1;
    events {
    worker_connections 1024;
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    server {
    listen 80;
    server_name localhost;
    location / {
    root html;
    index index.php index.html index.htm;
    } 
    location ~ .*.(php|php5)?$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    access_log logs/zabbix.log;
    }
    
    }
    
    EOF

    重启

    /application/nginx/sbin/nginx -s reload

    配置zabbix文件

    vim /application/zabbix/etc/zabbix_server.conf
    
    修改77行,指定数据库的IP地址
    
     77 DBHost=127.0.0.1
    
    111行指定数据库密码
    
    111 DBPassword=zabbix

    拷贝启动脚本

    cp /application/tools/zabbix-3.0.15/misc/init.d/fedora/core/zabbix_{server,agentd} /etc/init.d/
    
    ls /etc/init.d/zabbix_*
    /etc/init.d/zabbix_agentd /etc/init.d/zabbix_server
    
    修改启动脚本
    
    sed -i "s#BASEDIR=/usr/local#BASEDIR=/application/zabbix#g" /etc/init.d/zabbix_{server,agentd}

    启动

    /etc/init.d/zabbix_server start
    Starting zabbix_server: /application/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
    [失败]
    
    没有libmysqlclient.so.18库文件
    
    ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/

    /etc/init.d/zabbix_server start 
    Starting zabbix_server:         [确定]

    可以访问

    http://192.168.70.134/zabbix/

    要装这个模块,要不然用不了中文

    找到PHP源码包(tar.gz的包)

    在里面找到

    cd /home/daxian/tools/php-5.5.32/ext
    
    cd gettext/
    
    (一定要在这个目录下执行)
    
    /application/php/bin/phpize 
    
    ./configure --with-php-config=/application/php/bin/php-config
    
    make && make install
    
     echo "extension = gettext.so" >>/application/php/lib/php.ini 
    
    查看是否加入进去
    
    /application/php/bin/php -m
    
    重启PHP
    
    pkill php
    
    /application/php/sbin/php-fpm 

    提示:如果之前是二进制安装数据库,最好把mysqli也装一下

    cd mysqli/
    
    /application/php/bin/phpize
    
    ./configure --with-php-config=/application/php/bin/php-config
    
    make && make install
    
    echo "extension = mysqli.so" >>/application/php/lib/php.ini 
    
    /application/php/bin/php -m|grep mysqli
    mysqli

     

    搭建好了

     ==============客户端搭建===============

    直接在zabbix端启动(先监控自己)

    /etc/init.d/zabbix_agentd start

    连接一台web服务器,安装客户端

    下载客户端

     wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.14-1.el6.x86_64.rpm

    安装(解决依赖关系)

    yum localinstall zabbix-agent-3.0.14-1.el6.x86_64.rpm

    修改配置文件

    vim /etc/zabbix/zabbix_agentd.conf 

    95 Server=192.168.70.134

    启动

     /etc/init.d/zabbix-agent start

    查看数据

     解决乱码问题

    服务端操作

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
    下载字体包
    yum install wqy-microhei-fonts -y
    替换字体
    cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /application/nginx/html/zabbix/fonts/DejaVuSans.ttf 

    解决了

  • 相关阅读:
    合并两个排序的链表
    C#中调用C++的DLL文件
    C#获取进程的主窗口句柄
    在VS2008中编译纯c/c++程序并由c#调用过程 及 C++引用c#dll 模拟登陆实现
    C#多屏幕显示器编程
    Windows系统下的多显示器模式开发日记
    在 C# 中调用 C++
    C# 中调用C++ DLL (P/Invoke)
    C#多屏时控制窗体显示在哪个显示器上
    c# Winform 开发分屏显示应用程序
  • 原文地址:https://www.cnblogs.com/sky00747/p/8608491.html
Copyright © 2020-2023  润新知