设为首页 收藏本站
查看: 1087|回复: 0

[经验分享] 集中化监控工具zabbix的安装配置(centos7)

[复制链接]

尚未签到

发表于 2017-11-7 09:46:00 | 显示全部楼层 |阅读模式
一、zabbix是什么

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
相比较Cacti,Zabbix具有不亚于Cacti的图形表现效果,同时还支持监控报警功能。并且内置的监控模板比Cacti要丰富的多得多。
相比较Nagios,Zabbix安装配置要简单的多,利于实现。同时学习成本也要低得多。在监控性能方面也不亚于Nagios。因此,目前越来越多的公司开始使用Zabbix作为监控的最佳解决方案。
++++++++++++++++++++++++++++++++++++++++++++++
二、 zabbix的优缺点
**优点**
* 开源,无软件成本投入
* Server 对设备性能要求低
* 支持设备多,自带多种监控模板
* 支持分布式集中管理,有自动发现功能,可以实现自动化监控
* 开放式接口,扩展性强,插件编写容易
* 当监控的item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的item 然后取数据上传到server 端。这种方式对服务器的负载比较小。

**缺点**
* 需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
+++++++++++++++++++++++++++++++++
三、zabbix基于agent采集数据的方式
1、被动模式
Zabbix服务器端按照监控配置项目制定的时间间隔,定期连接到agent上的守护进程,获取agent组件采集到的数据。
2、主动模式
Agent端从server端获取采集数据的监控项目列表及其配置信息。而agent端确定所需要的连接zabbix服务器代理的方法是,从agent的配置文件中读取serveractive该配置项的内容。读取频率RefreshActiveChecks指定,默认120s。
主动模式的好处:当被监控设备代理组件所封装的监控项目种类不能满足需要的时候,完全可以使用我们擅长的任何一种高级语言来开发小的工具或者脚本模拟一个组件,从而实现个性化需求。然而通过小工具或者脚本模拟组件时,一般来说使用主动模式会比较方便。原因就是:使用主动模式时,这类小工具不需要以守护进程的方式运行,更不需要在被监控设备上开额外的服务端口,只需这类小工具或脚本能定时将所采集到的数据发送至zabbix服务器或其代理指定的端口上。

++++++++++++++++++++++++++++++++++++++

四、zabbix基本组件的安装配置
zabbix的安装包括四个部分:server服务端、agent数据收集端、web配置管理端、数据保存数据库端。
架构如下:
| 设备      | 应用端      |
| ------- | -------- |
| servera | agent    |
| serverb | server   |
| serverc | web      |
| serverd | database |
先保证我们所有服务器的时区都是Asia/shanghai,分别在每台服务器上执行以下命令
[iyunv@servera ~]# timedatectl set-timezone Asia/Shanghai

1、Server端的安装
软件安装,这里server端通过源码编译的方式,将服务主目录放置/usr/local/zabbix目录下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[iyunv@serverb ~]# setenforce 0
[iyunv@serverb zabbix]# cp zabbix-2.4.6.tar.gz /tmp
[iyunv@serverb zabbix]# cd /tmp
[iyunv@serverb tmp]# tar -xf zabbix-2.4.6.tar.gz     # 这里采用源码编译的方式来安装
[iyunv@serverb tmp]# yum install gcc gcc-c++ mariadb-devel libxml2-devel net-snmp-devel libcurl-devel -y
# 安装源码编译需要的依赖包
[iyunv@serverb tmp]# cd zabbix-2.4.6/
[iyunv@serverb
zabbix-2.4.6]#  ./configure --prefix=/usr/local/zabbix --enable-server
--with-mysql --with-net-snmp --with-libcurl --with-libxml2
--enable-agent --enable-ipv6
[iyunv@serverb zabbix-2.4.6]# make
[iyunv@serverb zabbix-2.4.6]# make install
[iyunv@serverb zabbix-2.4.6]# useradd zabbix        # 添加zabbix用户用以服务zabbix server端的正常运行

服务端的数据库连接配置:
[iyunv@serverb zabbix-2.4.6]# cd /usr/local/zabbix/
[iyunv@serverb zabbix]# ls
bin  etc  lib  sbin  share
[iyunv@serverb zabbix]# cd etc
[iyunv@serverb etc]# vim zabbix_server.conf          # 该文件为服务端的主配置文件,变更如下参数
DBHost=172.25.0.13
DBName=zabbix
DBUser=zabbix
DBPassword=123456




2、Database端的安装
安装mariadb-server软件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[iyunv@serverd ~]# setenforce 0
[iyunv@serverd ~]# yum -y install mariadb-server
[iyunv@serverd ~]# systemctl start mariadb
登录上serverb这台服务器,将sql语句远程复制到数据库服务器上:
[iyunv@serverb database]# cd /tmp/zabbix-2.4.6/database/mysql/   # 注意:需要导入的数据在server端。
[iyunv@serverb mysql]# scp * 172.25.0.13:/tmp
mysql服务器将对应的sql语句进行导入的操作,三个sql文件的导入顺序不能出错:
[iyunv@serverd ~]# mysql
MariaDB [(none)]> create database zabbix;
MariaDB [(none)]> Bye
[iyunv@serverd ~]# mysql zabbix < /tmp/schema.sql
[iyunv@serverd ~]# mysql zabbix < /tmp/images.sql
[iyunv@serverd ~]# mysql zabbix < /tmp/data.sql

mysql授权,授权给server端及web端:
[iyunv@serverd ~]# mysql
MariaDB [(none)]> grant all on zabbix.* to zabbix@'172.25.0.11' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@'172.25.0.12' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@'serverb.example.com' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@'serverc.example.com' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)




3、 Web端的安装
安装web端所需要的软件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[iyunv@serverc ~]# setenforce 0
[iyunv@serverc ~]# yum -y install httpd php php-mysql # 安装lamp环境需要的软件包
[iyunv@serverc
zabbix]# yum -y localinstall zabbix-web-2.4.6-1.el7.noarch.rpm
zabbix-web-mysql-2.4.6-1.el7.noarch.rpm
php-mbstring-5.4.16-23.el7_0.3.x86_64.rpm
php-bcmath-5.4.16-23.el7_0.3.x86_64.rpm
# 安装依赖包及web包
变更web端相关配置文件,指定时区。
[iyunv@serverc zabbix]# vim /etc/httpd/conf.d/zabbix.conf
   php_value date.timezone Asia/Shanghai

启动所有相关服务软件
server端的启动
[iyunv@serverb sbin]# cd /usr/local/zabbix/sbin/
[iyunv@serverb sbin]# ./zabbix_server
[iyunv@serverb sbin]# ps -ef | grep zabbix
zabbix    3218     1  0 22:20 ?        00:00:00 ./zabbix_server
zabbix    3220  3218  0 22:20 ?        00:00:00 ./zabbix_server: configuration syncer [waiting 60 sec for processes]
zabbix    3221  3218  0 22:20 ?        00:00:00 ./zabbix_server: db watchdog [synced alerts config in 0.014155 sec, idle 60 sec]
...........

web端的启动
[iyunv@serverc zabbix]# systemctl restart httpd





4、Agent端的安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@servera zabbix]# rpm -ivh zabbix-2.4.6-1.el7.x86_64.rpm zabbix-agent-2.4.6-1.el7.x86_64.rpm
warning: zabbix-2.4.6-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-2.4.6-1.el7               ################################# [ 50%]
   2:zabbix-agent-2.4.6-1.el7         ################################# [100%]
[iyunv@servera zabbix]# yum -y install net-snmp net-snmp-utils

配置agent端相关参数
[iyunv@servera zabbix]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.0.11
ServerActive=172.25.0.11
Hostname=servera.example.com
UnsafeUserParameters=1
[iyunv@servera zabbix]# systemctl restart zabbix-agent





+++++++++++++++++++++++++++++++++++++
通过图形化界面初始化web端:
打开浏览器访问http://172.25.0.12/zabbix/


bbb66e32c8ac2b247863eec4b9350680.png-wh_500x0-wm_3-wmp_4-s_2664397301.png
保证php环境满足需求

aaee72f2d8cebb70a9735b66c5c9052f.png-wh_500x0-wm_3-wmp_4-s_515382897.png
填写数据库相关配置


填写server端相关信息

2aeb2f9be8b8f09a8a9b330fba461aa4.png-wh_500x0-wm_3-wmp_4-s_3463639991.png
安装完成,登录,默认用户名为admin,密码为zabbix。

7f13b80824a91116768b473097efec70.png-wh_500x0-wm_3-wmp_4-s_2071260439.png


五、zabbix变更中文环境

点击右上角profile参数,可以看到如下界面,Language这里选择chinese(zh_CN)即可

3d212b40d3e78aba74adc4c24e08c05d.png-wh_500x0-wm_3-wmp_4-s_1706016339.png
但是会有一些问题,并不是所有的语言都被顺利翻译成了中文,比如这里出现的问号。

fc96804c12b14cc5a1353ebcb4eb714d.png-wh_500x0-wm_3-wmp_4-s_3791489325.png
主要原因是由于mysql数据库的字符集格式,我们默认使用的字符集为utf8,而mysql里的字符集为latin1。
MariaDB [(none)]> show create database zabbix;
+----------+-------------------------------------------------------------------+
| Database | Create Database                                                   |
+----------+-------------------------------------------------------------------+
| zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+-------------------------------------------------------------------+
1 row in set (0.00 sec)

MariaDB [(none)]>
这里采用以下操作来变更字符集
[iyunv@serverd ~]# mysqldump zabbix > /tmp/zabbix.sql
[iyunv@serverd ~]# sed -i 's/latin1/utf8/' /tmp/zabbix.sql
[iyunv@serverd ~]# mysqladmin drop zabbix
[iyunv@serverd ~]# mysql
MariaDB [(none)]> create database zabbix DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
[iyunv@serverd ~]# mysql zabbix < /tmp/zabbix.sql
变更完成后,对应问号部分会显示中文,代表中文环境切换正常。

723914d823405b963d2fe6f2bf4b5eeb.png-wh_500x0-wm_3-wmp_4-s_3292697470.png


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-406608-1-1.html 上篇帖子: Zabbix从入门到精通 下篇帖子: Zabbix 3.4.3之企业微信报警
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表