共计 6628 个字符,预计需要花费 17 分钟才能阅读完成。
Zabbix 好在哪里?
在说 Zabbix 之前,我们需要先提一个东西,他叫做 SNMP。SNMPSimple Network Manager Protocol
,称为简单网络管理协议。
他是早期用来监控的一个重要协议,目前版本已经到达 v3 了。v1 的时候没有认证,v2 的时候没有加密。
在一些情况下 如监控路由器、打印机
,仍然需要这个协议的支持。
SNMP 的三种工作模式:
- 1.NMS
Network Manager Server
向 Agent 端采集数据 - 2.Agent 向 NMS 报告数据
- 3.NMS 请求 Agent 修改配置
对于这种经典的监控方式
Zabbix 则可以通过安装 SNMP 的包来同样达到监控硬件的目的。
Zabbix 有什么特点吗?
在 Zabbix 之前,生产环境中较为常见的监控工具是 Cacti+Nagios。
- Cacti,在数据收集和绘制图表方面十分出色,但报警有所欠缺。
- Nagios,在数据发生异常和状态转换的时候十分出色。
- Zabbix,融合了两者的优点。
Zabbix 可以监控什么?
通过安装不同的包,可以让 Zabbix 支持更多的监控类型。
- ssh,需要安装 libssh2
- SNMP,需要安装 net-snmp
- IPMI,需要安装 OpenIPMI
- icmp,需要安装 fping
- libcurl, 监控 web 项
- libiksemel,支持 jabber 报警
因此他的可监控对象包括:
- 设备: 服务器、路由器、交换机、IO 系统
- 软件:OS、网络、应用程序
CentOS7 下安装 Zabbix3.2
Zabbix 都有什么组件:
- zabbix-server:Zabbix 的 Server 端组件
- zabbix-web:浏览器图形界面,用于实现 Zabbix 设定和展示
- zabbix-database:支持 MySQL, PGSQL(postgreSQL)、Oracle、DB2、SQLite
以上三个最好分在三个主机上,监控一般放在数据库的从服务器上
- zabbix-agent:Zabbix 的被监控端
- zabbix-proxy:分布式监控环境中的专用组件,适用于大型网络
常见架构:
Server/Agent 模式:
Proxy 代理模式:
这种模式的好处在于,当 Agent 主机数量变多的时候,Proxy 可以分担 Server 端的压力。
安装 Zabbix3.2,使用 Server/Agent 模型
主机名 | 主机地址 | 角色 |
---|---|---|
node1 | 192.168.2.201 | Zabbix-Server |
node2 | 192.168.2.202 | Zabbix-Agent |
node3 | 192.168.2.203 | Zabbix-Agent |
本文使用的系统版本为 CentOS7.1
注意:本文关闭了 selinux,以及 iptables。
(1)首先我们要到 zabbix 官方镜像选择需要的版本。这里选择了 3.2。
[root@bc ~]# vim /etc/yum.repos.d/zabbix.repo
[Zabbix]
name=Zabbix-3.2
baseurl=http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/
gpgcheck=1
gpgkey=http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-A14FE591
(2)由于官方推荐高版本的 MariaDB, 因此我们安装高版本的 MariaDB
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-ppc64le
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
(3)安装组件
[root@bc ~]# yum install MariaDB-server MariaDB-client
[root@bc ~]# yum install httpd php
[root@bc ~]# yum install zabbix-server-mysql zabbix-web-mysql
Dependencies Resolved
================================================================================================
Package Arch Version Repository Size
================================================================================================
Installing:
zabbix-server-mysql x86_64 3.2.2-1.el7 Zabbix 1.8 M
zabbix-web-mysql noarch 3.2.2-1.el7 Zabbix 5.2 k
Installing for dependencies:
OpenIPMI-libs x86_64 2.0.19-15.el7 Aliyun-CentOS7 502 k
OpenIPMI-modalias x86_64 2.0.19-15.el7 Aliyun-CentOS7 15 k
dejavu-fonts-common noarch 2.33-6.el7 Aliyun-CentOS7 64 k
dejavu-sans-fonts noarch 2.33-6.el7 Aliyun-CentOS7 1.4 M
fontpackages-filesystem noarch 1.44-8.el7 Aliyun-CentOS7 9.9 k
fping x86_64 3.10-4.el7 epel 46 k
iksemel x86_64 1.4-6.el7 epel 50 k
libXpm x86_64 3.5.11-3.el7 Aliyun-CentOS7 54 k
libtool-ltdl x86_64 2.4.2-21.el7_2 Aliyun-CentOS7 49 k
libxslt x86_64 1.1.28-5.el7 Aliyun-CentOS7 242 k
libzip x86_64 0.10.1-8.el7 Aliyun-CentOS7 48 k
net-snmp-libs x86_64 1:5.7.2-24.el7_2.1 Aliyun-CentOS7 747 k
php x86_64 5.4.16-42.el7 Aliyun-CentOS7 1.4 M
php-bcmath x86_64 5.4.16-42.el7 Aliyun-CentOS7 57 k
php-cli x86_64 5.4.16-42.el7 Aliyun-CentOS7 2.7 M
php-common x86_64 5.4.16-42.el7 Aliyun-CentOS7 564 k
php-gd x86_64 5.4.16-42.el7 Aliyun-CentOS7 127 k
php-ldap x86_64 5.4.16-42.el7 Aliyun-CentOS7 52 k
php-mbstring x86_64 5.4.16-42.el7 Aliyun-CentOS7 505 k
php-mysql x86_64 5.4.16-42.el7 Aliyun-CentOS7 101 k
php-pdo x86_64 5.4.16-42.el7 Aliyun-CentOS7 98 k
php-xml x86_64 5.4.16-42.el7 Aliyun-CentOS7 125 k
t1lib x86_64 5.1.2-14.el7 Aliyun-CentOS7 166 k
unixODBC x86_64 2.3.1-11.el7 Aliyun-CentOS7 413 k
zabbix-web noarch 3.2.2-1.el7 Zabbix 3.6 M
Transaction Summary
================================================================================================
Install 2 Packages (+25 Dependent packages)
我们可以看到其他之前提过的组件都在依赖关系中解决了。
zabbix-server-mysql zabbix-web-mysql 这两个组件尤为核心。
(4)初始化数据库并创建数据库
[root@bc ~]# systemctl start mariadb.service
[root@bc ~]# mysql_secure_installation
[root@bc ~]# mysql -p
create database zabbix;
grant all on zabbix.* to 'zabbix'@'192.168.2.%' IDENTIFIED BY 'zabbix';
flush privileges;
(5)导入文件到刚才创建的 zabbix 的数据库
zcat /usr/share/doc/zabbix-server-mysql-3.2.1/create.sql.gz | mysql -uzabbix -p zabbix
(6)编辑 Zabbix-server 的配置文件
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
这里出现的用户,密码和数据库就是刚才用 mysql 命令创建的。
(7)修改 php 的相关参数
vim /etc/httpd/conf.d/zabbix.conf
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
# php_value date.timezone Europe/Riga
</IfModule>
(8)启动服务
[root@bc ~]# systemctl start zabbix-server
(9)在浏览器上通过图形化设置
http://192.168.2.201/zabbix/
` 这里键入的是 Server 端的 ip 地址 `
Configuration file "/etc/zabbix/web/zabbix.conf.php" created.。
以后我们要修改主机就要在这个文件里面修改。
登陆的账号密码,默认是 Admin:zabbix
Agent 端:node2,node3 的配置
(1)安装 Agent 组件
[root@bc ~]# scp /etc/yum.repos.d/zabbix.repo node3:/etc/yum.repos.d/
zabbix.repo 100% 151 0.2KB/s 00:00
[root@node3 ~]# yum install zabbix-agent
这里是从 node1 复制到 repo 文件, 如果要监控的 agent 很多的话, 可以使用 ansible 安装。
(2)修改配置文件并重启
[root@node3 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.2.201
[root@node3 ~]# service zabbix-agent restart
Redirecting to /bin/systemctl restart zabbix-agent.service
如何添加监控主机?
点“配置”->” 主机 ”->“创建主机”
这里是添加 node3:192.168.2.203
选用了一个模板叫 Template OS Linux
最后可以看见,添加了 ndoe2 和 node3 两台主机,右边绿色的按钮表示 Zabbix-agent 的两个主机都工作正常。
Zabbix 修改为中文界面, 并去除中文乱码
a.Zabbix3.2 的时候,中文选项已经有了很大的改进。没有了当初机翻的味道。
在右上角,退出的按钮旁边的那个小人头像那里,点进去可以选择语言。
b. 解决中文乱码,变方块的方法
- 首先要在系统的 windows 那里找一个楷体中文
- 然后通过 Xftp 或者 samba
Windows 的共享方式
,把字体复制到指定路径下。这个楷体常规的字体,复制到 CentOS 下就变成了 simkai.ttf
[root@bc ~]# mkdir /usr/share/fonts/simkai/ [root@bc ~]# ll /usr/share/fonts/simkai/simkai.ttf -rw-r--r--. 1 root root 11785184 Nov 22 14:25 /usr/share/fonts/simkai/simkai.ttf
-
修改默认字体:
[root@bc ~]# vim /usr/share/zabbix/include/defines.inc.php define('ZBX_FONTPATH', '/usr/share/fonts/simkai'); # where to search for font (GD > 2.0.18) define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
-
最终效果
在 ” 监测 ” -> “ 图形 ” 中
下面四行字的中文字没有变成方块,表示去乱码成功!!
更多 Zabbix 相关教程集合:
在 Ubuntu 16.04 服务器上安装 Zabbix 3.2 http://www.linuxidc.com/Linux/2017-07/145519.htm
CentOS 7 LNMP 环境搭建 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04 安装部署监控系统 Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
Zabbix 监控安装部署及警报配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Zabbix 触发器表达式详解 http://www.linuxidc.com/Linux/2017-03/141921.htm
Ubuntu 16.04 下安装部署 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm
CentOS 7.4 安装 Zabbix 3.4 http://www.linuxidc.com/Linux/2017-09/147202.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147598.htm