zoukankan      html  css  js  c++  java
  • [Linux]-部署Zabbix监控

    Zabbix简介

      zabbix是一个基于web界面提供分布式系统监控及其网络监控功能的企业级开源项目解决方案,zabbix能监视各种网络参数,保证服务器系统的安全运行稳定运营,并提供灵活的通知机制以让管理员快速定位并解决存在的各种问题。

      zabbix有两种部分组成,分别是[zabbix server]、[zabbix agent]

      zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

    zabbix的主要特点

    - 安装与配置简单,学习成本低
    - 支持多语言(包括中文)
    - 免费开源
    - 自动发现服务器与网络设备
    - 分布式监视以及WEB集中管理功能
    - 可以无agent监视
    - 用户安全认证和柔软的授权方式
    - 通过WEB界面设置或查看监视结果
    - email等通知功能

    Zabbix主要功能

    - CPU负荷
    - 内存使用
    - 磁盘使用
    - 网络状况
    - 端口监视
    - 日志监视
    - 安全监控
    - 日志监控
    - 业务监控
    - 流量分析
    - 自动化监控

    Zabbix监控原理

    Zabbix 通过C/S 模式采集数据,通过B/S模式在web 端展示和配置。

    被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据

    监控端:通过收集SNMP 和agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过php+apache 在web 前端展示。 

    zabbix特点

    1、分布式监控系统,分为node,proxy两种模式
    2、自动化监控,自动化监控工具,支持多变量,支持low level  discovery(lld低水平自动发现),可批量管理监控
    3、自动化监视,注册主机,自动添加模板、分组,自动化运维利器,可以搭配puppet(集中配置管理系统)&zabbix使用,还有一个saltstack(管理工具允许管理员对多个操作系统创建一个一致的管理系统)&zabbix
    4、报警触发器,多重判断机制,多种监控方式,snmp,agentd,ipmi,jmx等
    Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、
    windows
    SNMP:支持各类常见的网络设备
    SNMP(Simple Network Management Protocol,简单网络管理协议

    试用环境

    中小规模(服务器<=1k):Zabbix/cacti
    大规模(1k>=服务器<=10k):Nagios二次开发
    超大规模(服务器>=10k):自开发监控系统

     Nagios(开源软件)

    Zabbix(开源商业软件)

    Cloud lnsight (不开源免费)

    Zabbix主控端配置

    需要搭建LAMP环境,详见其他博客,本次试用yum安装LAMP环境,配置ip地址[192.168.1.1]和yum环境,注意关闭selinux

     1、YUM安装简单的LAMP环境

    [root@localhost ~]# yum -y install gcc mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd

     安装php-bcmath,php-mbstring

    [root@localhost ~]# rpm -ivh php-bcmath-5.3.3-22.el6.x86_64.rpm  --nodeps 
    [root@localhost ~]# rpm -ivh php-mbstring-5.3.3-22.el6.x86_64.rpm --nodeps

     2、安装Zabbix

    创建一个zabbix的用户

    [root@localhost ~]# useradd -u 66 zabbix

     解压配置编译安装

    [root@localhost ~]# tar -zxvf zabbix-2.2.6.tar.gz -C /usr/src/ 
    [root@localhost ~]# cd /usr/src/zabbix-2.2.6/ 
    [root@localhost ~]#  ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent 
                --withnet-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config
                && make && make install

     软连接优化

    [root@localhost ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ 
    [root@localhost ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/

     添加服务配置文件的prot

    [root@localhost ~]# vim /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 

     修改配置文件

    [root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf 
    修改: 
    DBName
    =zabbix //数据库名称 DBUser=zabbix //数据库用户名 DBPassword= 123.com //数据库密码 ListenIP=127.0.0.1 //数据库 ip 地址
    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts //警告路径

     修改agentd配置文件,因为本服务器也需要被监控

    [root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 
    修改:
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 
    UnsafeUserParameters=1

     拷贝启动脚本

    [root@localhost ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ 
    [root@localhost ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/ 
     
    [root@localhost ~]# vim /etc/init.d/zabbix_server 
    修改:
    BASEDIR=/usr/local/zabbix/
    vim /etc/init.d/zabbix_agentd
    修改:
    BASEDIR=/usr/local/zabbix/ //需要指定路径

    赋予执行权限

    [root@localhost ~]# chmod +x /etc/init.d/zabbix_agentd  
    [root@localhost ~]# chmod +x /etc/init.d/zabbix_server

     分别开启服务并添加为系统服务

    [root@localhost ~]# /etc/init.d/zabbix_agentd start 
    [root@localhost ~]# /etc/init.d/zabbix_server star
    [root@localhost ~]# chkconfig --add zabbix_agentd
    [root@localhost ~]# chkconfig zabbix_server on
    [root@localhost ~]# chkconfig --add zabbix_server
    [root@localhost ~]# chkconfig zabbix_agentd on

     3、配置php

    [root@localhost ~]# vim /etc/php.ini 
    修改: 
    max_execution_time = 300       //最大执行时间
    max_input_time = 300         //最大输入时间
    post_max_size = 16M        //限定上传最大空间
    date.timezone = Asia/Shanghai  //指定区时,注意大小写

     4、配置httpd

    [root@localhost ~]# vim  /etc/httpd/conf/httpd.conf 
    修改: DirectoryIndex index.php index.html index.html.var    //使其支持php
     
    [root@localhost ~]# cp -r /usr/src/zabbix-2.2.6/frontends/php/ /var/www/html/zabbix    //zabbix的网页复制到httpd下
    [root@localhost ~]# chown -R apache:apache /var/www/html/zabbix/                       //权限
    [root@localhost ~]# service httpd restart [root@localhost ~]# chkconfig --add httpd [root@localhost ~]# chkconfig httpd on       //重启服务使其生效,添加为系统服务

     5、配置MySQL

    [root@localhost ~]# service mysqld restart 
    [root@localhost ~]# chkconfig --add mysqld 
    [root@localhost ~]# chkconfig mysqld on 
    [root@localhost ~]# mysqladmin  -u root password '123.com'   //设置一个秘密
    [root@localhost ~]# mysql -u root -p123.com 
    创建库:
    Mysql>create database zabbix default character set utf8;    //指定字符集是utf-8
    Mysql>grant all privileges on zabbix.* to zabbix@localhost identified by '123.com';  
    [root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/schema.sql  
    [root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/images.sql  
    [root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/data.sql    //导入数据库,注意导入顺序按照这个顺序,然后输入password

     6、验证zabbix

    [root@localhost ~]# firefox http://192.168.1.1/zabbix &   

    出现zabbix的安装网页就说明成功,如果没有仔细检查或重启服务

    Zabbix被控端安装配置

    [root@localhost ~]# hostname cheney    //更改主机名
    [root@localhost ~]# bash        //使其生效 [root@cheney
    ~]# useradd -u 66 zabbix
    [root@cheney ~]# tar -zxvf zabbix-2.2.6.tar.gz -C /usr/src/ 
    [root@cheney ~]# cd /usr/src/zabbix-2.2.6/ 
    [root@cheney ~]#./configure --prefix=/usr/local/zabbix --enable-agent make && make install  //因为是被控端,之安装配置agent 
    [root@cheney ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ 
    [root@cheney ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/     //路径优化
    

    修改配置文件

    [root@cheney ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 
    修改: 
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/    //去掉 lnclude 的注释并修改路径 
    UnsafeUserParameters=1                         //“0”改为“1”,启用自定义 key 
    Server=192.168.1.1                            //主控服务器 IP(zabbix 服务器的 IP) 
    ServerActive=192.168.1.1                       //主控服务器 IP(zabbix 服务器的 IP) 
    Hostname=cheney                        //受控端主机名

    添加服务port到结尾

    [root@cheney ~]# vim /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

    拷贝启动脚本并赋予执行权限

    [root@cheney ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd 
    [root@chenye ~]# chmod +x /etc/rc.d/init.d/zabbix_agentd[root@www ~]# /etc/rc.d/init.d/zabbix_agentd restart 
    [root@cheney ~]# chkconfig --add zabbix_agentd 
    [root@cheney ~]# chkconfig zabbix_agentd on 

    修改配置文件

    [root@cheney ~]# vim /etc/rc.d/init.d/zabbix_agentd 
    修改: 
    BASEDIR=/usr/local/zabbix               //改为zabbix的安装路径
    

    3、在网页中安装Zabbix(主控端)

    注意事项:1.第二页的配置信息需要全部“OK”才可以进行后面的操作;

         2.User和password分别为我们创建的zabbix&zabbix

    Database:MySQL 
    Database host:127.0.0.1 
    Database port:use default port 
    Database name:zabbix 
    User:zabbix 
    Password:zabbix 

                3.Test connection   #测试数据库连接是否正常,显示 ok 表示通过

           4.后面默认,Finish 安装完成

    4、中文支持

    [root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php #编辑修改
                 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
              修改为 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),   

    替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码 在 Windows 系统中的 C:WindowsFonts 目录中复制出一个中文字体文件,例如 msyh.ttf 把字体文件 msyh.ttf 上传到 zabbix 站点根目录下 fonts 文件夹中 例如:/var/www/html/zabbix/fonts 备份默认的字体文件:DejaVusSans.ttf_bak 修改 msyh.ttf 名称为 DejaVusSans.ttf

    登录zabbix账号:admin     密码:zabbix  (默认),登录后点击右上角的Profile --  Language:Chinese(zh_CN)  //选择中文选项  保存后就是中文界面

  • 相关阅读:
    Openstack 通过 SQLAlchemy-ORM 访问数据库
    ulimit -c unlimited
    ajax 调用后台接口示例
    读书有什么用——北漂18年(番外篇三)
    zTree点击文字勾选复选框
    深度剖析 | 基于大数据架构的BI应用
    深度剖析 | 基于大数据架构的BI应用
    AngularJS之对话框
    AngularJS之依赖注入(实例一)
    AngularJS之$watch方法(监控动作)
  • 原文地址:https://www.cnblogs.com/chenwz/p/7701837.html
Copyright © 2011-2022 走看看