Zabbix 详细的安装方法

一、Zabbix简介

基于Web界面的分布式系统监控的企业级开源软件。可以监控各种系统与设备,网络参数,保证服务器设备安全运营;提供灵活的通知机制。Zabbix的组件包含:

	1.zabbix-server:Zabbix监控端组件,它是一个服务器端组件
	2.zabbix-agent:被监控端组件,它是一个客户端组件,它主要是监控由Agent所支持的操作系统(简单说如果你要监控OS,就需要在对应的OS上安装Agent程序),而如果要监控一些其他设备,通常需要用ICMP/IPMI/SNMP/JMX协议来实现
	3.zabbix-proxy:Zabbix代理组件,它是实现分布式监控的关键,proxy端收集数据保存在本地,server端定时去proxy将数据取回
	4.zabbix-database:zabbix的数据库组件,zabbix收集到的数据都会存储数据库
	5.zabbix-web:zabbix的web端组件,能够将zabbix-database中的数据提取并展示,同时它又是zabbix的配置接口
	6.zabbix-get:server端向agent端获取数据的组件
	7.zabbix-sender:agent端向server端主动发送收集的数据的组件

二、Zabbix的安装

首先确认部署环境:

	1、关闭 selinux 和防火墙(这里暂时关闭iptables,部署完成后再开启)
	
	$ sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
	$ sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
	$ setenforce 0  // 可以设置配置文件永久关闭
	$ systemctl stop iptables.service
	$ systemctl stop firewalld.service
	$ reboot  // 更改selinux需要重启系统才会生效
	
	2、修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
	
	$ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
	$ export LC_ALL=zh_CN.UTF-8
	$ echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
  • 1: 先阅读Zabbix 官方手册 附上地址: https://www.zabbix.com/documentation/3.4/zh/manual

  • 2:我们从aliyun源下载zabbix 打开这个地址: https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ 找到zabbix-release-3.4-1.el7.centos.noarch.rpm这一项,右键选“复制链接”

  • 3: 然后在CentOS 执行以下命令 :

      [root@zabbix-server ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
    
  • 4:用rpm -ql zabbix-release 查询刚下载了那些东西

      [root@zabbix-server ~]# rpm -ql zabbix-release 
      /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
      /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
      /etc/yum.repos.d/zabbix.repo
      /usr/share/doc/zabbix-release-3.4
      /usr/share/doc/zabbix-release-3.4/GPL
    
  • 5:里面最重要的是 /etc/yum.repos.d/zabbix.repo

  • 6: 用 yum makecache 服务器的包信息下载到本地电脑缓存起来

  • 7:安装zabbix 数据库,服务器端,agent端以及zabbix一些必要的组件,详细请参考官方的手册.

      [root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-serser zabbix-agent mariadb-server
    
  • 8 : 启用数据库

      [root@zabbix-server ~]# systemctl start mariadb
    
  • 9:登录数据库,创建zabbix数库存,并授权zabbix账号权限,

      [root@zabbix-server ~]# mysql -u root -p
      Enter password: 
      Welcome to the MariaDB monitor.  Commands end with ; or \g.
      Your MariaDB connection id is 4
      Server version: 5.5.60-MariaDB MariaDB Server
    
      Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
      MariaDB [(none)]> 
    
    
      MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
      Query OK, 1 row affected (0.00 sec)
    
      MariaDB [(none)]> grant all privileges on zabbix.* to zabbix identified by '<zabbix>';
      Query OK, 0 rows affected (0.00 sec)
    
      MariaDB [(none)]> show databases;
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | mysql              |
      | performance_schema |
      | test               |
      | zabbix             |
      +--------------------+
      5 rows in set (0.00 sec)
    
      MariaDB [(none)]> 
    

这一步骤,你装的数据库不同,方法不同,可以参考官方文档:https://www.zabbix.com/documentation/3.4/manual/appendix/install/db_scripts

  • 10: 然后导入初始架构(Schema)和数据。

      [root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.15
      [root@zabbix-server zabbix-server-mysql-3.4.15]# ll
      total 2120
      -rw-r--r-- 1 root root      98 Nov 12 18:50 AUTHORS
      -rw-r--r-- 1 root root  866545 Nov 12 18:50 ChangeLog
      -rw-r--r-- 1 root root   17990 Nov 12 18:50 COPYING
      -rw-r--r-- 1 root root 1267039 Nov 12 18:54 create.sql.gz  //zabbix数据库的初始化数据
      -rw-r--r-- 1 root root      52 Nov 12 18:50 NEWS
      -rw-r--r-- 1 root root    1062 Nov 12 18:50 README
      
      [root@zabbix-server zabbix-server-mysql-3.4.15]# zcat create.sql.gz | mysql -uroot zabbix -p
      //导入数据库的初始化数据
    
  • 11、可以登录到数据库里查看我们导入了那些数据架构和数据表

      [root@zabbix-server ~]# mysql -u root -p  //登录数据库
    
      MariaDB [(none)]> show databases;
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | mysql              |
      | performance_schema |
      | test               |
      | zabbix             |
      +--------------------+
      5 rows in set (0.00 sec)
    
    
      MariaDB [(none)]> 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
      MariaDB [zabbix]> 
    
    
      MariaDB [zabbix]> show tables;
      +----------------------------+
      | Tables_in_zabbix           |
      +----------------------------+
      | acknowledges               |
      | actions                    |
      | alerts                     |
      | application_discovery      |
      | application_prototype      |
      | application_template       |
      | applications               |
      | auditlog                   |
      | auditlog_details           |
      | autoreg_host               |
      | conditions                 |
      | config                     |
      | corr_condition             |
      | corr_condition_group       |
      | corr_condition_tag         |
      ....
    
  • 12: 这一步是让数据库和zabbix Server端 和数据库建立连接

       启动Zabbix相关进程,并设置开机启动
      [root@zabbix-server ~]# systemctl start zabbix-server zabbix-agent httpd
      [root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd
    
       在zabbix_server.conf中编辑数据库配置    
    
       [root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
       91 DBHost=localhost
      100 DBName=zabbix
      116 DBUser=zabbix
      124 DBPassword=zabbix
    
  • 13: 编辑Zabbix前端的PHP配置

      修改PHP时区
      [root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf
      将下面这行修改为亚洲上海
      20 php_value date.timezone Asia/Shanghai
    
      需要重启Apache Web服务器。
      [root@zabbix-server ~]# systemctl restart httpd
    
  • 14: 现在可以到Zabbix前端进行相关配置,可以在浏览器中通过 http://IP/zabbix 进行访问。默认的用户名/密码为 Admin/zabbix。