CentOS7 yum安装Zabbix4.0

Centos7安装Zabbix4.0

1 环境搭建LAMP

    查看CentOS版本
    [root@xqk ~]# cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core)

    查看存放与内核相关的文件
    [root@xqk ~]# cat /proc/version 
    Linux version 3.10.0-957.27.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Mon Jul 29 17:46:05 UTC 2019

1.1 搭建之前的操作

1.1.1 升级系统组件到最新的版本
    [root@xqk ~]# yum -y update
    
1.1.2 关闭selinux
    编辑/etc/selinux/config,修改SELINUX参数如下:
    [root@xqk ~]# vim /etc/selinux/config
    SELINUX=disabled
    检测selinux是否关闭,Disabled 为关闭
    [root@xqk ~]# getenforce 
    Disabled
    
1.1.3 关闭防火墙
    查看默认防火墙状态,关闭后显示not running,开启后显示running
    [root@xqk ~]# firewall-cmd --state
    not running
    临时关闭firewall
    systemctl stop firewalld.service
    禁止firewall开机启动
    systemctl disable firewalld.service

1.2 搭建LAMP环境

1.2.1 安装所需所有软件仓库
    Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境
    [root@xqk ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
    安装完成后检查应用版本
    [root@xqk ~]# rpm -qa httpd php mariadb
    mariadb-5.5.60-1.el7_5.x86_64
    php-5.4.16-46.el7.x86_64
    httpd-2.4.6-89.el7.centos.1.x86_64

1.2.2 编辑httpd
    [root@xqk ~]# vim /etc/httpd/conf/httpd.conf
    
    ServerName 192.168.1.2     #修改为主机名
    DirectoryIndex index.html index.php   # 添加首页支持格式 

1.2.3 配置php,配置中国时区
    [root@xqk ~]# vim /etc/php.ini
    date.timezone = PRC 

1.2.4 启动httpd,mysqld
    [root@xqk ~]# systemctl start httpd.service
    [root@xqk ~]# systemctl enable httpd.service
    
    [root@xqk ~]# systemctl start mariadb.service 
    [root@xqk ~]# systemctl enable mariadb.service
    
    查看服务启动情况
    [root@xqk ~]# netstat -tnlp |grep httpd
    tcp6       0      0 :::80                   :::*                    LISTEN      6824/httpd 

    [root@xqk ~]# netstat -tnlp |grep mysqld
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      7204/mysqld

1.2.5 创建一个测试页,测试LAMP是否搭建成功
    [root@xqk ~]# vim /var/www/html/index.php
    <?php
    phpinfo()
    ?>
    
    浏览器输入:ip/index.php进行测试
    或者本地输入:curl http://127.0.0.1 -I,本地测试结果如下:
    [root@xqk ~]# curl http://127.0.0.1 -I
    HTTP/1.1 200 OK
    Date: Thu, 05 Sep 2019 06:24:34 GMT
    Server: Apache/2.4.6 (CentOS) PHP/5.4.16
    X-Powered-By: PHP/5.4.16
    Content-Type: text/html; charset=UTF-8
    
1.2.6 初始化mysql数据库,并配置root用户密码
    设置数据库root密码
    [root@xqk ~]# mysqladmin -u root password 123456

    [root@xqk ~]# mysql -uroot -p
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    再次输入 mysql -uroot -p,并按照提示输入密码登录
    [root@xqk ~]# mysql -uroot -p
    如还是出现以上错误,编辑配置文件跳过密码登录,并设置密码
    [root@xqk ~]# vim /etc/my.cnf.d/server.cnf
    在[mysqld]节点下添加
    [mysqld]
    skip-grant-tables
    
    重启mariadb服务
    [root@xqk ~]# systemctl restart mariadb.service
    
    输入mysql -uroot -p不用密码直接回车登录如下:
    [root@xqk ~]# mysql -uroot -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 5
    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)]> use mysql;
    MariaDB [mysql]> update user set password=password("123456") where user="root";
    MariaDB [mysql]> flush privileges;
    MariaDB [mysql]> quit
    
    编辑配置文件删除skip-grant-tables并重启mariadb服务
    [root@xqk ~]# vim /etc/my.cnf.d/server.cnf
    [root@xqk ~]# systemctl restart mariadb.service

    输入mysql -uroot -p 输入设置的密码,回车登录:
    [root@xqk ~]# mysql -uroot -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 5
    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)]> 
    
    创建zabbix数据库(中文编码格式)
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    
    授予zabbix用户zabbix数据库的所有权限,密码zabbix
    MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';
    Query OK, 0 rows affected (0.00 sec)
    
    刷新权限,退出数据库
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> quit
    Bye

    修改测试页内容,测试zabbix用户是否能够登陆数据库,这个环节很重要
    [root@xqk ~]# vim /var/www/html/index.php
    <?php
    $link=mysql_connect('ip','zabbix','zabbix'); 
    if($link) echo "<h1>Success!!</h1>";   #显示Success表示连接数据库成功
     else echo "Fail!!";
    mysql_close();
    ?>
    
    浏览器输入ip访问,出现Success!!表示PHP连通数据库完成。

    为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:
    [root@xqk ~]# mysql -uroot -p
    
    查看用户表
    MariaDB [(none)]> select user,host from mysql.user;
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | zabbix | %         |
    | root   | 127.0.0.1 |
    | root   | ::1       |
    |        | localhost |
    | root   | localhost |
    |        | xqk.local |
    | root   | xqk.local |
    +--------+-----------+
    7 rows in set (0.00 sec)
    
    有空用户名称占用导致本地无法登录远程可登录
    
    删除空用户 
    MariaDB [(none)]> drop user ''@localhost;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> drop user ''@xqk.local;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> select user,host from mysql.user;
    +--------+-----------+
    | user   | host      |
    +--------+-----------+
    | zabbix | %         |
    | root   | 127.0.0.1 |
    | root   | ::1       |
    | root   | localhost |
    |        | xqk.local |
    | root   | xqk.local |
    +--------+-----------+
    6 rows in set (0.00 sec)

2 安装zabbix服务端
2.1 安装依赖包 + 组件
    [root@xqk ~]# yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch  javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*
    
    安装php支持zabbix组件
    [root@xqk ~]# yum install php-bcmath php-mbstring -y
    
    会自动生成yum源文件,保证系统可以上网
    [root@xqk ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    
    安装zabbix组件
    [root@xqk ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
    安装zabbix组件时遇到如下问题:
    Error downloading packages:
        zabbix-web-mysql...:[Errno 256] No more mirrors to try.
        zabbix-server-mysql...:[Errno 256] No more mirrors to try.
    处理思路如下:
        1 缓存问题:
            备份缓存/var/cache/yum/*
            [root@xqk ~]# mv /var/cache/yum/* /delete/
            
            清除yum缓存
            [root@xqk ~]# yum clean all
            解释:yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除。
            
            需要定期清理缓存。
            
            下载服务器的包到本地缓存
            [root@xqk ~]# yum makecache
            就是把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存,以后用install时就在缓存中搜索,提高了速度。
            
            yum更新
            [root@xqk ~]# yum -y update
            
            执行yum install package成功,我在yum安装zabbix遇到的就是这个问题。
        2 检查是否安装FTP工具,若没有则安装ftp和telnet
            [root@xqk ~]# rpm -qa | grep ftp
            [root@xqk ~]# yum install ftp-* -y
            [root@xqk ~]# yum install telnet-* -y
    导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 192.168.1.2),密码是用户zabbix登陆密码(zabbix)
    [root@xqk ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p -h 192.168.1.2 zabbix
    
    zabbix配置数据库用户及密码
    [root@xqk ~]# vim /etc/zabbix/zabbix_server.conf
    DBHost=本机ip
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix
    
    确认数据库用户及密码
    [root@xqk ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
    38:LogFile=/var/log/zabbix/zabbix_server.log
    49:LogFileSize=0
    72:PidFile=/var/run/zabbix/zabbix_server.pid
    82:SocketDir=/var/run/zabbix
    91:DBHost=192.168.1.2
    100:DBName=zabbix
    116:DBUser=zabbix
    124:DBPassword=zabbix
    356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
    473:Timeout=4
    516:AlertScriptsPath=/usr/lib/zabbix/alertscripts
    527:ExternalScripts=/usr/lib/zabbix/externalscripts
    563:LogSlowQueries=3000
    
    修改时区
    [root@xqk ~]# vi /etc/httpd/conf.d/zabbix.conf 
    将 php_value date.timezone Europe/Riga去掉注释并修改为
       php_value date.timezone Asia/Shanghai
    
    启动zabbix服务并设置开机自启
    [root@xqk ~]# systemctl start zabbix-server
    [root@xqk ~]# systemctl enable zabbix-server

    监听在10051端口上,如果没监听成功,可重启zabbix-server服务试试
    [root@xqk ~]# netstat -tnlp|grep zabbix
    tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      12636/zabbix_server 
    tcp6       0      0 :::10051                :::*                    LISTEN      12636/zabbix_server 

    至此,zabbix服务已经完成,接下来web界面安装zabbi,建议在此之前重启服务器。
2.2 web界面安装zabbix
    如果以上步骤无误,现在可以使用web打开 
    浏览器输入:http://ip/zabbix

3 安装zabbix客户端
    [root@xqk ~]# yum install zabbix-agent.x86_64 -y
    
    修改zabbix客户端配置文件
    [root@xqk ~]# vim /etc/zabbix/zabbix_agentd.conf
    
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log  #错误日志
    LogFileSize=0
    ListenPort=10050  #启动监听端口
    StartAgents=3 #被动模式下选择,主动模式则为0
    ListenIP=0.0.0.0 #监听所有IP
    Server=10.27.146.250 #被动模式下必填,将zabbix-server端的ip填入
    #ServerActive=10.27.146.250 #主动模式下填写
    Hostname=Api1Bearead #本机的hostname,此值必须与zabbix的网页上创建的主机名一致即可
    
    检查确认修改配置
    [root@xqk ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf 
    13:PidFile=/var/run/zabbix/zabbix_agentd.pid
    32:LogFile=/var/log/zabbix/zabbix_agentd.log
    43:LogFileSize=0
    98:Server=127.0.0.1
    107:ListenPort=10050
    116:ListenIP=0.0.0.0
    126:StartAgents=3
    153:Hostname=xqk.local
    271:Include=/etc/zabbix/zabbix_agentd.d/*.conf
    
    启动zabbix客户端
    [root@xqk ~]# systemctl start zabbix-agent.service
    
    检查是否启动成功
    [root@xqk ~]# netstat -tnlp |grep zabbix_agentd
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2070/zabbix_agentd 

    设置zabbix客户端开机自启动
    [root@xqk ~]# systemctl enable zabbix-agent.service

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值