• Zabbix——介绍与部署


    LINUX常见监控平台

    • 流行的开源监控软件有:Cacti、Nagios、Zabbix、smokeping、open-falcon等等
      • Cacti更擅长监控网络流量。
      • Zabbix可以存储数据方便地画图,并且支持查询历史数据和自定义监控项
      • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧

    Zabbix组件结构

    Zabbix_Server

    整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、统计数据及操作数据都由它组织。

    数据库存储

    所有配置信息和Zabbix收集到的数据都被存储在数据库中

    Web界面

    为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上

    Zabbix_Proxy(可选)

    用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbix-server的压力。

    Zabbix_Agent

    zabbix-agent为客户端软件,用于采集各监控项目的数据,并把采集的数据传输给zabbix-proxy或zabbix-server。

    Zabbix主要功能

    • 监控系统
      • 内存使用率
      • CPU使用率
      • 磁盘使用率
      • 监控文件修改
    • 网络监控
      • 流量
      • 路由器
      • 交换机
      • 防火墙
    • 业务监控
      • 进程
      • 日志
    • 硬件监控
      • 电源
      • 温度

    Zabbix部署

    1. 下载安装Zabbix
    [root@localhost src]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.0.tar.gz
    
    [root@localhost src]# ls
    debug  kernels  zabbix-5.2.0.tar.gz
    [root@localhost src]# tar -xf zabbix-5.2.0.tar.gz
    [root@localhost src]# ls
    debug  kernels  zabbix-5.2.0  zabbix-5.2.0.tar.gz
    
    # 创建系统用户
    [root@localhost src]# useradd -r -M -s /sbin/nologin zabbix
    [root@localhost src]# id zabbix
    uid=992(zabbix) gid=990(zabbix) groups=990(zabbix)
    
    1. Zabbix数据库配置
    # 进入mysql
    
    [root@localhost ~]# mysql -uroot -p'123456'
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or g
    ......
    mysql> 
    
    # 创建zabbix数据库
    mysql> create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | zabbix             |
    +--------------------+
    5 rows in set (0.13 sec)
    
    # 创建并附加权限
    mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
    Query OK, 0 rows affected, 2 warnings (0.01 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    # 查看zabbix包内的mysqk数据库文件
    [root@localhost zabbix-5.2.0]# cd database/mysql/
    [root@localhost mysql]# ls
    data.sql  double.sql  images.sql  Makefile.am  Makefile.in  schema.sql
    
    # 导入zabbix包内的数据到zabbix数据库内
    [root@localhost mysql]# mysql -uzabbix -p zabbix < schema.sql 
    Enter password: 
    [root@localhost mysql]# mysql -uzabbix -p zabbix < images.sql
    Enter password: 
    [root@localhost mysql]# mysql -uzabbix -p zabbix < data.sql 
    Enter password:
    
    # 验证zabbix表内是否有数据
    
    mysql> use zabbix;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> show tables;
    Tables_in_zabbix           |
    +----------------------------+
    | acknowledges               |
    | actions                    |
    | alerts                     |
    | application_discovery      |
    | application_prototype      |
    | application_template       |
    | applications    
    ......
    | valuemaps                  |
    | widget                     |
    | widget_field               |
    +----------------------------+
    170 rows in set (0.00 sec)
    

    3.编译安装zabbix

     [root@localhost zabbix-5.2.0]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp  --with-libcurl --with-libxml2
     
     # 注意:依赖包有:net-snmp-devel,libevent-devel
     
     ......
      LDAP support:          no
      IPv6 support:          no
    
    ***********************************************************
    *            Now run 'make install'                       *
    *                                                         *
    *            Thank you for using Zabbix!                  *
    *              <http://www.zabbix.com>                    *
    ***********************************************************
    
    # 进行编译安装
    [root@localhost zabbix-5.2.0]# make install
    ......
    
    1. 部署zabbix server端
    [root@localhost /]# cd usr/local/etc/
    [root@localhost etc]# ls
    zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d
    
    # 修改服务端配置文件,设置zabbix数据库连接密码。
    ......
    DBUser=zabbix
    
    ### Option: DBPassword
    #       Database password.
    #       Comment this line if no password is used.
    #
    # Mandatory: no
    # Default:
    DBPassword=123456    # 设置数据库连接密码
    ......
    
    1. 启动zabbix_server 和 zabbix_agentd
    [root@localhost etc]# zabbix_server
    [root@localhost etc]# zabbix_agentd
    [root@localhost etc]# ss -antl
    State       Recv-Q       Send-Q               Local Address:Port                Peer Address:Port       
    LISTEN      0            128                        0.0.0.0:22                       0.0.0.0:*          
    LISTEN      0            128                        0.0.0.0:10050                    0.0.0.0:*          
    LISTEN      0            128                        0.0.0.0:10051                    0.0.0.0:*          
    LISTEN      0            128                      127.0.0.1:9000                     0.0.0.0:*          
    LISTEN      0            128                              *:80                             *:*          
    LISTEN      0            128                           [::]:22                          [::]:*          
    LISTEN      0            80                               *:3306                           *:*
    

    6.web界面的安装与配置

    # 修改/etc/php.ini参数已方便后续web页的安装
    
    [root@localhost etc]# vim /etc/php.ini
    .......
    post_max_size = 16
    ......
    ......
    max_execution_time = 300
    ......
    max_input_time = 300
    ......
    ......
    ;date.timezone = Asia/Shanghai
    ......
    
    # 修改完成之后重启服务
    [root@localhost etc]# service php-fpm restart
    Gracefully shutting down php-fpm . done
    Starting php-fpm  done
    
    # 将zabbix包内的网页前端文件导入到虚拟主机的配置文件中
    [root@localhost htdocs]# mkdir zabbix
    [root@localhost htdocs]# ls
    index.html  zabbix
    [root@localhost zabbix-5.2.0]# cp -a ui/* /usr/local/httpd/htdocs/zabbix/
    # 为htdocs更改所属组与所属用户
    [root@localhost zabbix-5.2.0]# chown -R apache.apache /usr/local/httpd/htdocs
    
    # 配置虚拟主机
    [root@localhost zabbix-5.2.0]# vim /etc/httpd24/extra/httpd-vhosts.conf 
    <VirtualHost *:80>
        DocumentRoot "/usr/local/httpd/htdocs/zabbix"
        ServerName www.sawyer.com
        ProxyRequests Off
        ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/usr/local/httpd/htdocs/zabbix/$1
        <Directory "/usr/local/httpd/htdocs/zabbix">
            Options none
            AllowOverride none
            Require all granted
        </Directory>
    </VirtualHost>
    
    # 暂时为zabbix开放web配置文件的权限
    [root@localhost zabbix-5.2.0]# chmod 777 /usr/local/httpd/htdocs/zabbix/conf
    [root@localhost zabbix-5.2.0]# ll -d /usr/local/httpd/htdocs/zabbix/conf
    drwxrwxrwx 3 apache apache 94 Oct 26 23:44 /usr/local/httpd/htdocs/zabbix/conf
    
    # 重启apache服务
    [root@localhost zabbix-5.2.0]# apachectl restart
    

    7.web初始化流程




    Zabbix web页面默认登录账号为Admin ,密码为zabbix

    # 配置完成后记得修改/htdocs/zabbix/conf文件的权限
    [root@localhost zabbix-5.2.0]# chmod 755 /usr/local/httpd/htdocs/zabbix/conf
    [root@localhost zabbix-5.2.0]# ll -d /usr/local/httpd/htdocs/zabbix/conf
    drwxr-xr-x 3 apache apache 117 Nov  3 15:05 /usr/local/httpd/htdocs/zabbix/conf
    

    Zabbix 监控项配置

    客户端IP 客户端环境
    192.168.197.133 zabbix_agent

    1.配置客户机的zabbix客户端环境

    # 安装依赖包
    [root@localhost zabbix-5.2.0]# yum -y install pcre-devel
    #创建系统用户
    [root@localhost zabbix-5.2.0]# useradd -M -r -s /sbin/nologin zabbix
    
    # 编译zabbix,客户机只用编译agent
    [root@localhost zabbix-5.2.0]# ./configure --enable-agent
    ......
     LDAP support:          no
      IPv6 support:          no
    
    ***********************************************************
    *            Now run 'make install'                       *
    *                                                         *
    *            Thank you for using Zabbix!                  *
    *              <http://www.zabbix.com>                    *
    ***********************************************************
    [root@localhost zabbix-5.2.0]# make install
    ......
    

    2.配置agent配置文件

    [root@localhost etc]# vim /usr/local/etc/zabbix_agentd.conf
    ......
    # Server=
    
    Server=192.168.197.138  # 配置zabbix_server IP地址
    ......
    
    # ServerActive=
    
    ServerActive=192.168.197.138   # 配置zabbix_server IP地址
    ......
    
    
    # Hostname=
    
    Hostname=zabbix_test   # 配置Hostname,此名字对应web页新增host名字
    ......
    
    # 开启服务
    [root@localhost etc]# zabbix_agentd 
    [root@localhost etc]# ss -antl
    State       Recv-Q       Send-Q               Local Address:Port                Peer Address:Port       
    LISTEN      0            128                        0.0.0.0:22                       0.0.0.0:*          
    LISTEN      0            128                        0.0.0.0:10050                    0.0.0.0:*          
    LISTEN      0            128                           [::]:22                          [::]:*     
    
    1. web页新建hosts_group

    4.新建host

    5.新建host后,新建item(监控项)


    6.新建item后查看Lastest data(如果有value,说明已经成功监控)

    7.新建trigger(触发器)

    7.修改被监控的文件内容,测试zabbix监控效果

    [root@localhost etc]# echo '你好' >> test.conf 
    [root@localhost etc]# cat test.conf 
    你好
    

  • 相关阅读:
    音视频-x624和H.264
    状态机解决复杂逻辑及使用
    任意程序上的蒙版画笔实现
    WPF-3D圆柱体透视
    WPF-3D-Z-buffering 导致的遮盖物体不渲染问题
    WPF3D立方体图形展开动画思路
    解决Prism 8.0 I添加InvokeCommandAction xaml报错问题
    Spark编程基础(Python版)
    前端开发工具fscapture
    修改element ui select选择器 样式
  • 原文地址:https://www.cnblogs.com/sawyer95/p/13920506.html
Copyright © 2020-2023  润新知