一 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 监控原理框图

结合上图我们总结下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

点下一步就可以 完成后进入登陆界面,用户名Admin 初始密码为zabbix 进入后台第一件事情就是修改密码 在 administration - user-admin 里面更改 里面可以设置为中文显示

四 客户端安装及配置

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

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 主机连接模板 上面模板创建好了,接下来还要把把主机链接到模板上 配置-主机-点击创建的主机名,再点击模板,在链接指示器里面选择我们弄好的模板。再点击下面的选择按钮,在点击添加,更新 下面我们去查看监控图表 检测中-图形-群组,选则创建的组,主机选择创建的主机,图形选择我们的图形项,一分钟负载,(可以在模板-图形中创建一个新的图形) 到这里我们整个环境就算打起来了,可以在检测中-仪表盘-最新数据中,选择我们的监控主机,看到有数据生成,如果没有需要检查主机是否添加正确。 中文乱码问题处理: 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

刷新浏览器会看到中文显示正常

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;