zoukankan      html  css  js  c++  java
  • Zabbix监控

    zabbix

    zabbix是一个可灵活的监控服务资源,基于web界面的开源软件,由C语言编写的底层架构(server端和agent端)
    具备主机的性能监控,网络设备监控,数据库性能监控,多种告警方式,信息报表,图标的绘制等等。检测队形可以是linux或者window服务器,也可以是路由器,交换机等设备。通过SNMP(简单网络管理协议)。
    zabbix,agent,ping,端口监控等方法提供了对远程网络服务器的监控,数据收集等功能
    官网:http://www.zabbix.com

    运行条件

    • zabbix server需要运行在lamp环境下,对硬件要求低。
    • agent:支持市面上常见的os
    • snmp:支持各类常见的网络设备

    优缺点

    • 优点:开源,无软件成本投入,server对设备性能要求低,支持多设备,支持分布式集中管理,开放式接口,扩展性强。
    • 缺点:需要在监控主机上安装agent,所有数据都在数据库,产生的数据很大。

    监控原理

    • zabbix server:负责接受agent发送的报告信息的核心组件,所有配置,统计数据及操作数据都有它组织进行
    • database storage:专门用于存储所有配置信息,以及有zabbix收集的数据
    • web interface:zabbix的GUI接口
    • proxy:可选组件,常用于监控节点很多的分布式环境,代理server收集部分数据转发到server,可以减轻server的压力
    • agent:部署在被监控的主机上,负责收集主机本地数据如:CPU,内存,数据库等数据发往server端

    服务流程
    agentd需要安装在被监控的主机上,它负责定期收集各项数据,并发送到zabbix server上,zabbix server将数据存储在数据库中,zabbix web根据数据在前端进行展示和绘图

    客户端守护进程

    • zabbix_get:zabbix工具,单独使用命令,通常在server或者proxy端执行获取远程客户端信息的命令。
    • zabbix_sender:用于发送数据,通常用于耗时长的检查
    • zabbix_server:服务端守护进程
    • zabbix_proxy:代理守护进程,只是一个中转站
    • zabbix_jave_gateway:只用于Java方面且能主动的获取数据

    zabbix安装

    #首先安装网络源
    
    yum -y install httpd mariadb-server mariadb mariadb-devel php php-mbstring php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-sump net-sump-devel libxml2 libxml2-devel ntpdate curl-devel  #安装lamp环境,以及所需要的软件包
    
    [root@server04 ~]# systemctl start mariadb
    [root@server04 ~]# systemctl start httpd
    [root@server04 ~]# systemctl enable mariadb
    [root@server04 ~]# systemctl enable httpd
    
    #准备Java环境
    [root@server04 ~]# java -version
    java version "1.8.0_191"
    Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
    [root@server04 ~]# javac -version
    javac 1.8.0_181
    [root@server04 ~]# vim /etc/profile
    export JAVA_HOME=/usr/local/java
    export PATH=$PATH:$JAVA_HOME/bin
    
    tar xf zabbix... -C /usr/src
    cd /usr/src/zabbix...
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java && make -j2 && make install
    ##--enable-server --enable-agent  其用zabbix和agent
    
    #mysql数据库授权
    create database zabbix character set utf8;  
    grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
    grant all on zabbix.* to zabbix@'192.168.200.12' identified by 'zabbix';
    flush privileges;
    [root@server04 zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql   #导入zabbix锁需要的mysql数据
    [root@server04 zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql 
    [root@server04 zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql 
    #查看上传是否成功
    use zabbix;
    show tables;
    
    
    #创建zabbix程序用户并授权防止权限错误
    [root@server04 ~]# useradd -M -s /bin/nologin zabbix
    [root@server04 ~]# cd /usr/local/
    [root@server04 local]# chown -R zabbix:zabbix zabbix/
    [root@server04 local]# cd ./zabbix/
    [root@server04 zabbix]# pwd
    /usr/local/zabbix
    [root@server04 zabbix]# mkdir logs
    [root@server04 zabbix]# chown zabbix:zabbix logs/
    [root@server04 zabbix]# cp -p etc/zabbix_server.conf{,.bak}
    [root@server04 zabbix]# cp -p etc/zabbix_agentd.conf{,.bak}
    
    
    #修改zabbix配置文件
    cd /usr/local/zabbix/etc/
    vim zabbix_server.conf
    LogFile=/usr/local/zabbix/logs/zabbix_server.log  #指定zabbix日志位置
    PidFile=/tmp/zabbix_server.pid	  #指定zabbix_pid文件位置
    DBHost=192.168.200.111  #指定数据库主机
    DBName=zabbix  #数据库名
    DBUser=zabbix   #数据库用户
    DBPassword=zabbix  #数据库密码
    DBSocket=/var/lib/mysql/mysql.sock  #指定mariadb数据库的sock文件	
    Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf
    
    vim zabbix_agent.pid
    PidFile=/tmp/zabbix_agentd.pid
    Server=127.0.0.1,192.168.200.111
    ServerActive=192.168.200.111
    Hostname=server.zabbix.com                   #指定zabbixserver主机名
    LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
    
    
    #配置php与Apache
    [root@server ~]# mv /usr/src/zabbix-3.4.11/frontends/php/ /var/www/html/zabbix
    [root@server ~]# chown -R apache:apache /var/www/html/zabbix/
    [root@server ~]# vim /etc/php.ini 
    878:date.timezone = Asia/Shanghai  #时区
    384:max_execution_time = 300  #单位秒,时间限制
    394:max_input_time = 300  #php程序上传文件解析数据时的时间限制
    672:post_max_size = 32M  #post方式请求数据锁允许的大小
    405:memory_limit = 128M  #设置php程序的内存限制
    854:extension=bcmath.so  #添加zabbix程序需要的模块bcmath.so
    
    [root@server ~]# systemctl restart httpd.service 
    [root@server ~]# netstat -lnptu | egrep ':10050|:10051|:80'
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      22746/zabbix_agentd 
    tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      22741/zabbix_server 
    tcp6       0      0 :::80                   :::*                    LISTEN      22984/httpd         
    tcp6       0      0 :::10050                :::*                    LISTEN      22746/zabbix_agentd 
    tcp6       0      0 :::10051                :::*                    LISTEN      22741/zabbix_server 
    
    

  • 相关阅读:
    linux 常用函数
    现在什么都不是浮云
    laosao
    2012年
    工作任务
    代码整理
    如何做一个男人
    很重要的2点
    录像预录的设计及实现
    弄了一个小网站
  • 原文地址:https://www.cnblogs.com/wml3030/p/15481268.html
Copyright © 2011-2022 走看看