Zabbix 安装部署介绍(备忘)

Zabbix

zabbix 可以用来监测服务器状态

比如做压力测试时,可以用 zabbix 来采集测试数据

  • zabbix 内置数据
  • 自定义数据

Zabbix 工作原理

Zabbix 分为 4 部分:

  • zabbix frontend
  • zabbix_agentd
  • zabbix_server
  • database
+-----------------+
|  zabbix_agentd  +------+
+-----------------+      |
                         |
+-----------------+      |       +---------------+       +----------------+
|  zabbix_agentd  +--------------+ zabbix_server +-------+   database     |
+-----------------+      |       +-------+-------+       +----------------+
                         |               |
+-----------------+      |               |
|  zabbix_agentd  +------+               |
+-----------------+                      |
                                +--------+--------+
                                | zabbix frontend |
                                +-----------------+

如上图, 1 台 zabbix_server , 要监视的主机上装 zabbix_agentd 。

  • zabbix_agentd 定期上报监测数据
  • zabbix_server 把监测数据存入数据库
  • 通过 zabbix frontend ,网页访问 zabbix 界面

安装 Zabbix

参考官方文档: https://www.zabbix.com/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql

本例子 zabbix_agentd 也安装在 Zibbix server 机器上(实际需要安装到待监测的主机上)

概括下大致如下步骤:

  • 安装 zabbix
    rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
    
  • 创建数据库
    # mysql -uroot -p
    password
    mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'password';
    mysql> create database zabbix character set utf8 collate utf8_bin;
    mysql> grant all privileges on zabbix.* to 'zabbix'@'%'identified by 'password';
    mysql> quit;
    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix -h 127.0.0.1
    
  • Zabbix server 设置数据库信息
    • 主要设置 mysql 密码
  • Zabbix 前端设置时区
    • 时区改为: Asia/Shanghai
  • 开启服务
  • 安装 Zabbix frontend

添加监测主机

参考官方文档: https://www.zabbix.com/documentation/4.0/manual/quickstart/host

待监测的主机需要安装 zabbix agentd 。安装方法上面已介绍,大致如下:

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum -y install zabbix-agent
systemctl restart zabbix-agent
systemctl enable zabbix-agent

添加监测数据

两个步骤:

添加自定义监测数据

参考官方文档: https://www.zabbix.com/documentation/4.0/manual/config/items/userparameters

文档中介绍了主要事项,这里举例说明:

  1. 编写采样脚本,比如 /opt/kgetactive.sh:

    #! /bin/bash
    logdate=$(date +%Y-%m-%d)
    logfile_tmp='/path/log/xxxserver_'
    logfile="${logfile_tmp}${logdate}.log"
    f_grepKeyword () {
      tail -100 ${logfile} | egrep -E " ${1}:[0-9]+" | tail -1 | awk -F':' '{print $NF}'
    }
    if [[ -f ${logfile} ]]
    then
      getactive=$(f_grepKeyword $1)
      if [[ -n ${getactive} ]]
      then
        echo ${getactive}
      else
        echo "0"
      fi
    else
      echo "0"
    fi
    

    该脚本意思为通过日志文件获取带某些前缀(${1}:)后面的数字,比如 online:100 ,则执行命令:

    ./kgetactive.sh online
    
  2. 给 zabbix agentd 配置设置自定义监测项

     echo 'UserParameter=myGraph.online,sudo /opt/kgetactive.sh online' > /etc/zabbix/zabbix_agentd.d/userparameter_mygraph.conf
    
  3. 确保 zabbix 有可执行权限,并把 Defaults requiretty 注释掉

    echo 'zabbix ALL=NOPASSWD: ALL' >> /etc/sudoers
    
  4. 修改 zabbix agentd 配置, vi /etc/zabbix/zabbix_agentd.conf , 设置 UnsafeUserParameters = 1

  5. 可能需要重启 zabbix_agentd

  6. 在 zabbix frontend 中, 按添加监测数据步骤添加监测项。唯一的区别是,Key 填写 myGraph.online

  7. 关闭 selinux , 如临时关闭: setenforce 0

以上

发布了129 篇原创文章 · 获赞 73 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/u013272009/article/details/88974206