zabbix简介
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix 由 server、agent、web、proxy 以及 db 组成。
server:是监控代理程序报告系统可用性、系统完成整性和统计信息的核心组件。
agent:部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
web:为了从任何地方和任何平台都轻松的访问Zabbix,Zabbix提供了基于Web的界面。
proxy:可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。主要体现分布式特点。
db:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
zabbix的安装和部署
实验环境:
新封装一个7.3版本的虚拟机,作为Zabbix server;zabbix-server 172.25.81.11
新封装一个7.3版本的虚拟机,作为Zabbix agent; server5 172.25.81.5
本次实验使用的主机分别是,其中的selinux都必须是disabled,防火墙是关闭状态;
两台机器都必须做好相互的地址解析工作
[root@zabbix-server ~]# vim /etc/hosts
172.25.81.5 server5
172.25.81.11 zabbix-server[root@server5 ~]# vim /etc/hosts
172.25.81.5 server5
172.25.81.11 zabbix-server
详细配置如下:
Zabbix server端:
1.安装zabbix及依赖性
zabbix相关安装包下载地址:
http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/
http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/
zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
zabbix-web-3.4.6-1.el7.noarch.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
注:php的安装版本需要注意(yum list php 查看匹配版本);如果是7.0版本的,需要安装的为5.4.16-21.el7;如果是7.2的主机,需要安装为5.4.16-36.el7;如果是7.3版本的,需要安装的为5.4.16-42.el7;`
2.安装并配置数据库
<1>安装并初始化数据库
[root@zabbix-server ~]# yum install mariadb-server -y
[root@zabbix-server ~]# systemctl start mariadb
[root@zabbix-server ~]# mysql_secure_installation ##安全初始化
[root@zabbix-server ~]# mysql -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; ##创建数据库
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat'; ##创建用户并授权
<2>数据库导入
[root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.6/
[root@zabbix-server zabbix-server-mysql-3.4.6]# zcat create.sql.gz | mysql -uzabbix -p zabbix ##导入默认的zabbix数据库信息,其中第一个zabbix是zabbix用户;第二个zabbix是即要创建的数据库名;
Enter password: ##输入用户zabbix的密码并等待
登陆数据库查看,可以看到zabbix数据库表中共有140个;
3.配置zabbix
[root@zabbix-server zabbix-server-mysql-3.4.6]# cd /etc/zabbix/
[root@zabbix-server zabbix]# vim zabbix_server.conf
DBPassword=redhat ##数据库密码
DBSocket=/var/lib/mysql/mysql.sock ##连接数据库的sock
[root@zabbix-server zabbix]# cd /etc/httpd/conf.d
[root@zabbix-server conf.d]# vim zabbix.conf
19 php_value date.timezone Asia/Shanghai ##更改时区
[root@zabbix-server conf.d]# systemctl restart zabbix-server zabbix-agent httpd
[root@zabbix-server conf.d]# systemctl enable zabbix-server zabbix-agent httpd
4.访问http://172.25.81.11/zabbix,进行监控项配置即可
输入的密码是zabbix用户的授权密码
注意:初始帐号密码
帐号:Admin
密码:zabbix
登录成功后,可以将语言换成中文
Zabbix agent端配置:
1.安装zabbix agent
在官网下载软件zabbix-agent-3.4.6-1.el7.x86_64.rpm
[root@server5~]# rpm -ivh zabbix-agent-3.4.6-1.el7.x86_64.rpm
2.配置zabbix agent
[root@server5~]# vim /etc/zabbix/zabbix_agentd.conf
97 Server=172.25.81.11
138 ServerActive=172.25.81.11
149 Hostname=server5(本机hostname) 在zabbix web页面Monitoring->Configuration->Hosts 页面更改Host name和zabbix_agentd.conf里面的Hostname一样。
[root@server5 ~]# systemctl start zabbix-agent
在服务器端(zabbix web )添加监控:
A:自动添加agent:
<1>自动发现规则:
自动发现规则主要针对企业批量添加主机,如果使用传统办法去单个添加设备、分组、项目、图像……,这是一个任务量巨大的一个工程,由此引入自动发现规则。
自动发现规则由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备,实现自动刚发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像等功能。
创建自动发现:
“配置“->“自动发现”->设定区间->“启用”->“更新”
点击Local network,进入自动发现规则;将ip设成自己的网段,点击更新;
进入配置——>动作选项,启用自动发现的动作:
首先查看监测中-->自动发现选项下是否出现server5
点击配置——>主机选项,等待几十秒,会出现server5;
<2>自动注册规则
Zabbix的自动注册规则主要用于Agent主动且自动向Server注册,适用于当前云环境下的监控。 Zabbix-Server在收到Zabbix-Agent的注册请求时,如果没有收到IP地址的值,则使用Zabbix-Agent和Zabbix-Server建立TCP连接时使用的IP地址。
1.停用自动发现规则
2.停用自动发现动作
3.删除之前加入到监测主机的server5
系统中只存在zabbix server对远程服务器进行监视:
4.创建自动注册:
配置“ –> “动作“ –>事件源选择 “自动注册“–>创建动作
动作
操作:
操作–>新的–>添加主机–>添加
操作–>新的–>添加到主机群组: Linux servers
操作–>新的–>链接到模板: Template OS Linux
更新并添加该动作
5.点击配置——>主机选项,等待几十秒,会出现server5;
B:手动添加:
1.停止自动注册;
2.创建主机
点击 配置——>主机——> 创建主机
填写主机名称(必须和zabbix_agentd.conf里面设置的Hostname一样)
添加主机群组Linux servers
3.添加模板
模板—>选择Template OS Linux—>添加—>添加
最后的效果图: