一 zabbix监控介绍

C/S架构,基于C++开发,监控中心支持web界面配置和管理
单server节点可以支持上万台客户端
最新版本3.4,官方文档https://www.zabbix.com/manuals
5个组件
zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据
数据存储 存放数据,比如mysql
web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因
zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力
zabbix-agent 客户端软件,负责采集各个监控服务或项目的数据,并上报
zabbix 监控原理框图
Linux学习总结(五十六)监控zabbix部署 上篇

结合上图我们总结下zabbix的监控原理:zabbix server是zabbix的核心应用。它自身附带有httpd的web sever,我们可以通过浏览器访问zabbix server,在ui界面中进行各种监控项的配置。zabbix agent 安装在作为监控对象的主机上,从而采集监控数据传递给server。不管是ui界面配置信息还是监控数据都通过zabbix server保存到zabbix数据库中。zabbix agent 通常和server 处于同一子网,因此很方便通信。监控数据从agent 传递给server 有两种模式,被动模式和主动模式。

二 服务端配置

1 zabbix-server 安装
先在官网上下在对应的yum源,也就是一个rpm包
官网下载地址 www.zabbix.com/download
找自己对应的linux系统,比如centos7 64位, 找发布版release
rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum 源存放位置 /etc/yum.repos.d/
yum 安装
yum install -y zabbix-agent zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-web
2 zabbix数据库配置
mysql 相关操作
1)设置中文格式
vim /etc/my.cnf //需要增加配置
character_set_server = utf8
启动mysql
/etc/init.d/mysqld start
2)创建用户及数据库
进入数据库
mysql -uroot -plvlinux
创建zabbix库
create database zabbix character set utf8;
再创建用户
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'lv-zabbix';
3)导入数据
cd /usr/share/doc/zabbix-server-mysql-3.4.9/tab补全找对应的目录
gzip -d create.sql.gz
mysql -uroot -pxxx zabbix < create.sql -p 后面指定数据库登陆密码

三 ui界面安装zabbix

1 启动httpd
systemctl start httpd; systemctl enable httpd
备注:这是zabbix默认关联的web server 不需要进行配置就可以直接使用,非常方便。默认是8080端口,可以在配置文件/etc/httpd/conf/httpd.conf中更改端口
2 编辑zabbix-server配置文件

vim /etc/zabbix/zabbix_server.conf //修改或增加
DBHost=127.0.0.1 //在DBName=zabbix上面增加
DBPassword=lv-zabbix //在DBuser下面增加

备注:以上信息web界面创建zabbix监控时需要验证,网页上内容要和zabbix配置文件保持一致,若修改了zabbix配置文件,第二次登录时,需要修改括号中的php文件。(/etc/zabbix/web/zabbix.conf.php)

systemctl start zabbix-server
systemctl enable zabbix-server
netstat -lntp |grep zabbix //查看监听端口

3 浏览器访问并安装zabbix
浏览器访问http://ip/zabbix/ web界面下面配置zabbix
发现有一个时区错误,php配置下时区
vim /etc/httpd/conf.d/zabbix.conf //在最后面添加
php_value date.timezone Asia/Shanghai 或者
echo 'php_value date.timezone Asia/Shanghai' >> /etc/httpd/conf.d/zabbix.conf
然后重启下httpd
systemctl restart httpd
Linux学习总结(五十六)监控zabbix部署 上篇
Linux学习总结(五十六)监控zabbix部署 上篇

点下一步就可以
完成后进入登陆界面,用户名Admin 初始密码为zabbix
进入后台第一件事情就是修改密码
在 administration - user-admin 里面更改
里面可以设置为中文显示
Linux学习总结(五十六)监控zabbix部署 上篇

四 客户端安装及配置

1 客户端安装
跟上面安装服务端同一个道理,先安装yum源
rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install -y zabbix-agent
2 编辑配置文件
修改配置文件,两种模式都配置相应的服务端ip

vim  /etc/zabbix/zabbix_agentd.conf //修改如下配置
 Server=127.0.0.1修改为Server=192.168.226.129 //定义服务端的ip(被动模式)
 ServerActive=127.0.0.1修改为ServerActive=192.168.226.129 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=lvlinux //这是自定义的主机名,一会还需要在web界面下设置同样的主机名

启动客户端

systemctl start zabbix-agent
systemctl enable zabbix-agent  

客户端默认端口10050 服务端端口10051

五 zabbix初步使用

1添加主机组,添加主机
配置-主机群组-创建主机群组-设置组名
配置-主机-创建主机,主机名称可以跟可见名称写一样,群组选择刚才创建的群组
ip 地址写客户端ip (注意这是被zabbix监控的主机ip,不能写错)我的客户端为192.168.226.130
Linux学习总结(五十六)监控zabbix部署 上篇

2 添加模板
先创建一个空模板。
configuration-templates-create template
指定一个名字,template name 和 visible name 可以写一样
指定一个组,选择templates,最后点击最下面add
1) 从现有模板集中拷贝模板到新建模板中
比如从Templates OS Linux 中复制模板
configuration-templates
找到 Templates OS Linux ,点击对应的ltems 即项目
选择需要的模板,前面打钩,点击copy
在弹出的页面,目标类型,选择templates
目标选择刚才新建的模板,在点击下面的copy
2) 导入整个模板,筛选出需要的。(我们需要discover 里面的监控项,该项目无法直接复制)
先把新建的模板链接到Templates OS Linux
templates-选择新建的模板-链接模板-链接新模板
然后取消链接,也就等于复制了一份Templates OS Linux
在刚才 链接模板那里,点击unlink (取消链接)
然后删除不用的模板,再删除空的应用集。模板属于应用集。不能删除非空的应用集
再删除不用的图表
至此模板配置完成。
3 主机连接模板
上面模板创建好了,接下来还要把把主机链接到模板上
配置-主机-点击创建的主机名,再点击模板,在链接指示器里面选择我们弄好的模板。再点击下面的选择按钮,在点击添加,更新
下面我们去查看监控图表
检测中-图形-群组,选则创建的组,主机选择创建的主机,图形选择我们的图形项,一分钟负载,(可以在模板-图形中创建一个新的图形)
到这里我们整个环境就算打起来了,可以在检测中-仪表盘-最新数据中,选择我们的监控主机,看到有数据生成,如果没有需要检查主机是否添加正确。
Linux学习总结(五十六)监控zabbix部署 上篇
中文乱码问题处理:
vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH,它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts,而字体文件为“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont
windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf
或者导入字体文件,进行如下操作

mv graphfont.ttf graphfont.ttf_bak
ln -s simfang.ttf graphfont.ttf

刷新浏览器会看到中文显示正常
Linux学习总结(五十六)监控zabbix部署 上篇

zabbix 忘记Admin密码处理办法:
跟mysql 忘记密码处理办法类似,都是直接更改数据库
进入mysql命令行,选择zabbix库

mysql -uroot -p zabbix
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;

这样就更改了Admin用户的密码
mysql -uroot -p zabbix 执行后会提示输入mysql root用户登录密码,此时输入密码后直接就进入到zabbix库下。相当于

mysql -uroot -plvlinux 
use zabbix;