zabbix是服务器监控中最常用的工具性软件,常与之相提并论的还有nagios,而本人就是开始用的nagios,后来转用zabbix了,在此,也推荐各位还是用zabbix吧,只要是你用于监控的,不管多少台主机或虚拟机,zabbix的性能要求也并非很高。占客户端资源也并没有想象中那么夸张。一切都还好,虽然nagios更加的小,但是zabbix比nagios实在是方便太多,上手难度低很多,对应用或系统的监控也比nagios要方便很多。nagios的配置实在是较为复杂,如果长时间不用,很容易忘记。只要你是实际用于企业或公司的真实环境的监控,都可直接使用zabbix。zabbix帮你做了很多东西,上手难度更低,管理更方便。
下面将实际记录zabbix3.4 在centos7 服务器上的安装与使用,与陆续记录使用zabbix 监控常见服务与应用。
1. 安装zabbix3.4
官方安装文档: https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_packages
## 添加rpeo库,使用的阿里云的zabbix镜像,并没有用官方文档上的地址。这样会更快一点
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
## 安装zabbix服务端,基于mysql数据库。zabbix也可以使用别的数据库作为数据存储,那么安装时就安装相应的包,详见官方文档
yum install zabbix-server-mysql zabbix-web-mysql
## 安装zabbix客户端,在每个被监控的服务器上都只需要安装zabbix客户端(也就是都需要先添加repo库)
yum install zabbix-agent
mysql数据库的安装这里就不赘述了,可参考下面博文:http://blog.csdn.net/weixin_41004350/article/details/78491411
mysql数据库,可以安装在专门的数据库服务器上,或者直接安装在zabbix服务端的服务器上也行。一般企业中,都会有专门的数据库服务器。
## 在mysql数据库的服务器上,执行下面命令,创建 zabbix 数据库
shell> mysql -uroot -p # mysql root 密码
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ''; ## zabbix 用户密码,自由设定
mysql> quit;
## 进入如下目录
cd /usr/share/doc/zabbix-server-mysql-3.4.0
## 将 create.sql.gz 文件传到数据了服务器上,执行下面命令,初始化数据库
zcat create.sql.gz | mysql -uroot zabbix
3. 修改zabbix服务端配置,启动zabbix服务端
## 在zabbix_server.conf中编辑数据库配置
vi /etc/zabbix/zabbix_server.conf
DBHost=localhost # 替换成你的mysql host地址
DBPort=3306 # mysql 端口
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix # 替换上面你设定的zabbix用户密码
## 启动zabbix 服务端
# systemctl start zabbix-server
4,Zabbix前端的PHP配置
## 修改php配置中的时区,其他配置都直接使用默认配置即可
vim /etc/httpd/conf.d/zabbix.conf
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 # 这里修改为亚洲上海时区,上面的其他配置,无特俗需求不需进行配置
## 重启httpd服务,即zabbix前端服务
systemctl restart httpd
Zabbix前端可以在浏览器中通过 http://
如图,进行密码修改,还可以选择界面语言为中文。方便英不够好的广大同袍。
6。 添加主机,部署模板进行基础系统监控
主机名称,最好写当前主机的hostname或者IP。 可见名称,则自行定义,方便管理。
线面会有四个接口配置。这个几个接口用于连接不同的服务,监控不同的东西。agent则是zabbix客户端zabbix-agent的接口,用于连接zabbix-agent,进行监控,天上安装了zabbix-agent的服务器的IP和端口即可,zabbix-gent默认端口为10050。
在模板一栏,添加基础系统监控模板。这是zabbix自带的监控模板,可以帮我们监控基础系统指标,比如cpu,memory,disk,network,等等方面。在搜索框内输入 linux,就会出现该模板,添加到链接的模板中即可。
然后就可以了,点击添加即完成了主机创建,关联模板,并进行了监控。
7. 监控后,就可以在图形中看到效果
在监控中,图形,选择主机,然后选择图形就可以看到自动绘制出的图形,如上面,但是,你可能会发现,左下角的中文显示不出来,会是小方框的乱码,这是由于中文编码导致的一些bug,下面教大家如何解决。
8. 解决中文编码bug
需要下载一个中文字符集,下载地址为:http://download.xuliangwei.com/SIMHEI.ttf
## 下载字符集到zabbix服务端
wget http://download.xuliangwei.com/SIMHEI.ttf
## 将字符集移动到 指定目录下
mv SIMHEI.ttf /usr/share/zabbix/fonts/
## 修改php的配置文件
vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'SIMHEI'); // font file name # 修改为刚才下载的字符集
define('ZBX_FONT_NAME', 'SIMHEI'); # 修改为刚才下载的字符集
## 重启zabbix服务端
systemctl restart zabbix-server
9. 配置触发动作,实现报警邮箱提醒
选择触发器为事件源,创建动作,那么每当有触发器触发后,则会执行此动作,再此便可以设置报警设置,
然后点击添加后,即可。上图为我的设置, 可自定义设置。
然后,动作添加好后,还需要配置邮件服务器或别的报警媒介。
默认会有Email的方式,点击进去,配置好email的 smtp服务地址,email的smtp服务怎么配置,可以自行百度一下,根据你使用的邮箱的不同而不同。这里就不详细说明了,贴出我的配置做个参考
然后,添加用户的报警媒介,即可
OK,到此。zabbix的基础监控就算是完成了,实现了对linux系统的基础监控,报警邮件通知等。当然zabbix远不止这些功能,别的下一篇再讲。