您现在的位置是:首页 > 文章详情

一次在CentOS7上安装部署Zabbix3.0版本及快速进行基本配置的实例

日期:2017-05-08点击:499

Zabbix3.0的安装、部署、配置,必须基于LAMP环境或是是LNMP环境。

关于LAMP环境的简单快速搭建,见博客:http://afterdawn.blog.51cto.com/7503144/1923139

注意:以下步骤都是在LAMP配置之后进行的。

本文不会再对zabbix-server和zabbix-agent理论知识再进行介绍,建议看完http://afterdawn.blog.51cto.com/7503144/1922502再进行zabbix实战。

Zabbix3.0对软硬件的要求很低,一般的主机配置和LAMP版本都可以满足,

软硬件需求文档见:http://www.ttlsa.com/zabbix/zabbix-requirements-4-ttlsa/


下面开始介绍在CentOS7上安装部署Zabbix3.0版本及快速进行基本配置,本次案例要用到两台主机,

一台作为zabbix_server端,一台作为zabbix_agent端,具体信息如下:

zabbix_server(默认监听端口10051)

IP:10.10.10.3  OS:CentOS7

zabbix_agent(默认监听端口10050)

IP:10.10.10.10  OS:CentOS7


具体步骤:

1、指定zabbix3.0软件包存储仓库位置(以阿里云yum源泉为例)

默认已经配置的阿里云的CentOS7的yum源,但是该yum源没有zabbix安装包,所以手动指定zabbix安装包路径,配置如下:

~]# vim /etc/yum.repos.d/zabbix.repo     [epel]     name=aliyun_zabbix     baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/     gpgcheck=0

2、软件包安装

由于LAMP环境已经部署好,这里就不在赘述。但zabbix用到的数据库需要创建zabbix库且创建zabbix用到的用户,在http://afterdawn.blog.51cto.com/7503144/1923139文档里已经操作过,这里复述一下:

~]# mysql -uroot -p    # root用户登录 MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8';     #创建zabbix库,默认字符集为utf8 MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'127.0.0.1' IDENTIFIED BY 'zbxpass'; MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'localhost' IDENTIFIED BY 'zbxpass';     # zbxuser可以从本机登录,密码为zbxpass,对zabbix拥有所有权限 MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'10.10.10.%' IDENTIFIED BY 'zbxpass';     # zbxuser可以从10.10.10.0网段登录,密码为zbxpass,对zabbix拥有所有权限 MariaDB [(none)]> flush privileges;    # 刷新权限

服务端软件包:zabbix-server-mysql zabbix-get

web GUI软件包:zabbix-web zabbix-web-mysql 必须同时安装否则不能解决依赖关系(相互依赖)

agent(被监控端才安装):zabbix-agent zabbix-sender

使用yum一次性安装:

~]# yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender

安装zabbix-server-mysql时报错了,错误如下:

错误:软件包:zabbix-server-mysql-3.0.9-1.el7.x86_64 (epel)           需要:fping 错误:软件包:zabbix-server-mysql-3.0.9-1.el7.x86_64 (epel)           需要:libiksemel.so.3()(64bit)  您可以尝试添加 --skip-broken 选项来解决该问题  您可以尝试执行:rpm -Va --nofiles --nodigest

错误原因:没有安装epel的yum源支持,导致不能自动安装fping

解决方法:安装epel包

# yum install -y epel-release

安装好epel包后,由于epel仓库收集了zabiix稳定版(2.0),使用yum默认安装的就不3.0版本了

解决方法:直接指定zabbix安装包的URL路径,可以登录到https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/查看最新的zabbix版本,自行选择。


以下是我用yum安装的命令:


~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-server-mysql-3.0.0-1.el7.x86_64.rpm ~]# yum install -y  https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-get-3.0.0-1.el7.x86_64.rpm # yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-web-mysql-3.0.0-1.el7.noarch.rpm https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-web-3.0.0-1.el7.noarch.rpm   ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.0-1.el7.x86_64.rpm  ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.0-1.el7.x86_64.rpm

至此,zabbix-server端的所有安装包已经安装完成。

3、zabbix server初始化

注意:在zabbix3.x版本只有一个sql脚本,2.x有三个sql脚本

该过程是执行zabbix官方提供的sql脚本,自动创建zabbix需要的表结构,过程如下:

~]# cd /usr/share/doc/zabbix-server-mysql-3.0.0/ ~]# gzip -d create.sql.gz ~]# mysql -h127.0.0.1 -uzbxuser -p zabbix < create.sql ~]# mysql -uroot -p    # 登录上mysql查看有没有创建成功 MariaDB [zabbix]> use zabbix MariaDB [zabbix]> show tables;

4、zabbix server配置文件

配置文件:/etc/zabbix/system/zabbix-server.conf

指令有四类:

    ############ GENERAL PARAMETERS #################     ############ ADVANCED PARAMETERS ################     ####### LOADABLE MODULES #######     ###### TLS-RELATED PARAMETERS #######

只修改############ GENERAL PARAMETERS ################# 其他使用默认配置即可


通用参数,不需要修改

# ListenPort=10051     # SourceIP= 默认所有IP # LogType=file 日志主动保存到文件 LogFile=/var/log/zabbix/zabbix_server.log 日志位置 LogFileSize=0 日志多大后进行滚动 PidFile=/var/run/zabbix/zabbix_server.pid 服务端PID文件的路径

需要修改项:

DBHost=localhost# 取消注释 DBName=zabbix# 填写库名称,默认为zabbix DBUser=zbxuser# 数据库用户名 DBPassword=zbxpass# 数据库密码 DBSocket=/var/lib/mysql/mysql.sock # 如果数据库在本机,和数据库进行本机通信,要跟/etc/my.conf里的配置socket=/var/lib/mysql/mysql.sock一致


启动服务:

~]# systemctl start zabbix-server.service ~]# systemctl enable zabbix-server.service    # 开机自动启动

注意:CentOS7.0和7.1默认的trousers版本比较低,需要升级trousers-0.3.13-1.el7.x86_64,直接使用yum安装即可

启动服务后,使用systemctl status zabbix-server.service查看,发现没有起起来,在网上查看了解决方法,也没有解决。

最后发现是zabbix库里的表没有导入成功,由于自己的大意,折腾了一个多小时。

总结:做每一步操作,都应该进行验证,否则会因为自己的一个失误而不能排除故障,最后全部推倒从来,费时费力。

遇到这种情况,应该耐心的去查看日志,根据系统的提示,仔细的去查找原因。不行再到网上查找原因


5、配置zabbix web

zabbix对agent主机的监控配置,几乎都是在zabbix web前端进行的,这里先进行zabbix server的基本配置。


配置php的时区指定:

(1)php.ini(非必须修改)

max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone PRC

(2)/etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai    # 添加该项

访问URL:http://server/zabbix

zabbix web登录后配置文件:/etc/zabbix/web/zabbix.conf.php

登录:admin/zabbix


从客户端登录过程如下:

wKiom1kQMgHBOXd7AAHpEdc1Jqo530.jpg

wKioL1kQMgPgKz3lAALJHCr4sec190.jpg

下图的【Database port】配置0代表默认端口,即mysql为3306

【Database name】【User】【Password】根据自己的设定填写

wKiom1kQMgSDvrfuAAJMMV31MyU608.jpg

10051为zabbix server的默认监听端口

【Name】项可以不填写,自定义名称

wKioL1kQMgXwcdeQAAIi6CGe6sw157.jpg

wKioL1kQMgazExm8AAJ7LNkujGo803.jpg

wKiom1kQMgehKv2kAAIKSSgYwkI524.jpg

默认的登录用户名和密码为:admin/zabbix

wKioL1kQMgiQbhSUAAGd1Xam_U4001.jpg

第一次登录的界面:

wKiom1kQMgqB6-wzAASvuJGZxbs399.jpg

6、添加并配置一个agent主机实例

6.1 在被监控主机安装zabbix agent

~]# scp root@10.10.10.3:/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/   # yum配置文件 ~]# yum install -y  ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.0-1.el7.x86_64.rpm

6.2 agent端配置

配置文件:/etc/zabbix/zabbix_agentd.conf

##### Passive checks related(被动检测相关的配置:agent要等待server请求数据),以agent端为判断参照 Server=10.10.10.3 # 以逗号分隔授权给那些server或porxy过来采集数据的服务器地址列表 # ListenPort=10050    # 监听的IP # ListenIP=0.0.0.0    # 监听的端口 # StartAgents=3    # 启动的agent检测 ##### Active checks related(主动检测相关的配置:agent主动向server发送数据) ServerActive=10.10.10.3[:Port] 以逗号分隔、当前agent主动发送监控数据过去的server端;可跟端口,一般默认10051 Hostname=agent2 发送过去的主机标示,一般填写主机名 EnableRemoteCommands=1 # 可以在agent端执行远程命令(见后面的内容有总结下的说明) LogRemoteCommands=1    # 远程操作记录于日志


注意:不需要手动建立zabbix账户,但zabbix agent自动创建的zabbix账户默认不能登录,CentOS7也不能在没有登录终端的情况下执行命令,所以要做一些配置:

(1)zabbix用户有所需要管理的权限(基于sudo授权)

# visudo # %wheel        ALL=(ALL)       NOPASSWD: ALL zabbix  ALL=(ALL)       NOPASSWD: ALL # Defaults    requiretty# 注释该行

关于该配置的说明:

    1) Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端(不需要从终端登录就可以执行命令)

测试:

~]# su - zabbix -c 'sudo /usr/bin/systemctl restart httpd.service'

    2) Defaults requiretty, 修改为 Defaults:nobody !requiretty,表示仅nobody用户不需要控制终端(仅nobody用户不需要从终端登录就可以执行命令)

(2)zabbix用户可登陆

~]# mkdir /var/lib/zabbix    # 创建家目录,可不做 ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin ~]# usermod -s /bin/bash zabbix ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash

启动zabbix agent

~]# systemctl start zabbix-agent.service ~]# systemctl status zabbix-agent.service ~]# systemctl enable zabbix-agent.service

7、在zabbix web端添加一台Linux监控主机

通过以下截图步骤:

建立一个主机群组

wKioL1kQRXKT66dFAAWd3iVlc90930.jpg

wKioL1kQRXPDnvfDAALkwAJXTQA264.jpg

创建一台主机,并属于test group

wKiom1kQRXXT7q9HAAP7eIbQj7g193.jpg

wKioL1kQRXbAt8NjAANZX-k9TF4924.jpg

套用一个Templates OS Linux的监控模板

wKiom1kQRXjjrZWqAAMtPHyYSvE200.jpg

wKiom1kQRXnQPN8tAALSZFWA_SA284.jpg

wKioL1kQRXrQ9nNfAANXT-BEAQI921.jpg

完成后的显示如下:

wKioL1kQRlTgSjnyAARWmv0R5Ow747.jpg可以按照如下截图查看监控状态:

监控的数据:

wKioL1kQR1Liza9_AAVL4v4-qU8381.jpg

监控触发状况

wKiom1kQR1aT2VVLAAYQRu_Fn5A154.jpg

监控触发的事件

wKioL1kQR1iRfFcVAAWgUMQugtk192.jpg


原文链接:https://blog.51cto.com/afterdawn/1923359
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章